Course details
Operating Systems
IOS Acad. year 2020/2021 Summer semester 5 credits
Guarantor
Deputy Guarantor
Language of instruction
Completion
Time span
Assessment points
Department
Lecturer
Instructor
Kočí Radek, Ing., Ph.D. (DITS FIT BUT)
Rogalewicz Adam, doc. Mgr., Ph.D. (DITS FIT BUT)
Smrčka Aleš, Ing., Ph.D. (DITS FIT BUT)
Subject specific learning outcomes and competences
Learning objectives
Why is the course taught
Prerequisites
Prerequisite kwnowledge and skills
Study literature
- Skočovský, L.: Principy a problémy operačního systému Unix, 2. vydání, 2008. (in Czech)
- Slides presented at the lectures and made accessible via the Internet.
Fundamental literature
- Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 9th edition, John Wiley & Sons, 2012.
- Tanenbaum, A.: Modern Operating Systems, 4th edition, Prentice Hall, 2014.
- Tanenbaum, A.S., Woodhull, A.S.: Operating Systems Design and Implementation, 3rd edition, Prentice Hall, 2006.
- Raymond, E.S.: The Art Of Unix Programming, Addison-Wesley, 2003.
- Yosifovich, P., Russinovich, M.E., Solomon, D.A., Ionescu, A.: Windows Internals, 7th edition, Microsoft Press, 2017.
Syllabus of lectures
- Introduction. Evolution of computers and operating systems (OS). Requirements on OS, classification of OS, standards. The basic terminology and the general structure of OS.
- The UNIX operating system. The history and the most important development branches. The basic principles and structure of UNIX. The structure of the UNIX kernel, its interface and the different forms of communication with the kernel.
- UNIX shell. Basic commands, programs, scripts. Special symbols. Input/output redirection, pipes, background processes, sub-shell. Variables, control structures.
- A basic introduction to programming in UNIX. Languages, compilers, principles of linking programs, dynamically linked libraries. Principles of the X-Window graphical user interface.
- Standard utilities of UNIX.
- File systems. The physical and logical structure of disks. Types of files, i-nodes, storing files on a disk.
- Access rights to files in UNIX, users and groups, the suid and sgid attributes, the typical structure of directories in a UNIX system.
- Input and output. The corresponding kernel services. Data structures and algorithms used by the input/output subsystem of the kernel.
- Management of processes. Loading the system, the init process. Fork, exec, exit, and wait calls. States of processes, scheduling.
- Memory management. Address spaces, address translation, memory pages.
- Virtual memory.
- Mutual exclusion, semaphores and other synchronization means.
- Typical synchronization tasks, deadlocks, starvation.
Syllabus - others, projects and individual work of students
- Creating scripts by means of UNIX shell and the standard utilities of UNIX.
- Process synchronization in UNIX using the C language.
Progress assessment
- Evaluation of the two home assignments individually solved by the students (max 30 points).
- Evaluation of a mid-term exam (max 10 points).
Controlled instruction
- Solving two individual home assignments, a combined final exam.
- The minimal number of points which must be obtained from the final exam is 27. Otherwise, no points will be assigned to a student.
Exam prerequisites
Course inclusion in study plans