460-2016/06 – Operating Systems (OSY)

Gurantor departmentDepartment of Computer ScienceCredits5
Subject guarantorIng. Petr Olivka, Ph.D.Subject version guarantorIng. Petr Olivka, Ph.D.
Study levelundergraduate or graduateRequirementOptional
Year3Semesterwinter
Study languageEnglish
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
KRU13 Mgr. Ing. Michal Krumnikl, Ph.D.
OLI10 Ing. Petr Olivka, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+3

Subject aims expressed by acquired skills and competences

Course goal is to introduce functionality of operating system, describe its parts, explain their usage and show practical implementation.

Teaching methods

Lectures
Tutorials
Project work

Summary

The subject represents basic priciples and implementation methods of operating systems. Principles of modern operating systems, their functions and used methods. Even there are lectured universal methods, this subject is focused to Unix family. After this study, students will bi able write program with processes and threads and some base types of interprocess comunication.

Compulsory literature:

Tanenbaum, Andrew S.: Operating Systems: Design and Implemetation (Prentice-Hall, 1987) Tanenbaum, Andrew S. Bos H.: Modern Operating Systems Prentice Hall Press, 2014 Cvičení: Neil Matthew, Richard Stones: Linux - Beginning Linux Programming A. D. Marshall, Programming in C - UNIX System Calls and Subroutines using C, http://www.cs.cf.ac.uk/Dave/C/

Recommended literature:

Daniel P. Bovet, Marco Cesani: Understanding the Linux Kernel (O'Reilly, 2003) Stevens Richard W.: Advanced programming in the Unix Environment (Addison--Wesley, 1993) Stevens Richard W.: UNIX Network Programming, Volume 1 (Prentice Hall PTR, 1998) Stevens Richard W.: UNIX Network Programming, Volume 2 (Prentice Hall PTR, 1999)

Way of continuous check of knowledge in the course of semester

E-learning

Other requirements

Good skill of programming in C/C++. Base knowledges of OS Linux usage.

Prerequisities

Subject codeAbbreviationTitleRequirement
460-2052 UPR Introduction to Programming Recommended

Co-requisities

Subject has no co-requisities.

Subject syllabus:

1. History of Operating systems, their conception and structure. 2. Processes, threads, interprocess communication, race condition, critical section. 3. Interprocess communication, semaphores, monitors, messages, shared memory. 4. Process scheduling, Round-Robin, priority, multiple queues, RT scheduling. 5. OS memory management, virtual memory, paging, page replacement algorithms. 6. Input and output devices, interrupt handling, device drivers, buffers. 7. Deadlock, the occurrence of deadlock, deadlock prevention. 8. File systems - files, directories, implementation of file systems. 9. Security in OS, security of processes and files. 10. Selinux, conception, access control, rules, commands. 11. Virtualization, principles and virtualization levels, usage. 12. RT operating systems, FreeRTOS for embeded devices. 13. FreeRTOS, base programm conception, threads, synchronization. 14. ROS - Robotic OS, conception, nodes, services, topics, commands. Labs: 1. Programming in OS Linux, Makefile, IDE. 2. Static and dynamic libraries. SSH as remote shell. 3. Processes, process creation, interprocess communication via pipes. 4. Processes, new program in process, redirection of standard input and output. 5. Sockets, socket server, socket client. 6. Threads usage in processes. 7. Usage of semaphores in interprocess communication. 8. Shared memory and message queue for interprocess communication. 9. Threads and their synchronization. 10. Virtualization, virtual computer, configuration, snapshots. 11. Selinux, base conception, control and settings. 12. FreeRTOS, tasks, device control via GPIO. 13. FreeRTOS, tasks synchroznization, communication with PC. 14. ROS, nodes, commands, new node programming. Project: Implementation of some well-known IPC problems with socket communication.

Conditions for subject completion

Full-time form (validity from: 2018/2019 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 45 (45) 23
                Files, pipes, processes Other task type 15  8
                Interprocess communication Other task type 20  10
                FreeRTOS Other task type 10  5
        Examination Examination 55 (55) 28 3
                Programming, practical part Written examination 25  13
                Theoretical part Oral examination 30  15
Mandatory attendence participation: Participation in exercises is mandatory and it is checked. The course guarantor will inform students about the amount of compulsory participation at the beginning of the semester.

Show history

Conditions for subject completion and attendance at the exercises within ISP: Completion of all mandatory tasks within individually agreed deadlines.

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2024/2025 (B0613A140010) Computer Science INF P English Ostrava 3 Compulsory study plan
2023/2024 (B0613A140010) Computer Science INF P English Ostrava 3 Compulsory study plan
2023/2024 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan
2022/2023 (B0613A140010) Computer Science INF P English Ostrava 3 Compulsory study plan
2022/2023 (B0714A150004) Computer Systems for the Industry of the 21st. Century INF P English Ostrava 3 Compulsory study plan
2022/2023 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Optional study plan
2021/2022 (B0613A140010) Computer Science INF P English Ostrava 3 Compulsory study plan
2021/2022 (B0714A150004) Computer Systems for the Industry of the 21st. Century INF P English Ostrava 3 Compulsory study plan
2021/2022 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Optional study plan
2020/2021 (B0714A150004) Computer Systems for the Industry of the 21st. Century INF P English Ostrava 3 Compulsory study plan
2020/2021 (B0613A140010) Computer Science INF P English Ostrava 3 Compulsory study plan
2020/2021 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan
2019/2020 (B0714A150004) Computer Systems for the Industry of the 21st. Century INF P English Ostrava 3 Compulsory study plan
2019/2020 (B0613A140010) Computer Science INF P English Ostrava 3 Compulsory study plan
2019/2020 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner
EFREI 2023/2024 Full-time English Optional 401 - Study Office stu. block
EFREI 2022/2023 Full-time English Optional 401 - Study Office stu. block
EFREI 2021/2022 Full-time English Optional 401 - Study Office stu. block
EFREI 2020/2021 Full-time English Optional 401 - Study Office stu. block

Assessment of instruction



2023/2024 Winter