Performance Evaluation of Real-Time Operating Systems презентация

Содержание

Слайд 2

Real-Time Systems

Systems that interact predictably with events in the outside world
Examples:
Flight control

systems
Collision avoidance systems
Satellite guidance systems
Patient Monitoring System
Control Systems for synchrotrons

Слайд 3

Real-Time Operating Systems

Free the applications programmer from writing code for task scheduling and

dispatching.
Manage time-sharing of a processor for a number of different tasks and interrupt sources, while adhering to strict time constraints.
Widely used in all kinds of applications both on PCs and in embedded systems.
Generally operate unattended -- consequences of failure can be catastrophic.

Слайд 4

What is available?

Many RTOSs have been developed:
Commercial
Open source
RTOS vendors and developers publish performance

metrics to showcase their products. However, their evaluations are:
not performed on a common platform
not comprehensive

Слайд 5

Evaluation of an RTOS

How would you choose an appropriate RTOS for your application?
Need

for an impartial evaluation.
Several such projects have been conducted.
Only evaluated some performance characteristics
Only looked at a few commercial operating systems
Many are now out of date
‘Real-Time Consult’ introduced a more comprehensive project.
Developed a thorough test methodology
Evaluated several commercial RTOSs
Have not evaluated open source RTOSs

Слайд 6

Research Objective

Performance evaluation, on a common platform, of three open source real-time

operating systems:
RTEMS
RTLinux
eCos

Слайд 7

Real-Time Operating Systems

RTOS

Overview

Слайд 8

Task Scheduling
Time Slicing

Task 1

Слайд 9

Task Scheduling
Preemptive Priority

Task 1

Task 1

Слайд 10

Task Dispatching

Task-control blocks is the most popular method of identifying and managing tasks.
Task-Control

Block (TCB) contains:
a context (e.g. program counter and register contents)
an identification string
a status, such as ready,
executing or blocked
a priority (if applicable)

Слайд 11

Task Synchronization

Events
Messages
Semaphores
Mutexes

Слайд 12

Desired Performance Characteristics

Tasks should run with:
minimal event latency (the time between the triggering

of a task and its start)
minimal jitter (the variation in running times of a task that is supposed to run at a fixed period).

Слайд 13

Performance Evaluation

Throughput – speed at which the system executes instructions
Responsiveness – how fast

it starts to handle in interrupt request
Determinism – how it reacts under load
how long does it take to finish what it is doing and start handling the interrupt request

Слайд 14

Performance Metrics

Low Level Tests
Context switching
Interrupt latency
Exclusion objects
Semaphores
Mutexes
Synchronization events

Слайд 15

Context Switch Time

Task A

Save context
of Task A

Start
Task B

Load context
of Task B

Слайд 16

Other Considerations

Not an isolated event
Affected by number of tasks pending
Depends on priorities of

pending tasks
Amount of context to be saved

Слайд 17

Interrupt Latency

Interrupt and Interrupt Dispatch
Latencies

Task

Слайд 18

Multiple Interrupt Latencies
Interrupt-to-Task Run

Interrupt Dispatch Time

Interrupt Service Routine

Other Interrupt

Pre-emption Disabled

Scheduling

Context Switch

Return from System

Call

Interrupt

Task Run

Слайд 19

Interrupt Task Response Time

Real response to an interrupt often occurs in a task

synchronized by, but outside of, the actual ISR.
Task response also depends on whether the kernel is preemptable. If not, then kernel call must be completed before ISR.

Слайд 20

Performance Metrics

High Level Tests
Network throughput
Stress tests

Слайд 21

Real-Time Consult Project

Evaluation and comparison of RTOS performance
Commercial systems only, to date
Evaluations available

for:
Intime 1.20
RTX 4.2
Hyperkernel 4.3
VxWorks/x86 5.3.1
pSOSystem/x86 2.2.6
QNX 6.1
CE 3.0

Слайд 22

Real-Time Consult Project

Test Method: timing is measured using an external PCI bus analyzer.


Two types of tests:
Performance Tests
Stress Tests
Qualitative Evaluation (API richness, etc.)

Слайд 23

Real-Time Consult Project

Performance Tests (context switch & latencies):
Thread switch latency
time required to

preempt current thread
Interrupt latency
preempt current thread and start interrupt handler
Interrupt dispatch latency
switch from interrupt context to context of interrupted thread or next thread in queue
Thread creation and deletion

Слайд 24

Task Switch Latency Test

Слайд 25

Real-Time Consult Project

Performance Tests (objects, file, network):
Synchronization objects
time to create and delete

a synchronization object
Exclusion objects
time to create and delete an exclusion object
File system operations
creating and deleting files, reading from files and writing to files in synchronous mode
Network stack
performance of TCP/IP stack
bandwidth for various packet sizes, and CPU usage

Слайд 26

Real-Time Consult Project

Stress Tests:
Two simultaneous interrupts
Interrupt nesting
maximum sustainable interrupt frequency
maximum number of objects
memory

leaks

Слайд 27

Focus of my Research

Evaluation of three Open Source Real-Time Operating Systems:
RTEMS
Real Time

Executive for Multiprocessor Systems
RTLinux
Real Time Linux
eCos
Embedded Configurable Operating System

Слайд 28

RTEMS

Developed by the U.S. military as alternative to using commercial RTOS
Small, easy to

port
High level of user configurability
Kernel is preemptible

Target Hardware

Application Dependent Software

Standard Application Components

Device Drivers

R T E M S

Слайд 29

RTLinux

Abstraction layer between the hardware and the standard Linux kernel
Appears as actual hardware

to standard Linux kernel
Lowest priority is assigned to standard Linux kernel, which then runs as a independent task.
RTLinux executive is nonpreemptible
Leaves Linux kernel essentially untouched so it doesn’t hinder future Linux development

Слайд 30

ECOS

Targeted at high-volume applications:
consumer electronics, telecommunications, automotive
other deeply embedded applications.
Configurable:
lets developer configure

a system that best matches the needs of the application.
Typical configuration options:
type of scheduler
number of priority levels.
current release of the system has over 200 options
Portable
Fully preemptable
Имя файла: Performance-Evaluation-of-Real-Time-Operating-Systems.pptx
Количество просмотров: 55
Количество скачиваний: 0