University of Gujrat Department of Information Technology Title Operating System Code IT-205 Credit Hours 3.0 Prerequisite DLD or Computer Architecture, Data Structures Instructor Aims and Objectives 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), file systems, and operating system support for distributed systems. Text Books 1. Operating Systems Concepts, 10th 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, 2 3,4 Protection and Security, Distributed Systems, Special-Purpose Systems, Computing Environments Operating System Services, User Operating System Interface, System Calls, 3 5,6 Types of System Calls, System Programs, Operating System Design and Implementation, Operating System Structure, Virtual Machines, Operating System Generation, System Boot 4 7,8 5 9,10 6 11,12 Process Concept, Process Scheduling, Operations on Processes, Cooperating Processes Inter-process Communication, Communication in Client-Server Systems Software Requirement, Functional and nonfunctional requirement, Software 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