460-2016/05 – 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 languageCzech
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
KLE0133 Ing. Lukáš Klein
OLI10 Ing. Petr Olivka, Ph.D.
SEI01 Ing. David Seidl, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+3
Part-time Credit and Examination 11+10

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

Practical knowledges are verified in each exercise on assigned and marked examples. Theoretical knowledges are verified by an exam.

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

Part-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
                Soubory, roury, procesy Other task type 15  8
                Meziprocesní komunikace Other task type 20  10
                FreeRTOS Other task type 10  5
        Examination Examination 55 (55) 28 3
                Programování, praktická část Written examination 25  13
                Teoretická část 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 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2024/2025 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2024/2025 (B0714A060023) Communication and Information Technology P Czech Ostrava 3 Optional study plan
2024/2025 (B0714A150003) Computer Systems for the Industry of the 21st. Century INF P Czech Ostrava 3 Compulsory study plan
2024/2025 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2024/2025 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2023/2024 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2023/2024 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2023/2024 (B0714A150003) Computer Systems for the Industry of the 21st. Century INF P Czech Ostrava 3 Compulsory study plan
2023/2024 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2023/2024 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2023/2024 (B0714A060023) Communication and Information Technology P Czech Ostrava 3 Optional study plan
2022/2023 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2022/2023 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2022/2023 (B0714A150003) Computer Systems for the Industry of the 21st. Century INF P Czech Ostrava 3 Compulsory study plan
2022/2023 (B0714A060023) Communication and Information Technology P Czech Ostrava 3 Optional study plan
2022/2023 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2022/2023 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2022/2023 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2021/2022 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2021/2022 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2021/2022 (B0714A150003) Computer Systems for the Industry of the 21st. Century INF P Czech Ostrava 3 Compulsory study plan
2021/2022 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2021/2022 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2020/2021 (B0714A150003) Computer Systems for the Industry of the 21st. Century INF P Czech Ostrava 3 Compulsory study plan
2020/2021 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan
2020/2021 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2020/2021 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2019/2020 (B0714A150003) Computer Systems for the Industry of the 21st. Century INF P Czech Ostrava 3 Compulsory study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics P Czech Ostrava 3 Optional study plan
2019/2020 (B0541A170008) Computational and Applied Mathematics K Czech Ostrava 3 Optional study plan
2019/2020 (B0613A140014) Computer Science INF P Czech Ostrava 3 Compulsory study plan
2019/2020 (B0613A140014) Computer Science INF K Czech Ostrava 3 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction



2023/2024 Winter
2022/2023 Winter
2021/2022 Winter