Operating Systems

Semestr: Summer

Range: 14+6s


Credits: 5

Programme type: Undefined

Study form: Parttime

Course language:


The lecture is designed to give students an overview of design principles and implementation techniques of operating systems. The lecture covers history and architecture of operating systems, methods of management of processes, memory, file systems and drivers for peripheral devices. Case studies for UNIX, VMS and WINDOWS-NT are given.


Course syllabus:

1. Introduction to operating systems. History and architecture of OS
2. Processes and their attributes, implementation of processes. Threads
3. Methods of interprocess communication, race conditions, mutual exclusion and critical sections
4. Synchronization of processes. Lower and higher level synchronization primitives
5. Classical problems of interprocess synchronization and their solutions
6. Allocation of the CPU - round robin, priority, combined methods. Deadlock - conditions and solutions
7. Memory management - simple methods (partitioning, swapping)
8. Memory management - paging, TLB memory, page replacement algorithms
9. Memory management - segmentation and combined techniques
10. File systems - requirements, implementation, performance. RAID disk arrays
11. Periheral devices - principles, different types of drivers
12. Case study - UNIX operating system
13. Case study - VMS operating system
14. Case study - WINDOWS-NT operating system

Seminar syllabus:

1. Organization of labs, hardware and software in the lab, requirements for the credit
2. UNIX operating system - architecture, commands for file and process manipulation
3. UNIX operating system - development of C and SHELL programs
4. Lab exercise - processes in UNIX
5. Lab exercise - files in UNIX
6. Lab exercise - memory management in UNIX
7. WINDOWS NT - architecture of the system, development of C programs
8. Lab exercise - processes in WINDOWS-NT
9. Lab exercise - files in WINDOWS-NT
10. Lab exercise - memory management in WINDOWS-NT
11. VMS operating system, DCL command language
12. Lab exercise - DCL programming
13. RAID disk arrays
14. Credit


1. Stallings, W. Operating Systems: Internals and Design principles. Upper Saddle River (NY): Prentice Hall 1998.
2. Tanenbaum, A.: Operating systems: Design and Implementation. Upper Saddle River (NJ): Prentice Hall 1997.
3. Stevens, W.R. Advanced programming in the UNIX Environment. Reading (MA): Addison-Wesley 1994.