Theoretical and paractical course - practical assignments are based on MIT's XV6 operation system.
- Introduction: History of operating systems, components of an OS, architecture, I/O interrupts and system calls, OS commands.
- Process management: Process states, implementing processes, Threads, Unix implementation of processes.
- Scheduling: Paradigms; Unix; Modeling
- Synchronization: Synchronization primitives and their equivalence; semaphores; monitors; classical synchronization problems.
- Files systems: file system implementation; files operations implementation; buffer management; Directory and space management; Unix file system; Distributed file systems (NFS).
- Security: buffer overflow attack, hardware security, access control models, access control in UNIX.
- Virtualization: Virtual machines, type I and II hypervisors, classic virtualization, sensitive and privileged instructions.