Linux Drivers
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
MI-OLI | Z,ZK | 4 | 2P+2C | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- 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
- No time-table has been prepared for this course
- The course is a part of the following study plans: