Useful Links
Computer Science
Operating Systems
Operating Systems
1. Introduction to Operating Systems
2. Operating System Structures
3. Process Management
4. CPU Scheduling
5. Process Synchronization
6. Memory Management
7. Storage Management
8. I/O Systems
9. Protection and Security
10. Advanced Topics
Process Synchronization
Synchronization Fundamentals
Race Conditions
Concurrent Access Problems
Data Inconsistency
Non-Deterministic Behavior
Critical Section Problem
Critical Section Definition
Solution Requirements
Mutual Exclusion
Progress Requirement
Bounded Waiting
Software-Based Solutions
Peterson's Solution
Two-Process Synchronization
Algorithm Implementation
Correctness Proof
Bakery Algorithm
Multi-Process Synchronization
Ticket-Based Approach
Fairness Guarantee
Hardware Synchronization Support
Atomic Instructions
Test-and-Set Instruction
Compare-and-Swap Instruction
Fetch-and-Add Instruction
Hardware Lock Implementation
Spinlock Mechanisms
Lock Performance
Hardware Support Benefits
Synchronization Primitives
Mutex Locks
Lock Acquisition
Lock Release
Blocking vs Spinning
Lock Implementation
Semaphores
Semaphore Concept
Binary Semaphores
Counting Semaphores
Semaphore Operations
Wait Operation
Signal Operation
Semaphore Implementation
Condition Variables
Condition Synchronization
Wait and Signal Operations
Spurious Wakeups
Classical Synchronization Problems
Bounded Buffer Problem
Producer-Consumer Scenario
Buffer Management
Synchronization Requirements
Readers-Writers Problem
Multiple Reader Access
Exclusive Writer Access
Priority Variations
Dining Philosophers Problem
Resource Allocation Model
Deadlock Prevention
Fairness Considerations
High-Level Synchronization
Monitors
Monitor Structure
Procedure Synchronization
Condition Variables
Monitor Implementation
Message Passing Synchronization
Synchronous Messages
Asynchronous Messages
Rendezvous Mechanisms
Deadlock Management
Deadlock Characterization
System Resource Model
Resource Allocation Graph
Deadlock Conditions
Mutual Exclusion
Hold and Wait
No Preemption
Circular Wait
Deadlock Prevention
Condition Elimination
Resource Ordering
Resource Preemption
Deadlock Avoidance
Safe State Concept
Resource Allocation Graph Algorithm
Banker's Algorithm
Safety Algorithm
Resource Request Algorithm
Deadlock Detection
Detection Algorithms
Resource Allocation Graphs
Wait-For Graphs
Deadlock Recovery
Process Termination
Resource Preemption
Rollback Mechanisms
Previous
4. CPU Scheduling
Go to top
Next
6. Memory Management