Course Description
This course examines the important problems in operating system design and implementation. The operating system provides an established, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. The operating system is responsible for sharing resources (e.g., disks, networks, and processors), providing common services needed by many different programs (e.g., file service, the ability to start or stop processes, and access to the printer), and protecting individual programs from interfering with one another. The course will start with a brief historical perspective of the evolution of operating systems over the last fifty years and then cover the major components of most operating systems. This discussion will cover the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping), and file systems; and on operating system support for distributed systems.
Course Objectives
To have an overview of different types of operating systems.
To know the components of an operating system.
To have a thorough knowledge of process management.
To have a thorough knowledge of storage management.
To know the concepts of I/O and file systems.
Course Components
Introduction to Operating Systems, Computer System Structures, Operating System Structures
Processes and Threads
CPU scheduling
Process Synchronization
Deadlocks : Principles of deadlock, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, An Integrated Deadlock Strategies
Memory Management: Memory Management requirements, Memory partitioning: Fixed, dynamic, partitioning, Buddy System Memory allocation Strategies (First Fit, Best Fit, Worst Fit, Next Fit), Fragmentation, Swapping, Segmentation , Paging, Virtual Memory, Demand paging, Page Replacement Policies (FIFO, LRU, Optimal, clock) ,Thrashing, Working Set Model
Virtual Memory: Demand Paging – Process creation – Page Replacement – Allocation of frames – Thrashing - File Concept – Access Methods – Directory Structure – File System Mounting – File Sharing – Protection
Text book
Operating systems concepts - Eighth Edition, Silberschatz and Galvin, Addison-Wesley Inc.
(Seventh, Sixth and Fifth editions are fine as well).
In addition to the above, the students will be provided with handouts by the lecturer.
Learning Outcomes
Knowledge and understanding
Cognitive skills (thinking and analysis)
Communication skills (personal and academic)
Practical and subject specific skills (Transferable Skills)
Assessment Instruments
Makeup Policy
No missed tests without prior excuse. Each case will be handled separately based on its own merits. Makeup tests will be much more difficult than regularly scheduled tests. Each student is responsible for what is covered and assigned in any classes which they miss. Abuse of this policy will result in a loss of leniency.
Note that:
·This syllabus may change as the course progresses