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 graduateRequirementCompulsory
Year3Semesterwinter
Study languageCzech
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
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
Combined 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

E-learning

Další požadavky na studenta

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

Prerequisities

Subject codeAbbreviationTitleRequirement
460-8701 CPP Programming in C/C++ 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 points
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 45  23
        Examination Examination 55  28
Mandatory attendence parzicipation: The obligatory of exercises corresponds to required minimum of points to get credit.

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2019/2020 (B0714A150003) Computer Systems for the Industry of the 21st. Century 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 P Czech Ostrava 3 Compulsory study plan
2019/2020 (B0613A140014) Computer Science K Czech Ostrava 3 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner