Skip to main content
Skip header
Terminated in academic year 2021/2022

Programming in Operating Systems

Type of study MasterFollow-up Master
Language of instruction English
Code 460-4112/04
Abbreviation PVOS
Course title Programming in Operating Systems
Credits 6
Coordinating department Department of Computer Science
Course coordinator Ing. Petr Olivka, Ph.D.

Subject syllabus

Lecture:

1. Working with processes, process creation and control. Signals processing.
2. Files processing and I/O device programming. Memory mapped files.
3. Blocking and nonblocking I/O operations. Synchronous and asynchronous I/O operation.
4. Sockets, settings parameters and behavior. Basic security.
5. Secure communication over SSL.
6. Advanced principles of inter-process communication, its efficiency, suitability.
7. OS diagnostics, data flow monitoring of I/O devices and processes.
8. Task scheduler features, RT processes.
9. Virtual OS types.
10. File systems, base features, journaling file systems, flash memory FS.
11. File system implementation in user space.
12. Device drivers - features, development and debugging.

Labs:
1. Processes, signals, signal masking.
2. Select and poll functions, blocking and nonblocking operation.
3. Asynchronous I/O operation.
4. Socket manipulation, setting of socket options.
5. Secure SSL communication.
6.-7. Inter-process communication.
8.-9. Communication with I/O devices.
10. File system implementation in user space.
11. Data flow monitoring.
12. Priority of processes and threads.





Literature

[1} W. Richard Stevens, Stephen A. Rago, Advanced Programming in the Unix environment, Addison-Wesley Professional; 3rd edition (May 24, 2013), ISBN: 0321637739 
[2] Robert Love, Linux System Programming: Talking Directly to the Kernel and C Library, O'Reilly Media; Second Edition edition (June 8, 2013), ISBN: 1449339530 
[3] Andrew S. Tanenbaum, Modern Operating Systems, Prentice Hall; 4 edition (March 20, 2014), ISBN: 013359162X 

Advised literature

[1] Richard Stones, Neil Matthew, Beginning Linux Programming, Wrox, 4. edition, ISBN-10: 0470147628