Course title: Operating Systems
Number of credits (ECTS): 6
Weekly number of classes: 2+2+1+0
Prerequisite for enrollment of the subject: Passed: Data Structures and programming, Programming and Algorithms.
Course Goals (acquired competencies): Getting to know the concepts of operating systems, processes, process synchronization, memory management, drivers for I/O devices. After finishing this course the student will be able to work with operating systems and will have a basic knowledge of drivers.
Total available number of classes: 180
Course Syllabus: Organisation of computer systems. OS concepts. OS development. OS elements. OS architectures. OS cores. Microkernel architecture. Virtualization and types of virtual machines. Introduction to processes. Processes in OS. Creating and managing processes. Threads. Managing threads. Process scheduling on one-core and multi-core systems. Interprocess communication and synchronization of processes. Semaphores. Mutex. Monitors. File systems in OS. Memory management. Virtual memory. I/O devices. Modules and drivers.
|Andrew S. Tanenbaum, Herbert Bos||Modern Operating Systems, 4th Ed.||Pearson||2014|
|Andrew S. Tanenbaum, Albert WoodHull||Operating systems design and implementation, 3 Ed.||Pearson||2006|
|Silberschatz A., Galvin P.B., Gagne G.||Operating systems concepts. 9th Ed.||Wiley||2012|