CS 407 Principles of Operating Systems
Course Structure: Lectures: 3 Labs: 0 Credit Hours: 3
Prerequisites: None
Course Outline
What is OS? Types of OS (Simple Batch System, Multi Programmed Batch System, Time Sharing System, Personal Computer System, Parallel Systems, Distributed Systems, Real-time Systems, Clustered System) Operating Systems Organization Factors in OS design (Performance, Protection & Security, Correctness, Maintainability), Basic Functions (I/O Management, Process Management, Memory Management & File Management), Basic implementation consideration (Processor modes, Kernel, Requesting OS services) Computer-System Structures Computer System Operation, I/O Structure (I/O, Interrupts, DMA Structures), Storage Structures (Main memory, Magnetic Disks, Magnetic Tapes), Storage Hierarchy (Caching, Coherency & Consistency), Hardware Protection (Dual-Mode Operation, I/O Protection, Memory Protection, CPU Protection) Operating System Structures System Components (Process Management, Main Memory Management, File Management, I/O Management, Secondary Storage Management, Networking, Protection System, Command –Interpreter Systems), Operating System Services, System Calls & its types (Process job control, File manipulation & Device management, Information Maintenance & Communication) Process Management Process concept (Process, Process states, Process Control Block, Threads), Process Scheduling (Scheduling Queues, Schedulers Context Switching), Operation on processes (Process Creation, Process Termination), Inter-process Communication (Message passing system, Naming i.e. “Direct Communication, Indirect Communication”, Buffering, Synchronization), Exception conditions, Process terminates, last messages, Scrambled messages CPU Scheduling Basic concepts (CPU-I/O Burst Cycle, CPU scheduler, Preemptive scheduling, Dispatcher), Scheduling Criteria, Scheduling Algorithms (1st - come 1st Serve Scheduling, Shortest job First scheduling, Priority scheduling, Round-Robin scheduling, Multilevel Queue scheduling), Multiprocessor scheduling, Real time scheduling, Algorithm evaluation (Deterministic Modeling, Queuing Models, Simulations, Implementations) Dead locks System Model, Deadlock characterization, Necessary conditions, Resource Allocation graph, Methods for Handling Deadlocks, Dead lock prevention, Mutual Exclusion, Hold & Wait, No preemption, Circular Wait, Deadlock Avoidance, Safe State, Resource-allocation Graph Algorithms, Banker’s algorithm, Safety algorithm), Resource request algorithm (Deadlock detection, Single instance of each resource type, Several instance of resource type, Detection Algorithm Usage, Dead lock Recovery (Process termination, Resource preemption) Memory Management Background (Address Binding, Dynamic loading, Dynamic linking, Overlays, Logical Vs Physical Addresses), Swapping, Contiguous Memory Allocation (Single Partition Allocation, Multiple Partition Allocation, External & Internal Fragmentation), Paging (Basic methods & Hardware Implementation, Protection, structure of Page table, Shared Pages), Segmentation (Basic Method, Hardware, Protection & Sharing, Fragmentation) File System Interface (File Management)
Basic File concept (File Attributes, File Operations, File types, File Structure (Internal file structure, Access Methods), Sequential Access (Direct Access, other Access Methods), Directory Structure, Single level directory, Two level Directory, Tree structured Directory, A cyclic-Graph Directories, Protection
Text/Reference/Recommended Books: