This course was developed for students which already have a strong background in C programming and Operating Systems. Practical assignments can be programmed under Windows (Win32) and Linux (e.g. Raspberry Pi). Major goals of the course include:
- Working with user and kernel mode in Linux and Windows.
- Understanding Device driver concepts like reading/writing, virtual/physical memory, dealing with hardware addresses.
- Synchronous and asynchronous kernel calls. Notification concepts.
- Queueing mechanisms.
- Creating APIs for new hardware components.