Course details
Advanced Operating Systems
POS Acad. year 2018/2019 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
- 65 pts final exam (written part)
- 15 pts mid-term test (written part)
- 20 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
- Open Sources: Voices from the Open Source Revolution (http://www.oreilly.com/catalog/opensources/book/toc.html), O'Reilly, 1999, ISBN 1-56592-582-3
- Andrews, G.R.: Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000, ISBN 0-201-35752-6
- Love, R.: Linux Kernel Development, Second Edition, Pearson Education, 2005, ISBN 0-672-32720-1
- 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 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 and by the final exam.
Course inclusion in study plans
- Programme IT-MGR-2, field MBI, MMI, 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