Linux Drivers
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
NI-OLI | Z,ZK | 4 | 2P+2C | Czech |
- Course guarantor:
- Miroslav Skrbek
- Lecturer:
- Miroslav Skrbek
- Tutor:
- Jaroslav Borecký
- Supervisor:
- Department of Digital Design
- Synopsis:
-
The Linux operating system is an important operating system for personal computer and also for embedded systems. Systems on chip and combining powerful processors and FPGAs increase the variability of peripheral subsystems requiring specific software drivers. This course is an advanced course in the Linux driver development for master's students. The course provides knowledge of Linux operating system architecture, principles of development of various types drivers, including practical experience.
- Requirements:
-
Computer architectures, programming in C, operating system Linux
- Syllabus of lectures:
-
1. Linux kernel
2. x86 and ARM processor platforms
3. Memory management and DMA
4. Input/output and interrupts
5. Parallelism in the kernel, synchronization
6. Virtual file systems
7. Kernel modules: structure, development, debugging
8. Character devices
9. Block devices
10. PCI driver
11. USB drivers
12. Network drivers
13. Multimedia drivers
- Syllabus of tutorials:
-
Various types of drivers are developed in labs. The labs are organized as a set of tasks solved by students within the semester. Both x86 and ARM platforms are involved.
- Study Objective:
-
The aim of the course is to teach students the Linux driver development. It is an advanced course providing deep insight to the Linux kernel and wide spectrum of drivers. Both x86 and ARM hardware platforms are included. In labs, the students develop drivers for PC and an embedded hardware.
- Study materials:
-
Corbet, J., Rubini, A., Hartman, G., K.: Linux Device Drives. O'REILLY Media Inc., 3 edition, USA, 2005. ISBN978-0-596-00590-0.
- Note:
- Further information:
- https://courses.fit.cvut.cz
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Bachelor program Informatics, unspecified branch, in Czech, 2015-2020 (elective course)
- Bachelor branch Security and Information Technology, in Czech, 2015-2020 (elective course)
- Bachelor branch Computer Science, in Czech, 2015-2020 (elective course)
- Bachelor branch Computer Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Information Systems and Management, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Web Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Computer Graphics, in Czech, 2015-2020 (elective course)
- Bachelor branch Knowledge Engineering, in Czech, 2018-2020 (elective course)
- Master specialization Computer Security, in Czech, 2020 (elective course)
- Master specialization Design and Programming of Embedded Systems, in Czech, 2020 (elective course)
- Master specialization Computer Systems and Networks, in Czech, 202 (elective course)
- Master specialization Management Informatics, in Czech, 2020 (elective course)
- Master specialization Software Engineering, in Czech, 2020 (elective course)
- Master specialization System Programming, in Czech, version from 2020 (elective course)
- Master specialization Web Engineering, in Czech, 2020 (elective course)
- Master specialization Knowledge Engineering, in Czech, 2020 (elective course)
- Master specialization Computer Science, in Czech, 2020 (elective course)
- Mgr. programme, for the phase of study without specialisation, ver. for 2020 and higher (elective course)
- Bachelor Specialization Information Security, in Czech, 2021 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2021 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2021 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Science, in Czech, 2021 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Master specialization System Programming, in Czech, version from 2023 (elective course)
- Master specialization Computer Science, in Czech, 2023 (elective course)
- Bachelor Specialization Information Security, in Czech, 2024 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2024 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2024 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2024 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Science, in Czech, 20214 (elective course)