The course will enable the students to
Course Outcomes (COs):
Learning Outcome (at course level) | Learning and teaching strategies | Assessment Strategies |
The students will: CO 47.Categorize the key functions of an operating system and assess the evolution of operating systems from primitive batch systems to sophisticated multi-user systems. CO 48.Examine the concept of process states and review different schdeuling algorithms for a given scenario. CO 49.Analyze different memory management techniques and compare virtual memory and main memory CO 50.Categorize the conditions that cause deadloacks and assess deadlock prevention strategies related to each condition of deadlock CO 51.Assess the principal techniques for file organization, access and allocation.
| Approach in teaching: Interactive Lectures, Discussion, Tutorials, Reading assignments, Demonstration,
Learning activities for the students: Self-learning assignments, Effective questions, Simulation, Seminar presentation, Giving tasks. | Class test, Semester end examinations, Quiz, Solving problems in tutorials, Assignments, Presentation |
What is an Operating System, Simple Batch Systems, Multiprogrammed Batched Systems, Time-Sharing Systems, Personal-Computer Systems, Parallel Systems, Distributed Systems, and Real-Time Systems.
Operating-System Structures: System Components, Operating System Services, System Calls, System Structure, Virtual Machines.
Process Management: Process Concept, Process Scheduling, Operation on Processes.
CPU Scheduling: Basic Concepts, Scheduling Criteria.
CPU Scheduling Algorithms (FCFS, SJF, Priority, Round-Robin, Multilevel Queue, Multilevel Feedback Queue) Multiple-Processor Scheduling. Process Synchronization: Background, The Critical-Section Problem, Introduction to Semaphores. Deadlocks: System Model, Deadlock Characterization.
Deadlocks: Methods for Handling Deadlocks, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, and Recovery from Deadlock. Memory Management: Background, Logical versus Physical Address space, Swapping, Contiguous allocation (fragmentation), Paging, Segmentation.
Virtual Memory: Background, Demand Paging, Page Replacement, Page-replacement Algorithms (FIFO, Optimal, LRU, Counting). File Management: File Concepts (Operations & Attributes), Access Methods, Directory Structure, File System Structure, Allocation Methods (Contiguous Allocation, Linked Allocation, Indexed Allocation).
1. A. Silbersachatz and P.Galvin, “Operating System Concepts”, Addison-Wesley, 5th Ed., 2001.