Lecturer(s)
|
-
Outrata Jan, doc. Mgr. Ph.D.
-
Krajča Petr, Mgr. Ph.D.
-
Večerka Arnošt, RNDr.
|
Course content
|
Overall structure and working principles of OSs and their individual parts are discussed. Particular ways of solving some task of OS and technologies used in modern OSs are shown on Microsoft Windows NT and GNU/Linux systems (as a unix-like OS). Besides operating systems parts also a brief introduction to the assembler programming language is included, in which the critical parts of OSs dependent on hardware are implemented. <ol> <li> Programming in the assembler language, machine instructions and their processing. </li> <li> Execution control, calling of subroutines, interrupts. </li> <li> Functions and importance of operating systems, types of operating systems, historical survey. </li> <li> Opearting system architecture. Hardware devices management, device drivers. </li> <li> Process and processor management, process and its life cycle, processor allocation, processes and threads. </li> <li> Process and thread synchronization. Critical section. Deadlock, conditions for it, detection, prevention and avoidance. </li> <li> Implementation of synchronization in operating system, atomic operations, synchronization primitives (semaphores, mutexes), active and passive waiting. </li> <li> Operating memory management. Virtual memory. </li> <li> Disk space and file managament (filesystems), disk arrays. </li> <li> Security in operating systems, classes of security. </li> </ol>
|
Learning activities and teaching methods
|
Lecture, Laboratory Work
|
Learning outcomes
|
The course is devoted to theoretical and practical fundamentals of modern (of the day) operating systems (OS).
5. Synthesis Recognise and formulate problems that are amenable to operating systems.
|
Prerequisites
|
User level knowledge of mentioned OSs only is assumed.
|
Assessment methods and criteria
|
Oral exam, Student performance
Exam: combined, written test, evaluation of home works.
|
Recommended literature
|
-
Abraham Silberschatz, Peter B. Galvin, Greg Gagne. (2012). Operating System Concepts (9th Edition). Wiley.
-
Andrew S. Tanenbaum, ALbert S. Woodhull. (1997). Operating Systems: Design and Implementation. Prentice Hall.
-
Jelínek L. (2008). Jádro systému Linux: kompletní průvodce programátora. Computer Press.
-
Jonathan Levin. (2017). MacOS and iOS Internals, Volume I: User Mode. Technologeeks Press.
-
Jonathan Levin. (2017). MacOS and iOS Internals, Volume III: Security & Insecurity. Technologeeks Press.
-
Keprt A. (2008). Assembler. Univerzita Palackého.
-
Pavel Yosifovich, Mark E. Russinovich, David A. Solomon, Alex Ionescu. (2017). Windows Internals, Part 1: System architecture, processes, threads, memory management, and more (7th Edition).
-
Tanenbaum, A. (2016). Modern Operating Systems. Pearson India.
-
William Stallings. (2017). Operating Systems: Internals and Design Principles (9th Edition). Person.
|