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

Operating Systems

The course is not on the list Without time-table
Code Completion Credits Range Language
B4B35OSY Z,ZK 4 2P+2C Czech
Garant předmětu:
Lecturer:
Tutor:
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/
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-03-29
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet4683606.html