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
  • Functional
  • Data gathering
  • Supervise and Control
  • Interaction with the operator
  • Temporal
  • Teminology
  • Classification of the temporal constraints according with the usefulness of the result:
  • Classification of the Real-Time Systems, according with the temporal constraints:
  • Dependability
  1. Basic Concepts About Real-Time Systems

Requirements of Real-Time Systems

PreviousObjective of the Study of RTSNextReal Time Model

Last updated 2 years ago

The requirements commonly imposed to real-time systems are of three types:

  • Functional;

  • Temporal;

  • Dependability.

Functional

Data gathering

Sampling of system variables (real-time entities), both analog and discrete.

The Real-Time computer operates on local images (internal variables) that represent the physical entities.

Each image of a real-time entity has a limited time validity, due to the temporal dynamics of the physical process.

The set of images of the real-time entities forms a Real-Time Database.

The real-time database must be updated to keep consistency between the physical world and its the internal representation.

Supervise and Control

Direct access to sensors and actuators.

Interaction with the operator

System status information, logs, support to correct system operation, warnings, ...

Illustration of a RTDB for Multi-Robot Systems

Temporal

Usually arise from the physical dynamics of the process to be managed or controlled.

Impose restrictions:

  • Delays the observation of the system state;

  • Delays computing the new control values (acting);

  • Variations of previous delays (jitter);

These must be followed in all instances (including the worst case) and not only on average.

Teminology

Initial offset (∅)

Time before the first release/activation (job) of a task.

Period (T)

Time between successive jobs of a task.

Can be a Minimum Inter-Arrival time (MIT) for sporadic tasks.

Start/activation (ri)

Time instant of the ith job of a task.

  • ri = ∅ + k * Ti for periodic tasks.

Finish/completion time (ti)

Time instant in which the ith job of a task terminates.

Execution/computation time (Ci)

Time necessary to the processor for executing the task instance without interruption.

Absolute deadline (di)

Time instant by which the ith execution of a task must complete.

Response time (Ri)

Time elapsed between the release of the ith job of a task and its completion

  • Ri = fi − ri

Slack/Laxity (Li)

Maximum time a task can be delayed on its activation to complete within its deadline.

  • Li = di - ri - Ci

Classification of the temporal constraints according with the usefulness of the result:

Soft

Temporal constraint in which the result retains some utility to the application, even after a temporal limit D, although affected by a degradation of quality of service.

Firm

Temporal constraint in which the result loses any usefulness to the application after a temporal limit D.

Hard

Temporal restriction that, when not met, can lead to a catastrophic failure.

Classification of the Real-Time Systems, according with the temporal constraints:

Soft Real-Time

The system only has firm or soft real-time constraints (e.g., simulators, multimedia systems).

Hard Real-Time

The system has at least one hard real-time constraint. These are the so-called safety-critical systems (e.g. airplane control, missile control, nuclear plants control, control of dangerous industrial processes).

Best Effort

The system is not subject to real-time constraints.

Dependability

Real-time systems are typically used in critical applications, in which failures may endanger human lives or result in high economic impact/losses.

This results in a requirement of High Reliability:

  • Hard real-time systems have typically ultra-high reliability requirements (< 10^−9 failures/hour ).

  • Cannot be verified experimentally!

  • Validation requires solid analytic support (among other aspects).

Important aspect to consider in safety-critical systems:

  • Stable interfaces

    Between the critical and the remaining subsystems, in order to avoid error propagation between each other.

  • Well defined worst case scenarios

    The system must have an adequate amount of resources to deal with worst case scenarios without resorting to probabilistic arguments, i.e. must provide service guarantees even in such scenarios.

  • Architecture composed of autonomous subsystems, whose properties can be checked independently of the others ( composability ).

Impact of time delay in sampling error
Periodic sampling illustration
An Architecture for Real-Time Control in Multi-robot Systems, DOI:10.1007/978-3-642-10403-9 5