BIE-OSY – Operating Systems


Students understand the classical theory of operating systems (OS) in addition to the knowledge gained in the BI-UOS module. They get a solid knowledge of OS kernels, processes and threads implementations. They understand the problems of race conditions and principles and algorithms for critical sections, thread scheduling, resource allocation, deadlocks. They understand the techniques of managing virtual memory, principles and architectures of disks and disk arrays, file systems and peripheral devices. They gain basic knowledge necessary for developing system applications or for system administration. They are able to design and implement simple multithreaded applications.

Lecture Program

  1. Introduction. OS architecture and functions. OS kernel.
  2. Processes and threads, management and implementation.
  3. Race conditions. Critical section. Synchronization primitives.
  4. Classical process synchronization problems and their solutions.
  5. Thread scheduling.
  6. Resource allocation. Deadlock.
  7. Memory allocation - basic methods.
  8. Virtual memory. Paging. Segmentation.
  9. Page replacement algorithms.
  10. Physical disks and RAID.
  11. File systems – properties.
  12. File systems – implementation, examples (fat, ntfs, ufs, zfs).
  13. I/O, peripheral devices. Communication of the OS with a peripheral device.

Labs Program

  1. Introduction. Project assignment.
  2. System calls.
  3. Threads.
  4. Thread synchronization.
  5. [2] Consultation.
  6. Presentation of the first project (threads).
  7. Processes.
  8. Process synchronization.
  9. [2] Consultation.
  10. Presentation of the second project (processes).

Last modified: 7.9.2010, 11:10