Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2019/2020

Operating Systems

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
B4B35OSY Z,ZK 4 2P+2C Czech
Lecturer:
Michal Sojka (guarantor), Petr Štěpán
Tutor:
Michal Sojka (guarantor), Jan Chudoba, 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:
Time-table for winter semester 2019/2020:
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
roomT2:H1-131
Sojka M.
11:00–12:30
(lecture parallel1
parallel nr.105)

Dejvice haly
AlgDejvice
roomKN:E-2
Štěpán P.
12:45–14:15
(lecture parallel1
parallel nr.107)

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

Karlovo nám.
Laboratoř PC
roomKN:E-2
Štěpán P.
16:15–17:45
(lecture parallel1
parallel nr.109)

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

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

Karlovo nám.
Laboratoř PC
roomT2:H1-131
Záhora J.
12:45–14:15
(lecture parallel1
parallel nr.103)

Dejvice haly
AlgDejvice
roomT2:H1-131
Záhora J.
14:30–16:00
(lecture parallel1
parallel nr.104)

Dejvice haly
AlgDejvice
Thu
roomT2:H1-131
Vlasák J.
09:15–10:45
(lecture parallel1
parallel nr.110)

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

14:30–16:00
(lecture parallel1)
Dejvice
Posluchárna
roomT2:H1-131
Vlasák J.
11:00–12:30
(lecture parallel1
parallel nr.111)

Dejvice haly
AlgDejvice
Fri
Time-table for summer semester 2019/2020:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2019-12-09
For updated information see http://bilakniha.cvut.cz/en/predmet4683606.html