Prerequisite DLD or Computer Architecture, Data Structures
Instructor
The course will start with a brief historical perspective of the
Aims and Objectives 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), file systems, and operating system support for distributed systems.
Text Books 1. Operating Systems Concepts, xxx edition, by Silberschatz,
Galvin and Gagne
Reference Books 1. Operating Systems by William Stallings
2. Linux All-in-One Desk Reference For Dummies, by Naba Barkakti
Assessment Criteria Sessional 25% Mid 25% Final 50%
Quizzes 10%
Assignments 5%
Project/Presentation 10%
Sixteen-week lecture plan
Week Lecture Topic
What Operating Systems Do, Computer-System Organization, Computer- 1 1,2 System Architecture, Operating-System Structure, Operating-System Operations, Process Management, Memory Management, Storage Management, Protection and Security, Distributed Systems, Special-Purpose Systems, 2 3,4 Computing Environments Operating System Services, User Operating System Interface, System Calls, Types of System Calls, System Programs, Operating System Design and 3 5,6 Implementation, Operating System Structure, Virtual Machines, Operating System Generation, System Boot Process Concept, Process Scheduling, Operations on Processes, Cooperating 4 7,8 Processes 5 9,10 Inter-process Communication, Communication in Client-Server Systems Software Requirement, Functional and nonfunctional requirement, Software 6 11,12 requirement document Basic Concepts, Scheduling Criteria, Scheduling Algorithms, Multiple-Processor 7 13,14 Scheduling, Real-Time Scheduling, Thread Scheduling, Operating, Systems Examples 8 15,16 Mid Term 9 17,18 Introduction, Producer Consumer problem, critical section, semaphore 10 19,20 Deadlock and starvation, Monitors The Deadlock Problem, System Model, Deadlock Characterization, Methods for 11 21,22 Handling Deadlocks, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, Recovery from Deadlock 12 23,24 Threads concepts, User level threads, kernel level threads, mapping of threads 13 25,26 Background, Swapping, Contiguous Memory Allocation 14 27,28 Paging, Structure of the Page Table, Segmentation Example: The Intel Pentium 15 29,30 Memory Management, Virtual Memory 16 31, 32 Virtual Memory