1. Introduction to Operating System
Objectives, Introduction, Operating System Views, Responsibilities of an Operating System, Need of Operating System, Generation and History of Operating System, 1940’s – 50’s: Program = Computer, 1950’s – 60’s: Beginning of Batch Operating Systems, 1970’s – 80’s: Interactive Time Sharing (Multi-tasking) on Mainframes, 1980’s – Present: Personal Computers, Common Operating Systems (OS), Concepts of Operating System, Layered Architecture/Logical Structure of Operating System, Monolithic Operating System, Layered Operating System, Microkernel Operating System, Types of Operating System, Mainframe Operating System, Network Operating System, Multiprocessor Operating System, Personal Operating System, Real Time Operating System, Embedded Operating System, Smart Card Operating Systems, Distributed Operating System, Batch Operating System, Time Sharing Operating System, Operating System as Resource Manager, Operating System as Virtual Machine, Operating System Services, BIOS (Basic Input Output System), System Calls / Monitor Calls, Implementation of System Calls, Types of System Calls, Firmware, Boot Strap Loader, Summary, Review Questions, Answer Key.
2. Process Management
Objectives, Introduction, Process, Overview of Process and Operation, Process Model, Process Creation, Process Termination, Process States and Transitions, Process Table and Process Control Block (PCB), Process Hierarchies, Context Switch, Threads, Threading, Advantages of using Threads, Thread Structure, Implementation of Threads, Process Versus Thread, Multithreading Models, Many-to-One Model, One-to-One Model, Many-to-Many Model, Summary, Review Questions, Answer Key.
3. Inter Process Communication
Objectives, Introduction, Need for Special Mechanisms for Interprocess Communication, Shared Memory Technique, Message Passing Technique, Synchronization, Race Conditions, Exclusive and Non-Exclusive Locks, The Critical Section Problem, Mutual Exclusion with Busy Waiting, Sleep and Wake up Calls, Mutexes: Mutual Exclusion, Semaphores, Monitors, Classical Problems of Inter Process Communication, The Dining Philosophers Problem, The Sleeping Barber Problem, Producer Consumer Problem/Bounded Buffer Problem, Reader/Writer Problem, Summary, Review Questions, Answer Key.
4. Process Scheduling
Objectives, Basic Concepts of CPU Scheduling, CPU and I/O Bound, Process Schedulers, Dispatcher, Scheduling Criteria / Goals / Performance Metrics, Scheduling Algorithms, First Come First Served (FCFS), Shortest Job First (SJF), Round Robin Scheduling, Priority Scheduling, Multilevel Queue Scheduling, Multilevel Feedback-Queue Scheduling, Fair Share Scheduling, Multiple Processor Scheduling, Real Time Scheduling, Algorithm Evaluation, Deterministic Modelling, Queuing Models, Simulations, Solved Examples, Summary, Review Questions, Answer Key.
5. Deadlocks
Objectives, Introduction, System Model, Resources, Deadlock Characterization, Conditions for Deadlock, Deadlock Modelling, Deadlock Handling, Deadlock Prevention, Mutual Exclusion Prevention, Hold and Wait Prevention, No Preemption, Circular Wait Prevention, Deadlock Avoidance, Safe and Unsafe States, The Banker’s Algorithm for Single Instance of Resources, The Banker’s Algorithm for Multiple Instances of Resources, Deadlock Detection, Deadlock Detection with One Resource of each Type, Deadlock Recovery, Recovery through Rollback, Recovery through Killing Process, Recovery through Preemption, Solved Examples, Summary, Review Questions, Answer Key.
6. Memory Management
Objectives, Introduction to Memory Management Concept, Requirement of Memory Management, Degree of Multiprogramming, Address Binding, Logical Versus Physical Address Space, Dynamic Loading, Dynamic Linking Shared Libraries, Storage Structure, Storage Hierarchy, Swapping, Memory Management with Bitmaps, Memory Management with Linked Lists, Fit Algorithms, First Fit, Next Fit, Best Fit, Worst Fit, Quick Fit, Buddy’s System, Memory Management Techniques, Contiguous Memory Allocation, Fragmentation, Non-Contiguous Memory Allocation, Paging, Page Fault, Page Table, Paging Hardware, Address Translation, Hardware Support, Structure of the Page Table, Segmentation, Segmentation Hardware, Difference between Segmentation and Paging, Segmentation with Paging, Overlays, Solved Examples, Summary, Review Questions, Answer Key.
7. Virtual Memory
Objectives, Introduction, Address Space, Virtual Address Space, Physical Address Space, Shared Library, Runtime Binding, Demand Paging, Page Fault Frequency (PFF), Page Replacement, Page Replacement Algorithms, Locality of Reference, Frame Allocation, Allocation Algorithms, Thrashing, Insufficient Memory at a given Level in the Memory Hierarchy, The Program does not Exhibit Locality of Reference, Demand Segmentation, Distance String, Predicting Page Fault Rates, Design Issue for Paging System, Local Versus Global Allocation Policies, Load Control, Page Size, Separate Instruction and Data Space, Shared Pages, Cleaning Policy, I/O Interlock, Program Structure, Page Fault Handling, Solved Examples, Summary, Review Questions, Answer Key.
8. File System
Objectives, Introduction, Files Attributes and Naming, File Attributes, File Operations, File Types, File Structures, File Organization and Access Mechanism, Sequential/Serial File Organization, Direct Access/Random File Organization, Indexed Sequential File Organization, Allocation Methods, Contiguous Allocation, Linked Allocation, Indexed Allocation, File Protection, Access Protection, Identification of Users, Password Protection, Memory Mapped Files, Directory System, Directory Operations, Directory Structures, Filesystem Mounting, File Sharing, Types of File Sharing, Path Names, Summary, Review Questions, Answer Key.
9. Input Output Subsystem
Objectives, Basic Concept of Input/Output Subsystem, Standard I/O Functions, Mapping Generic Functions to Driver Functions, I/O Device, Spooling, Type of Spooling, Advantages of Spooling, Disadvantages of Spooling, Disk Structure, Disk Operations, Disk Attachment, Host Attached Storage, Network Attached Storage (NAS), Storage Area Network (SAN), Disk Storage Capacity, Efficiency and Performance of Disk, Efficiency of Disk, Performance of Disk, Disk Scheduling Algorithms, First-Come First-Served Disk Scheduling Algorithm (FCFS), Shortest Seek Time First Disk Scheduling Algorithm (SSTF), SCAN Disk Scheduling Algorithm, Circular-SCAN Disk Scheduling Algorithm, LOOK and C-LOOK Scheduling, Solved Examples, Summary, Review Questions, Answer Key.
10. Security
Objectives, Introduction, Methods of Protection, Types of Security, Viruses, Classification of Viruses, Security Threats, Attacks and Vulnerabilities, Natural Disasters, Human Threats, Program Threats, Firewall, Trusted System, Capability Based Systems, Protection in Capability Based Systems, Access Matrix, User Authentication, Passwords, Password Vulnerabilities, Encrypted Passwords, One-Time Passwords, Biometrics, Review Questions, Answer Key.
11. Case Study: Linux
Objectives, Introduction, Linux History, The Linux Kernel, The Linux System, Linux Distributions, Components of a Linux System, Kernel Modules, Linux System Call, Process Management, The fork( ) and exec( ) Process Model, Process Scheduling, Memory Management, Management of Physical Memory, Virtual Memory, Execution and Loading of User Programs, File Systems, The Virtual File System, The Linux ext2fs File System, Journaling, The Linux proc File System, Input and Output, Interprocess Communication, Security, Authentication, Access Control.
12. Case Study: Window XP
Objectives, Introduction, History, Design Principles, Security, Reliability, Windows and POSIX Application Compatibility, High Performance, Extensibility, Portability, International Support, System Components, Hardware-Abstraction Layer, Kernel, Executive, Windows System Calls, File System, NTFS Internal Layout, Recovery, Volume Management and Fault Tolerance, File Allocation Table, NTFS, Security, File Permissions, Windows Defender, Firewall, Encrypting File System, Data Execution Prevention, Process Management, Instance Handles, Scheduling Rule, Thread Priorities, Thread Synchronization, Fibers, Thread Pool, Interprocess Communication, Memory Management, Virtual Memory, Memory-Mapping Files, Heaps, Thread-Local Storage.
P. Papers