Course details
Advanced Operating Systems
POS Acad. year 2021/2022 Summer semester 5 credits
Basic concepts, operating system kernel, kernel structure. Parallel programming and synchronization with a view to kernel synchronization. Deadlock, deadlock detection and prevention. Scheduling algorithms for uni-processor systems. Memory management, virtual memory, paging, virtual memory implementation. Input/Output, synchronous and asynchronous I/O, drivers, optimization of disk operations, File systems, disk space allocation, metadata structures, failure recovery, file system examples. Security and protection.
Guarantor
Language of instruction
Completion
Time span
- 39 hrs lectures
- 13 hrs projects
Assessment points
- 60 pts final exam (written part)
- 30 pts mid-term test (written part)
- 10 pts projects
Department
Lecturer
Instructor
Subject specific learning outcomes and competences
Students are acquainted with the parallel programming using POSIX threads, usage of synchronization primitives, virtual memory and file system.
A deeper understanding of computer systems and system programming.
Learning objectives
The goal is to acquaint students with the principles and concepts that are used as a basis of modern operating system kernels.
Recommended prerequisites
Prerequisite knowledge and skills
C language programming in Unix environment, computer architecture, Intel x86 assembler, basic principles of operating systems.
Study literature
- Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000, ISBN 0-201-35752-6
- Stevens, W.,R.: Advanced Programming in the UNIX Environment: Third Edition, Addison-Wesley Professional, 2013, ISBN 0-321-63773-9
- 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
- Bic, L., Shaw, A.C.: Operating Systems Principles, Prentice-Hall, 2003, ISBN 0-13-026611-6
- 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
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 uni-processor 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 uni-processor 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.
Syllabus - others, projects and individual work of students
- Threads and synchronization.
- Message passing in Unix.
- Signals and signal handling.
Progress assessment
Written mid-term exam (max. 15 points) and submitted projects in due date. Projects have to be submitted before the deadline, late project submission will be graded 0 points.
Controlled instruction
The knowledge of students is examined by the projects, half-term exam and by the final exam.
Course inclusion in study plans
- Programme IT-MGR-2, field MBI, any year of study, Compulsory-Elective group O
- Programme IT-MGR-2, field MBS, any year of study, Compulsory-Elective group S
- Programme IT-MGR-2, field MGM, 2nd year of study, Elective
- Programme IT-MGR-2, field MIN, MMM, MPV, any year of study, Elective
- Programme IT-MGR-2, field MIS, 1st year of study, Compulsory
- Programme IT-MGR-2, field MSK, 1st year of study, Compulsory-Elective group B
- Programme MITAI, field NADE, NBIO, NCPS, NEMB, NGRI, NHPC, NIDE, NISD, NISY, NISY up to 2020/21, NMAL, NMAT, NNET, NSEC, NSEN, NSPE, NVER, NVIZ, any year of study, Elective