Subject description - B4B35OSY
Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
14.
B4B35OSY | Operating Systems | ||
---|---|---|---|
Roles: | P | Extent of teaching: | 2P+2C |
Department: | 13135 | Language of teaching: | CS |
Guarantors: | Sojka M. | Completion: | Z,ZK |
Lecturers: | Sojka M., Štěpán P. | Credits: | 4 |
Tutors: | Too many persons | Semester: | Z |
Web page:
https://osy.pages.fel.cvut.cz/Anotation:
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.Course outlines:
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) |
Exercises outline:
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. |
Literature:
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/ |
Requirements:
C programming computer architecture Subject is included into these academic programs:Program | Branch | Role | Recommended semester |
BPOI1_2016 | Computer and Information Science | P | 3 |
BPOI_BO_2016 | Common courses | P | 3 |
BPOI4_2016 | Computer Games and Graphics | P | 3 |
BPOI3_2016 | Software | P | 3 |
BPOI2_2016 | Internet of Things | P | 3 |
BPOI_BO_2018 | Common courses | P | 3 |
BPOI4_2018 | Computer Games and Graphics | P | 3 |
BPOI3_2018 | Software | P | 3 |
BPOI2_2018 | Internet of Things | P | 3 |
BPOI1_2018 | Artificial Intelligence and Computer Science | P | 3 |
Page updated 13.10.2024 09:51:04, semester: L/2023-4, Z/2025-6, Z,L/2024-5, Send comments about the content to the Administrators of the Academic Programs | Proposal and Realization: I. Halaška (K336), J. Novák (K336) |