The Operating Systems course teaches the main concepts and ideas behind modern operating systems and
operating system design and implementation, accompanied by examples from the Linux operating system.
Scope:
- Basic structure of an operating system
- System calls and how they work behind the scenes
- Redundant Array of Independent Disks
- File systems, usage of VFS and specific implementations: NTFS, AFS, ext, etc.
- Modes of operation
- Processes, threads, and scheduling models and algorithms
- Mutual exclusion and basics of multicore programming
- Paging and virtual memory, its structure and usage by processes and the operating system
- Network in the OS, sockets and basic network programming
- Drivers and kernel modules, their concepts, usage, and implementation
- Introduction to security and permissions in the OS
Course Requirements:
- Final exam
- 5 Homework exercises
- Final grade: 75% exam, 25% homework
Requisite Courses:
- Software Project (or equivalent knowledge in Linux and C)