460-4112/04 – Programming in Operating Systems (PVOS)
Gurantor department | Department of Computer Science | Credits | 6 |
Subject guarantor | Ing. Petr Olivka, Ph.D. | Subject version guarantor | Ing. Petr Olivka, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
Year | 1 | Semester | winter |
| | Study language | English |
Year of introduction | 2018/2019 | Year of cancellation | 2021/2022 |
Intended for the faculties | FEI | Intended for study types | Master, Follow-up Master |
Subject aims expressed by acquired skills and competences
The course goal is to introduce advanced programming methods in operating systems. The student will be able to design his programs effectively and use available programming techniques of operating system to design efficient programs. The student will be able to apply gained experience into additional programming languages.
Teaching methods
Lectures
Tutorials
Summary
Advanced programming techniques of operating system will be discussed in this subject. The student will learn more ways to communicate with the devices and sockets. He will also learn effective methods of interprocess communication.
Compulsory literature:
Recommended literature:
[1] Richard Stones, Neil Matthew, Beginning Linux Programming, Wrox, 4. edition, ISBN-10: 0470147628
Additional study materials
Way of continuous check of knowledge in the course of semester
Students will be fullfill asigned task during labs. The results of these tasks will form the basis for the final evaluation.
Overall knowledge and skills are verified during the final test, when students program an application on a computer according to the assignment.
E-learning
Other requirements
Experiences with programming in C/C++ language.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
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.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction
Předmět neobsahuje žádné hodnocení.