Course details

Operating Systems

IOS Acad. year 2024/2025 Summer semester 5 credits

The concept of an operating system (OS) as a part of software of a computer system. Architectures of operating systems, a classification of operating systems. An overview of the contemporary operating systems. The kernel of UNIX, its structure, graphical and textual interfaces, command languages. Process management, context switching, scheduling, interprocess communication. Memory management, paging, virtual memory. Synchronization of processes, semaphores and other synchronization means, deadlock, starvation.

Guarantor

Course coordinator

Language of instruction

Czech, English

Completion

Credit+Examination (written)

Time span

  • 39 hrs lectures
  • 13 hrs projects

Assessment points

  • 60 pts final exam
  • 10 pts mid-term test
  • 30 pts projects

Department

Lecturer

Instructor

Learning objectives

The goal is to acquaint students with the principles of operating systems in general and with the basic concepts of the UNIX operating system.
Students are acquainted with the basic principles of operating systems (with emphasis on the UNIX operating system) and they understand the influence of operating systems upon the operation of complex computing systems. Students are able to exploit scripts for solving various tasks in a UNIX-based environment.

Recommended prerequisites

Prerequisite knowledge and skills

Basic knowledge of programming in C.

Syllabus of lectures

  1. Introduction. Evolution of computers and operating systems (OS). Requirements on OS, classification of OS, standards. The basic terminology and the general structure of OS.
  2. 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.
  3. UNIX shell. Basic commands, programs, scripts. Special symbols. Input/output redirection, pipes, background processes, sub-shell. Variables, control structures.
  4. A basic introduction to programming in UNIX. Languages, compilers, principles of linking programs, dynamically linked libraries. Standard utilities of UNIX.
  5. File systems. The physical and logical structure of disks. Types of files, i-nodes, storing files on a disk.
  6. Access rights to files in UNIX, users and groups, the suid and sgid attributes, the typical structure of directories in a UNIX system.
  7. Input and output. The corresponding kernel services. Data structures and algorithms used by the input/output subsystem of the kernel.
  8. Management of processes. The notion of a process, its states, and representation in the system. Loading the system, the init process. The fork, exec, exit, and wait calls.
  9. Basic algorithms of process scheduling.
  10. Mutual exclusion, semaphores and other synchronization means.
  11. Typical synchronization tasks. Deadlocks and dealing with them.
  12. Memory management. Address spaces, address translation, memory pages.
  13. Virtual memory.

Syllabus - others, projects and individual work of students

  1. Creating scripts by means of the UNIX shell and the standard utilities of UNIX.
  2. Process synchronization in UNIX using the C language.

Progress assessment

  • Evaluation of two home assignments individually solved by the students (max 30 points).
  • Evaluation of a mid-term exam (max 10 points).


  • Two individual home assignments, a half-semester test, a combined final exam (a compulsory written part, an oral part in border cases).
  • The minimal number of points that must be obtained from the final exam is 27. Otherwise, no points will be assigned to a student.

How to contact the teacher

  • Primary contact by email by means of which individual consultations with lecturers and people responsible for exercises (assigned to groups of students during the semester) can be arranged.
  • Possibility of discussing through web forums of the course (established during the semester).

Schedule

DayTypeWeeksRoomStartEndCapacityLect.grpGroupsInfo
Thu lecture lectures E104 E112 09:0011:50294 1BIB 2BIA 2BIB 30 - 49 xx Rogalewicz
Thu lecture 1., 2., 3., 4., 5., 6., 7., 9., 10., 11., 12., 13. of lectures E105 09:0011:50294 1BIB 2BIA 2BIB 30 - 49 xx Rogalewicz
Thu lecture 1., 2., 3., 4., 5., 6., 7., 8., 11., 12., 13. of lectures D0206 14:0016:50560 1BIA 2BIA 2BIB 10 - 29 xx Rogalewicz
Thu lecture 1., 2., 3., 4., 5., 6., 7., 11., 12., 13. of lectures D0207 D105 14:0016:50560 1BIA 2BIA 2BIB 10 - 29 xx Rogalewicz
Thu lecture 2025-04-10 D0206 D0207 D105 14:0016:50560 1BIA 2BIA 2BIB 10 - 29 xx Lengál
Thu lecture 2025-04-17 D0206 D0207 D105 14:0016:50560 1BIA 2BIA 2BIB 10 - 29 xx Smrčka

Course inclusion in study plans

  • Programme BIT, 1st year of study, Compulsory
  • Programme BIT (in English), 1st year of study, Compulsory
Back to top