SubjectsSubjects(version: 891)
Course, academic year 2021/2022
  
Operating Systems - NSWI004
Title: Operační systémy
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2020
Semester: winter
E-Credits: 4
Hours per week, examination: winter s.:2/1 MC [hours/week]
Capacity: unlimited
Min. number of students: unlimited
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.
Class: Informatika Mgr. - Softwarové systémy
Classification: Informatics > Software Engineering
Incompatibility : NSWX004
Interchangeability : NSWX004
Is incompatible with: NSWX004
Is pre-requisite for: NSWI161
Is interchangeable with: NSWX004
Annotation -
Last update: TUMA (01.05.2007)
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.
Course completion requirements -
Last update: prof. Ing. Petr Tůma, Dr. (25.09.2020)

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.

Literature -
Last update: prof. Ing. Petr Tůma, Dr. (25.09.2020)

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

Syllabus -
Last update: prof. Ing. Petr Tůma, Dr. (25.09.2020)

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, RPC. 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 (busses, clock, keyboard, console, disks, network ...).

File systems. User interface, abstractions, operations. Implementation, principles, general and specialized file systems (FAT, NTFS, EXT, XFS ...).

Networking. User interface, abstractions, operations. Implementation, filtering, shaping. Applications, distributed file systems, distributed operating systems.

Security.

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html