Multiprocessor Operating Systems - Detailed MTech-Level Notes
1. System Architectures
- Definition: A multiprocessor system has multiple CPUs sharing a common physical memory and
operating under a single OS. It enhances performance and fault tolerance.
- Tightly Coupled Systems: Shared memory and clock, high-speed interconnect, suitable for parallel
processing.
- Loosely Coupled Systems: Each processor has its own memory, communication via message
passing, used in distributed systems.
- Memory Access Models: UMA (Uniform Memory Access), NUMA (Non-Uniform Memory Access),
NORMA (No Remote Memory Access).
2. Structures of OS
- Separate Supervisor: Each processor runs its own OS, local I/O and memory, synchronization via
semaphores.
- Master-Slave: One processor runs OS and schedules tasks, others execute user programs.
- Symmetric Supervision: All processors are equal, shared kernel and resources, requires strong
synchronization.
3. OS Design Issues
- Concurrency: Support for concurrent execution of tasks, requires synchronization mechanisms.
- Scalability: OS should scale with processor count, avoid bottlenecks.
- Fault Tolerance: Graceful degradation on failure, reconfiguration schemes.
- Synchronization: Shared data access must be serialized, hardware support preferred.
4. Process Synchronization
- Mutual Exclusion Problem: Prevent concurrent access to shared memory.
- Hardware Instructions: Test-and-Set, Swap, Fetch-and-Add, Compare-and-Swap.
- SLIC Chip: System Link and Interrupt Controller for synchronization.
5. Process Scheduling and Allocation
- Scheduling Models: Centralized vs Distributed, floating master method.
- Processor Allocation: Queue of ready processors in shared memory.
- Load Balancing: Push and pull migration strategies.
- Affinity: Soft and hard affinity to reduce cache misses.
6. Memory Management
- Shared Memory Challenges: Cache coherence, synchronization overhead.
- Virtual Memory: Each processor has its own map table, shared pages require consistency.
- Page Replacement: Complex due to shared memory.
- Protection: Prevent unauthorized access using MMU and OS-level checks.
7. Fault Tolerance
- System must degrade gracefully under failure.
- Reconfiguration schemes and redundancy mechanisms are essential.