Operating Systems - NSWI200
Title: Operační systémy
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2023
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2, MC [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Additional information: http://d3s.mff.cuni.cz/osy
Guarantor: prof. Ing. Petr Tůma, Dr.
Teacher(s): PhDr. Viktor Fuglík, Ph.D.
Mgr. Vojtěch Horký, Ph.D.
Bc. Jan Papesch
prof. Ing. Petr Tůma, Dr.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Software Engineering
Incompatibility : NSWI004, NSWX004
Interchangeability : NSWI004, NSWX004
Is incompatible with: NSWI004
Is interchangeable with: NSWI004
Opinion survey results   Examination dates   WS schedule   Noticeboard   
Annotation -
The course provides information on the operating system architecture and the features of process management, memory management, device drivers, file systems, networking, security. All features are shown on contemporary operating systems, implementation of selected features is practiced while creating an educational operating system. Note for combined study programs: the course requires activity during semester.
Last update: Hnětynka Petr, doc. RNDr., Ph.D. (04.01.2023)
Course completion requirements -

The course includes tests and practical assignments, graded on a percentage scale. The grading reflects correctness and for practical assignments additional evaluation criteria (documentation, design, style). Course credit requires getting at least 50 percent points in all graded aspects, the overall grade is determined from the point average (minimum 50 for "good", 70 for "very good", 85 for "excellent"). Given that an essential course credit requirement is systematic work during the semester, retakes are not possible.

Last update: Hnětynka Petr, doc. RNDr., Ph.D. (04.01.2023)
Literature -

Arpaci-Dusseau et al.: Operating Systems: Three Easy Pieces. http://www.ostep.org

Anderson et al.: Operating Systems Principles and Practice

Silberschatz et al.: Operating System Concepts

Tanenbaum et al.: Modern Operating Systems

MIPS R4000 Microprocessor User’s Manual

Intel 64 and IA-32 Architectures Software Developer's Manual

Last update: Hnětynka Petr, doc. RNDr., Ph.D. (04.01.2023)
Syllabus -

The roles of an operating system. Operating system architecture. Basic operating system concepts.

Process management. Processes and threads, lifecycle. Concurrency, scheduling, context switching. Communication, shared memory, message passing. Synchronization, synchronization problems, deadlock, starvation, types of waiting, synchronization tools.

Memory management. Virtualization, paging, segmentation, page replacement algorithms. Memory management within a process, code, heap, stack, garbage collection.

Devices. Device driver architecture, synchronous and asynchronous interfaces. Device drivers for specific devices.

File systems. User interface, abstractions, operations. Implementation, principles.

Last update: Hnětynka Petr, doc. RNDr., Ph.D. (04.01.2023)