Operating Systems
Lecture Schedule
I. Introduction & Background ---- 6 Hrs
1.1 What is OS
1.2 Functions & Goals of OS
1.3 Types of OS
1.4 Multiprogrammed OS
1.5 Architectural requirements for Multiprogrammed OS
1.6 Mode Shifting in Multiprogrammed OS
1.7 System Calls
1.8 Computing Environments
1.9 Fork System Call
II. Process Management
2. Process Concepts - 3 Hrs
2.1 Program vs Process
2.2 Process as ADT
2.3 Process State Transition Diagram
2.4 Schedulers & Dispatcher
2.5 Problem Solving
3. CPU Scheduling -- 8 Hrs
3.1 Need for Scheduling & Scheduling Criteria
3.2 Process Times
3.3 Scheduling Algorithms
3.3.1 FCFS
3.3.2 SJF
3.3.3 SRTF
3.3.4 LRTF
3.3.5 Priority
3.3.6 Round Robin
3.3.7 Multilevel Queue Scheduling
3.3 Multiprocessor Scheduling
3.4 Real Time Scheduling
3.5 Problem Solving
4. Multithreading - 2 Hrs
4.1 Thread Concept & Benefits
4.2 Types of Threads
4.3 Thread Issues
4.4 Thread Libraries
4.5 Problem Solving
5. Process Synchronization/Coordination -- 18 Hrs
5.1 What is IPC & Synchronization
5.2 Need & Type of Synchronization
5.3 Case Studies
5.4 Critical Section Problem
5.5 Requirements of CS Problem
5.6 Synchronization Mechanisms
5.6.1 Lock Variable
5.6.2 Strict Alternation
5.6.3 Peterson Solution
5.6.4 Synchronization Hardware
5.6.5 Priority Inversion
5.6.6 Sleep-Wakeup
5.6.7 Semaphores Intro
5.6.8 Counting Semaphores
5.6.9 Binary Semaphores
5.7 Classical IPC Problems
5.7.1 Producer Consumer Problem
5.7.2 Reader – Writer Problem
5.7.3 Dining Philosopher Problem
5.8 Monitors
5.9 Concurrency Mechanisms
5.9.1 Parallel Construct
5.9.2 fork & Join statement.
5.10 Problem Solving
6. Deadlocks ---- 4 Hrs
6.1 Concept of Deadlock
6.2 System Model
6.3 Deadlock Characterization
6.3.1 Necessary Conditions
6.3.2 Resource Allocation Graph
6.4 Deadlock Handling Strategies
6.4.1 Prevention
6.4.2 Avoidance
6.4.2.1 Resource Allocation Graph Algorithm
6.4.2.2 Bankers Algorithm
6.4.3 Detection & Recovery
6.4.4 Deadlock Ignorance
6.5 Problem Solving
III. Memory Management
7. Abstract View of Memory - 2 Hrs
8. Memory Interconnection to CPU – 1 Hrs
9. Loading vs Linking & Address Binding --- 1 Hr
10. Memory Management Techniques – 12 Hrs
11.1 Swapping
11.2 Partitioning
11.2.1 Fixed Partitions
11.2.2 Variable Partitions
11.3 Non Contiguous Allocation
11.3.1 Simple Paging
11.3.2 Paging with TLB
11.3.3 Hashed Paging
11.3.4 Multilevel Paging
11.3.5 Inverted Paging
11.3.6 Shared Pages
11.3.7 Segmentation
11.3.8 Segmented- Paging Architecture
12. Virtual Memory -- 6 Hrs
12.1 VM Concept
12.2 VM Implementation
12.3 Performance Issues
12.3.1 Temporal Issues
12.3.2 Page Replacement Techniques
12.3.3 Thrashing
12.3.4 Working Set Model
13. Problem Solving
IV. File System & Device Management
14. Physical Structure of Disk – 1 Hr
15. Logical Structure of Disk - 1 Hr
16. File System Interface – 1 Hr
16.1 File & Directory Concept
16.2 File Attributes
16.3 File Operations
16.4 Types of Files
16.5 Directory Structure
17. File System Implementation --- 3 Hrs
17.1 Allocation Methods
17.2 Disk Free Space Management Algorithms
17.3 Efficiency & Performance
18. IO Scheduling (Disk Scheduling) --- 1 Hr
18.1 Need for Disk Scheduling
18.2 Disk Scheduling Techniques
18.2.1 FCFS
18.2.2 SSTF
18.2.3 SCAN
18.2.4 LOOK
18.2.5 C-SCAN
18.2.6 C-LOOK