Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Operating Systems

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
B4B35OSY Z,ZK 4 2P+2C Czech
Course guarantor:
Michal Sojka
Lecturer:
Michal Sojka, Petr Štěpán
Tutor:
Jan Chudoba, Matěj Kafka, Lukáš Maruniak, Michal Sojka, Petr Štěpán, Jiří Vlasák, Jiří Záhora
Supervisor:
Department of Control Engineering
Synopsis:

Lecture introduces operation system's basic concepts and principles as processes, threads, communication and synchronization, virtual memory, drivers, file systems, basic security aspects. These topics are theoretically described and demonstrated on Linux and Windows OS with multi-core systems. Practical exercises from OS in C programming language will be solved on labs. Students will work with Linux OS and micro-kernel NOVA.

Requirements:

C programming

computer architecture

Syllabus of lectures:

1. Computer architecture, OS history and types, OS components.

2. Interrupt and exception handling. System calls.

3. Processes, threads, context switch, scheduling, local vs. global scheduling, processor affinity.

4. Process synchronization, synchronization errors, shared resources (non-preemptive sections, semaphore, mutex, spin-lock, Java synchronize), deadlock.

5. Interprocess synchronization (signal, pipe, message passing)

6. Virtual memory, page fault, swapping, copy-on-write, process start, relocation, dynamic libraries.

7. Memory management, memory allocation (in OS kernel, in user space, heap).

8. Security, trusted computing base, buffer overflow, ASLR, antiviry, encryption.

9. Input/output, data storage, network interfaces, USB, HID, drivers (Linux, Win).

10. File systems, journalling, data integrity, disc cache.

11. Graphic subsystem, frame buffer, HW acceleration, parallel computationy.

12.Virtualization.

13. OS trends, mobile OS (Android)

14.

Syllabus of tutorials:

1. Introduction, shell, programming in C, makefile - programming test

2. shell, scripts.

3. System calls, Linux (assembler, C)

4. System calls, micro-kernel NOVA

5. Synchronization in C - exercise threads synchronization (Linux)

6. IPC exercise (pipe synchronization, signal handling, Linux)

7. ELF loading and starting (NOVA)

8. Thread switch (NOVA)

9. Semaphore, pre-emptive multitasking (NOVA)

10. Security, buffer overflow exploit (Linux)

11. Memory allocation (heap, Linux)

12. File system implementation (NOVA)

13. File system submission.

Study Objective:
Study materials:

1. TANENBAUM, Andrew S a Albert S WOODHULL. Operating systems design and implementation. 3rd ed. Upper Saddle River: Prentice-Hall, c2006, xvii, 1054 s. ISBN 0131429388.

2. http://wiki.osdev.org/

3. http://hypervisor.org/

Note:
Further information:
https://osy.pages.fel.cvut.cz/
Time-table for winter semester 2024/2025:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
roomKN:E-23
Kafka M.
11:00–12:30
(lecture parallel1
parallel nr.105)

Karlovo nám.
Laboratoř AB
roomKN:E-23
Štěpán P.
12:45–14:15
(lecture parallel1
parallel nr.107)

Karlovo nám.
Laboratoř AB
roomKN:E-23
Štěpán P.
14:30–16:00
(lecture parallel1
parallel nr.108)

Karlovo nám.
Laboratoř AB
roomKN:E-23
Štěpán P.
18:00–19:30
(lecture parallel1
parallel nr.109)

Karlovo nám.
Laboratoř AB
Wed
roomKN:E-23
Chudoba J.
09:15–10:45
(lecture parallel1
parallel nr.101)

Karlovo nám.
Laboratoř AB
roomKN:E-23
Chudoba J.
11:00–12:30
(lecture parallel1
parallel nr.102)

Karlovo nám.
Laboratoř AB
roomT2:H1-131
Maruniak L.
12:45–14:15
(lecture parallel1
parallel nr.103)

Dejvice haly
AlgDejvice
roomT2:H1-131
Maruniak L.
14:30–16:00
(lecture parallel1
parallel nr.106)

Dejvice haly
AlgDejvice
Thu
roomT2:H1-131
Sojka M.
09:15–10:45
(lecture parallel1
parallel nr.110)

Dejvice haly
AlgDejvice
roomT2:H1-131
Sojka M.
11:00–12:30
(lecture parallel1
parallel nr.111)

Dejvice haly
AlgDejvice
roomT2:D3-309
Sojka M.
Štěpán P.

14:30–16:00
(lecture parallel1)
Dejvice
T2:D3-309
Fri
Time-table for summer semester 2024/2025:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-10-12
For updated information see http://bilakniha.cvut.cz/en/predmet4683606.html