Course details
Advanced Operating Systems
Guarantor
Language of instruction
Completion
Time span
- 39 hrs lectures
- 13 hrs projects
Department
Recommended prerequisites
Study literature
- Bic, L., Shaw, A.C.: Operating Systems Principles, Prentice-Hall, 2003, ISBN 0-13-026611-6
- Open Sources: Voices from the Open Source Revolution, O'Reilly, 1999, ISBN 1-56592-582-3
- Love, R.: Linux Kernel Development, Second Edition, Pearson Education, 2005, ISBN 0-672-32720-1
Fundamental literature
- Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000, ISBN 0-201-35752-6
- Bic, L., Shaw, A.C.: Operating Systems Principles, Prentice-Hall, 2003, ISBN 0-13-026611-6
- Nutt, G.J.: Operating Systems: A Modern Perspective, Addison-Wesley, 2000, ISBN 0-201-61251-8
- Vahalia, U.: Unix Internals: The New Frontiers, Prentice-Hall, 1996, ISBN 0-13-101908-2
- Schimmel, K.: UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers, Addison-Wesley, 1994, ISBN 0-201-63338-8
- McKusick, M.K., Neville-Neil, G.V.: The Design and Implementation of the FreeBSD Operating System, Addison-Wesley, 2004, ISBN 0-201-70245-2
- Stevens, W.,R.: Advanced Programming in the UNIX Environment: Second Edition, Addison-Wesley Professional, 2005, 0-201-43307-9
Syllabus of lectures
- Kernel structure, interface, system calls, context switch, interrupts, system interface, Unix systems interface, standardization, SVID, XPG.
- Processes and POSIX threads, creating processes and threads, threads implementation.
- Parallel programming, synchronization, synchronization basics, mutual exclusion using memory read&write.
- Synchronization using special instructions on uniprocessor and multiprocessor systems with shared memory, priority inversion and solution.
- Synchronization tools and programming languages frameworks, classical synchronization tasks and their solutions.
- Processor scheduling, strategy, implementation, scheduling algorithms for uniprocessor systems.
- Resource allocation, deadlock, deadlock avoidance, solutions for CR and SR systems.
- Memory architecture, paging, page tables and TLB.
- Virtual memory, paging algorithm, page replacement algorithms.
- Practical aspects of virtual memory - code sharing, memory sharing, locking, dynamic libraries, file mapping, kernel memory.
- Input and output, drivers, synchronous and asynchronous operations, disk I/O optimization.
- Files systems, organization, space allocation, free space allocation, failure recovery, Unix file systems, BSD FFS and log based file systems.
- Security and protection, system access, data protection, security risks.
Course inclusion in study plans
- Programme IT-MGR-2, field MBI, MMI, MSK, 1st year of study, Compulsory-Elective
- Programme IT-MGR-2, field MBS, any year of study, Compulsory-Elective
- Programme IT-MGR-2, field MGM, 2nd year of study, Elective
- Programme IT-MGR-2, field MIN, MMM, MPS, MPV, any year of study, Elective
- Programme IT-MGR-2, field MIS, 1st year of study, Compulsory