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
  • SRP – Stack Resource Policy
  • SRP Evaluation
  1. Exclusive Access to Shared Resources

Stack Resource Policy

PreviousPriority Ceiling ProtocolNextNotes

Last updated 2 years ago

SRP – Stack Resource Policy

Similar to PCP, but with one rule about the beginning of execution , to guarantee that all required semaphores are free.

Uses also the concept of priority ceiling.

Defines the preemption level (π) as the capacity of a task to cause preemption on another one (static parameter).

A task may only start executing when its own preemption level is higher than the one of the executing task and also higher than the ceilings of all the semaphores in use ( system ceiling ).

The SRP protocol only allows that a task starts executing when all resources that it needs are free.

The upper bound of the blocking time (B) is equal to the one of the PCP protocol, but it occurs in a different time - at the beginning of the execution instead of at the shared resource access.

Each task can block only once by any task with a lower preemption level that uses a semaphore whose ceiling is at least equal to its preemption level.

Worst-case blocking time.

Schedulability analysis with SRP.

  • Same equations as for PIP and PCP. Bi computes as for PCP.

Utilization test, for Rate Monotonic

Response Time Analysis (Fixed Priority)

SRP Evaluation

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

  • Smaller number of preemptions than PCP, intrinsic compatibility with fixed an dynamic priorities and to resources with multiple units (i.e., that allow more than one concurrent access, e.g. buffer arrays).

  • The hardest to implement (preemption test much more complex, requires computing the system ceiling, etc.).

  • Not transparent to the programmer (semaphore ceilings, etc.)