Real-Time Systems

  1. Resource Management and Synchronization
    1. The Priority Inversion Problem
      1. Definition and Examples
        1. Unbounded Priority Inversion
          1. Causes and Consequences
            1. Mars Pathfinder Case Study
            2. Bounded Priority Inversion
              1. Acceptable Blocking Times
            3. Resource Access Protocols
              1. Non-Preemptive Critical Sections
                1. Implementation and Use Cases
                  1. Blocking Time Analysis
                  2. Priority Inheritance Protocol
                    1. Protocol Operation
                      1. Transitive Inheritance
                        1. Limitations and Deadlocks
                        2. Priority Ceiling Protocol
                          1. Protocol Operation
                            1. Immediate Priority Ceiling Protocol
                              1. Original Priority Ceiling Protocol
                                1. Deadlock Prevention
                                2. Stack Resource Policy
                                  1. Protocol Operation
                                    1. Preemption Levels
                                      1. Advantages over PCP
                                      2. Multiprocessor Resource Protocols
                                        1. Multiprocessor Priority Ceiling Protocol
                                          1. Distributed Priority Ceiling Protocol
                                        2. Synchronization Primitives
                                          1. Semaphores
                                            1. Binary Semaphores
                                              1. Counting Semaphores
                                                1. Semaphore Implementation
                                                2. Mutexes
                                                  1. Mutex Operations
                                                    1. Recursive Mutexes
                                                    2. Condition Variables
                                                      1. Wait and Signal Operations
                                                        1. Spurious Wakeups
                                                      2. Synchronization in Multiprocessor Systems
                                                        1. Spin-Locks
                                                          1. Busy-Waiting Mechanisms
                                                            1. Use Cases and Limitations
                                                              1. Lock Contention Issues
                                                              2. Suspension-Based Locks
                                                                1. Blocking and Suspension
                                                                  1. Impact on Schedulability
                                                                    1. Context Switching Overhead
                                                                    2. Lock-Free Synchronization
                                                                      1. Compare-and-Swap Operations
                                                                        1. Memory Barriers
                                                                          1. ABA Problem