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
  • Pros
  • Cons
  • Algorithm
  1. Scheduling Basics

Static Cyclic Scheduling

PreviousBasic algorithmsNextExercise

Last updated 2 years ago

The table is organized in micro-cycles (μC) with a fixed duration. This way it is possible to release tasks periodically.

The micro-cycles are triggered by a Timer.

Scanning the whole table repeatedly generates a periodic pattern, called macro-cycle (MC).

  • Γ = {τi (Ci , ∅i , Ti , Di )}, i = {1...n}

  • μC = GCD(Ti); MC = mCM(Ti)

Example

∅i = 0

T1 = 5ms; T2 = 10ms; T3 = 15ms.

Pros

Very simple implementation (timer+table).

Execution overhead very low (simple dispatcher).

Permits complex optimizations (e.g. jitter reduction, check precedence constraints).

Cons

Doesn’t scale (changes on the tasks may incur in massive changes on the table. In particular the table size may be prohibitively high).

Sensitive to overloads, which may cause the “domino effect”, i.e., sequence of consecutive tasks failing its deadlines due to a bad-behaving task.

Algorithm

How to build the table:

  • Compute the micro and macro cycles (μC and MC).

  • Express the periods and phases of the tasks as an integer number of micro-cycles.

  • Compute the cycles where tasks are activated.

  • Using a suitable scheduling algorithm, determine the execution order of the ready tasks.

  • Check if all tasks scheduled for a give micro-cycle fit inside the cycle. Otherwise some of them have to be postponed for the following cycle(s).

  • It may be necessary to break a task in several parts, so that that each one of them fits inside the respective micro-cycle.