Goal:
The aim of the course is to familiarize students with the theory, development, and purpose of operating systems, as well as modern operating systems and related technologies. The aim of the course is to provide students with practical experience in managing client and server operating systems, both command line and graphical interface systems, while reviewing their theoretical operation, and to familiarize them with and practice engineering processes in this field through the design, implementation, testing, and documentation of their own installed systems.
Course description:
During the lectures, students will learn about the main tasks of operating systems, the development of the components that perform each task, and the solutions used in currently popular operating systems (Windows, Unix versions, Linux).
Topics: History of operating systems, Major operating systems, Architecture of operating systems, Main functions (purpose, design space, real-world examples): process and thread management, scheduling, memory management, I/O management – with a focus on file management and file systems, Virtualization from an operating system perspective.
During the exercises, students review the user and administrative use of client and server operating systems, the automation of system tasks, and the management of server services. In addition, during the semester, they gain experience in installing, configuring, and testing systems and services by setting up their own virtualized server-client architecture.