Notes - MIECT
Sistemas Operativos E De Tempo-real
Notes - MIECT
Sistemas Operativos E De Tempo-real
  • Sistemas Operativos e de Tempo-real
  • Basic Concepts About Real-Time Systems
    • Preliminaries
    • Definitions
    • Objective of the Study of RTS
    • Requirements of Real-Time Systems
  • Real Time Model
    • Real Time Model
    • Temporal Control
    • Task states and execution
    • Kernel/RTOS Architecture
      • Time Management Functions
    • Examples of RTOS
  • Practical Class 01
    • Real-Time Services in Linux
    • Using the Linux real-time services
  • Scheduling Basics
    • Basic concepts
    • Scheduling Algorithms
      • Basic algorithms
    • Static Cyclic Scheduling
    • Exercise
  • Fixed Priority Scheduling
    • Online scheduling with fixed priorities
    • Schedulability tests based on utilization
      • Deadline Monotonic Scheduling DM
    • Response-time analysis
  • Practical Class 2
    • Xenomai brief introduction
    • API
    • Developing an application
  • Dynamic Priority Scheduling
    • On-line scheduling with dynamic priorities
    • Analysis: CPU utilization bound
    • Analysis: CPU Load Analysis
    • Other deadline assignment criteria
  • Exclusive Access to Shared Resources
    • The priority inversion problem
    • Techniques for allowing exclusive access
    • Priority Inheritance Protocol
    • Priority Ceiling Protocol
    • Stack Resource Policy
    • Notes
  • Aperiodic Servers
    • Joint scheduling of periodic and aperiodic tasks
    • Aperiodic Servers
    • Fixed Priority Servers
    • Dynamic Priority Servers
  • Limited preemption, release jitter and overheads
    • Non-preemptive scheduling
    • Impact of Release Jitter
    • Accounting for overheads
    • Considerations about the WCET
  • Profiling and Code Optimization
    • Code optimization techniques
      • CPU independent optimization techniques
      • Cache impact
      • Optimization techniques dependent on memory architecture
      • Architecture-dependent optimization techniques
    • Profiling
  • Multiprocessor Scheduling, V1.2
    • Introduction
    • Definitions, Assumptions and Scheduling Model
    • Scheduling for Multicore Platforms
    • Task allocation
Powered by GitBook
On this page
  • PIP – Priority Inheritance Protocol
  • PiP evaluation:
  1. Exclusive Access to Shared Resources

Priority Inheritance Protocol

PreviousTechniques for allowing exclusive accessNextPriority Ceiling Protocol

Last updated 2 years ago

PIP – Priority Inheritance Protocol

The blocking task (lower priority) temporarily inherits the priority of the blocked task (the one with higher priority).

Limits the blocking duration, preventing the execution of intermediate priority tasks while the blocking tasks owns the critical region. The priority of the blocking task returns to its nominal value when leaving the critical region.

To bound the blocking time (B) it is important to note that a task can be blocked by any lower priority task that:

  • Shares a resource with it - Direct blocking , or

  • Can block a task with higher priority - Push-through or Indirect blocking.

Note also that in the absence of chained accesses:

  • Each task can block any other task just once.

  • Each task can block only once in each resource.

Worst-case blocking times.

Schedulability analysis with PiP.

Utilization test, for Rate Monotonic

Response Time Analysis (Fixed Priority)

PiP evaluation:

  • Relatively easy to implement.

    • Only one additional field on the TCB, the inherited priority.

  • Transparent to the programmer.

    • Each task only uses local information.

  • Suffers from chain blocking and does not prevent deadlocks.