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:
-
- Master branch Knowledge Engineering, in Czech, 2016-2017 (elective course)
- Master branch Computer Security, in Czech, 2016-2019 (elective course)
- Master branch Computer Systems and Networks, in Czech, 2016-2019 (elective course)
- Master branch Design and Programming of Embedded Systems, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Info. Systems and Management, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Software Engineering, in Czech, 2016-2019 (elective course)
- Master branch Web and Software Engineering, spec. Web Engineering, in Czech, 2016-2019 (elective course)
- Master program Informatics, unspecified branch, in Czech, version 2016-2019 (elective course)
- Master branch System Programming, spec. System Programming, in Czech, 2016-2019 (elective course)
- Master branch System Programming, spec. Computer Science, in Czech, 2016-2017 (elective course)
- Master specialization Computer Science, in Czech, 2018-2019 (elective course)
- Master branch Knowledge Engineering, in Czech, 2018-2019 (elective course)