Device Drivers

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.