Top Banner
Real Time Operating Real Time Operating Systems Systems Group A2 Group A2 Roland Hollis Rachit Gupta EJ Chambers
18

Real Time Operating Systems

Jan 03, 2016

Download

Documents

Ethan Chase

Real Time Operating Systems. Group A2 Roland Hollis Rachit Gupta EJ Chambers. Guideline. Overview of Real Time Operating Systems Hard vs Soft POSIX Discussion about RTLinux How Real Time is it? In Depth about Real Time Operating Systems. What is a Real Time OS?. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Real Time Operating Systems

Real Time Operating SystemsReal Time Operating Systems

Group A2Group A2– Roland Hollis– Rachit Gupta– EJ Chambers

Page 2: Real Time Operating Systems

GuidelineGuideline

Overview of Real Time Operating Systems– Hard vs Soft– POSIX

Discussion about RTLinux– How Real Time is it?

In Depth about Real Time Operating Systems

Page 3: Real Time Operating Systems

What is a Real Time OS?What is a Real Time OS?

"A real-time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time at which the result is produced. If the timing constraints of the system are not met, system failure is said to have occurred." Donald Gillies

System that has to perform its functions by responding to synchronous or asynchronous events within a specified amount of time.

Page 4: Real Time Operating Systems

Two Types of Real Time OSTwo Types of Real Time OS

Hard Real TimeHard Real Time Meeting the deadline is

absolutely critical – E.g. Rocket controller

Soft Real TimeSoft Real Time Occasionally allowed to

miss deadlines – E.g. Updating a video

display

So what happens in the case a Hard Real Time System does not meet a deadline?

• Failure!

Page 5: Real Time Operating Systems

POSIX 1003.1POSIX 1003.1

POSIX Standard 1003.1 defines “real-time” for operating systems as:

– "Realtime in operating systems: the ability of the operating system to provide a required level of service in a bounded response time"

Page 6: Real Time Operating Systems

POSIX 1003.1 Con’tPOSIX 1003.1 Con’t

It requires the following– Preemptive priority scheduling– Locking of virtual pages into memory– Real-time signals– Improved IPC– Improved timers

Linux only partially conforms to the above.

Page 7: Real Time Operating Systems

How RTLinux WorksHow RTLinux Works

Runs Linux kernel as lowest priority thread– Always preemptable

The Linux thread provides soft real time features and capabilities

RTLinux kernel provides hard real time tasks

Page 8: Real Time Operating Systems

Linux ThreadLinux Thread

Executes only when no realtime tasks to run Cannot really block interrupts, or prevent itself from

being preempted.– Software emulation of interrupt hardware

Still is responsible for:– Booting System– Device Initialization– Blocking Dynamic Resource Allocation– Install components of RT system and keep RT system

modular and extensible– Device Drivers, networking, file systems,

Page 9: Real Time Operating Systems

RTLinux KernelRTLinux Kernel

Designed to never wait for Linux to release any resources

Does not request memory, share spin locks, or synchronize on any data structures

– Communication is non-blocking

Any thread willing to be blocked while waiting for a resource cannot have a RT constraint.

– E.g. no malloc() or demalloc()

Provides direct access to the raw hardware.

Page 10: Real Time Operating Systems

InterruptsInterrupts

Page 11: Real Time Operating Systems

Real Time TasksReal Time Tasks

Execute with kernel level privileges– Have direct access to hardware

Maintain fixed allocations of memory for both code and data

Restricted from any Linux system calls or data structures

Floating point operations forbidden Can communicate using RT-FIFOs

Page 12: Real Time Operating Systems

Mars Polar LanderMars Polar Lander

Non Realtime process read from a pipe controlled by a semaphore

A Real time process was blocked from writing to the pipe

Result?

Page 13: Real Time Operating Systems
Page 14: Real Time Operating Systems

RT-FIFORT-FIFO

Page 15: Real Time Operating Systems

PerformancePerformance

Worst Case Interrupt Latency– 486/33MHz: 30 microseconds– Pentium 120: 20 microseconds

Page 16: Real Time Operating Systems

ConclusionConclusion

RT Linux has achieved hard real-time performance by making minimal changes to a freely available Operating System.

Provides an alternative to proprietary real-time systems which may be prohibitively expensive.

As Linux develops, RT Linux will also ride the wave of its development.

Unlike other RT systems, no separate support for RT Linux is needed since support for Linux is already widely available.

Page 17: Real Time Operating Systems

References

[1] Yodaiken, Viktor. The RTLinux Manifesto. Sept. 1997

[2] Yodaiken, Viktor. RT – Linux Whitepaper. Oct. 1997.

http://www.dedicated-systems.com/encyc/publications/faq/rtfaq.htm

http://www.ddj.com/articles/1999/9911/9911b/9911b.htm?topic=unix

Page 18: Real Time Operating Systems

Real Time Operating SystemsReal Time Operating Systems

Any Questions?