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
  • PCP – Priority Ceiling Protocol
  • PCP Evaluation
  1. Exclusive Access to Shared Resources

Priority Ceiling Protocol

PreviousPriority Inheritance ProtocolNextStack Resource Policy

Last updated 2 years ago

PCP – Priority Ceiling Protocol

Extension of PIP with one additional rule about access to free semaphores, inserted to guarantee that all required semaphores are free.

For each semaphore it is defined a priority ceiling , which equals the priority of the maximum priority task that uses it.

A task can only take a semaphore if this one is free and if its priority is greater than the ceilings of all semaphores currently taken.

The PCP protocol only allows the access to the first semaphore when all other semaphores that a task needs are free.

o bound the blocking time (B) note that a task can be blocked only once by lower priority tasks . Only lower priority tasks that use semaphores which have a ceiling at least equal to the higher priority task can cause blocking.

Note also that each task can only be blocked once.

Worst-case blocking times.

Schedulability analysis with PCP.

  • Same equations as for PIP, only Bi computes differently.

Utilization test, for Rate Monotonic

Response Time Analysis (Fixed Priority)

PCP Evaluation

  • Smaller blocking than PIP, free of chain blocking and deadlocks.

  • Much harder to implement than PiP. On the TCB it requires one additional field for the inherited priority and another one for the semaphore where the task is blocked. To facilitate the transitivity of the inheritance it also requires a structure to the semaphores, their respective ceilings and the identification of the tasks that are using them.

  • Moreover, it is not transparent to the programmer as the semaphore ceilings are not local to the tasks.