Principles of Operating Systems Notes | B.Sc. (Computer Science) Semester 3 | Mumbai University | munotes
Official Notes munotes.in
Principles of Operating Systems
B.SC. (COMPUTER SCIENCE) · SEMESTER 3
Strictly as per the University of Mumbai NEP syllabus in force for B.Sc. (Computer Science)
For B.Sc. (Computer Science) students of the University of Mumbai and all its affiliated colleges
Open the book ↓munotes.in Second Year
Contents
Module I Fundamentals of Operating Systems, Processes and Threads, Process Synchronization, and CPU Scheduling
- What an Operating System Is 1
- The Two Jobs: Handing Out the Machine, and Hiding It 5
- Interrupts, Traps and the Two Modes 9
- The Timer, and Why the Operating System Always Gets the Processor Back 14
- The Functions of an Operating System 19
- Where Operating Systems Run 23
- The Services an Operating System Offers 27
- The Command Line and the Desktop 31
- What a System Call Is 35
- Watching System Calls Happen 39
- The Six Families of System Call 43
- How an Operating System Is Built 46
- Microkernels, Modules and What Linux Actually Is 49
- What a Process Is 53
- The Five States of a Process 57
- The Process Control Block 61
- The Queues, the Schedulers and the Context Switch 65
- Creating a Process: fork 69
- Running a Different Program: exec 73
- Waiting, Exiting, the Zombie and the Orphan 77
- Inter-process Communication: The Two Models 82
- Shared Memory, in Code That Runs 86
- Pipes 90
- Message Queues 94
- Blocking and Non-blocking Communication 98
- What a Thread Is 102
- Making Threads, and Waiting for Them 106
- Multicore Programming, and the Limit on It 110
- The Three Multithreading Models 114
- Thread Pools, and Handing Work Out 118
- Measuring It: Sequential Against Threaded 122
- The Shape of Every Concurrent Program 127
- A Race Condition, Made to Happen 131
- The Critical Section Problem, and the Three Conditions 136
- Peterson's Solution 140
- Hardware Help: Test and Set, and Compare and Swap 144
- The Mutex Lock 148
- The Semaphore 152
- The Bounded Buffer, Solved 156
- The Readers and the Writers 161
- The Dining Philosophers 165
- Monitors and Condition Variables 170
- Why Scheduling Exists: The Burst Cycle 175
- The Dispatcher, Preemption, and What a Switch Costs 179
- The Five Criteria, and the Arithmetic of Each 183
- Reading and Drawing a Gantt Chart 186
- First Come First Served 189
- Shortest Job First 192
- Shortest Remaining Time First 195
- Priority Scheduling, Starvation and Ageing 198
- Round Robin, and Choosing the Quantum 201
- Multilevel Queue Scheduling 204
- Multilevel Feedback Queue Scheduling 207
- All Seven Algorithms on One Problem 211
- Thread Scheduling, and What Linux Actually Does 215
Module II Deadlocks, Memory Management, Virtual Memory and Mass Storage, and the File System
- What a Deadlock Is, and the System Model 219
- The Four Conditions 223
- The Resource Allocation Graph 227
- The Four Ways to Handle a Deadlock 231
- Deadlock Prevention 234
- Safe States, and Avoidance 238
- The Banker's Algorithm 242
- The Resource Request Algorithm 246
- Deadlock Detection 250
- Recovery from Deadlock 255
- Why Memory Needs Managing 259
- Binding an Address: Compile, Load, Run 263
- The Memory Management Unit 267
- Swapping 271
- Contiguous Allocation, and the Holes It Leaves 275
- First Fit, Best Fit and Worst Fit 279
- Fragmentation, Internal and External 283
- Segmentation 287
- Paging 291
- Splitting an Address, and Translating One 296
- The TLB, and the Effective Access Time 300
- Protection and Sharing in a Paged System 305
- The Page Table Is Too Big: Hierarchical Paging 310
- Hashed and Inverted Page Tables 315
- Virtual Memory: Running What Will Not Fit 319
- Demand Paging, and the Page Fault 324
- The Effective Access Time Under Demand Paging 329
- Copy on Write 333
- Page Replacement: The Problem 338
- FIFO Replacement, and Belady's Anomaly 342
- Optimal Replacement 346
- LRU Replacement 349
- Second Chance, and the Counting Algorithms 353
- Comparing the Algorithms, and the Hit Ratio 358
- Allocation of Frames 362
- Thrashing, and the Working Set 366
- What a Disk Is, and What It Costs 371
- Disk Structure, and the Logical Block 375
- Disk Scheduling: FCFS and SSTF 379
- SCAN, C-SCAN, LOOK and C-LOOK 383
- Random Scheduling, and All Six Compared 387
- Disk Management 390
- What a File Is 395
- Opening a File, and What the Kernel Keeps 399
- Access Methods 403
- Directories, and the Shapes They Take 407
- Mounting 413
- File Sharing, and Locking 417
- The Layers a Read Passes Through 422
- On the Disk: Superblock, Inode, Data Blocks 426
- Directory Implementation 430
- Contiguous and Linked Allocation 434
- Indexed Allocation, and What a Real File System Does 439
- Free Space Management 444
- Designing a Small File System 449
The chapters
Every chapter of this book comes with the B.Sc. (Computer Science) Semester 3 notes.
The cover and the contents are free to look through. Buy the notes once to read every chapter of every subject in this semester.
Notes + practical solutions + solved papers: ₹798 Already bought it? Sign in
Or notes + practical solutions: ₹499
Or solved papers only: ₹499
Free either way: question papers, the syllabus, and the cover and contents of every book.
The rest of this subject
These notes are cut from the University's printed syllabus. Open the syllabus itself, or the past papers, for the same subject.