Real-Time Operating Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Real-Time Operating Systems

Description:

Real-Time Operating Systems Suzanne Rivoire November 20, 2002 http://www.stanford.edu/~skrufi/rtospres.ppt Motivating Example void main() { do forever{ check keypad ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 23
Provided by: GrantGav2
Learn more at: http://web.stanford.edu
Category:

less

Transcript and Presenter's Notes

Title: Real-Time Operating Systems


1
Real-Time Operating Systems
  • Suzanne Rivoire
  • November 20, 2002

http//www.stanford.edu/skrufi/rtospres.ppt
2
Motivating Example
  • void main()
  • do forever
  • check keypad
  • measure temperature
  • control oven power
  • decrement timer
  • update display
  • wait for clock tick

3
Motivating Example - 2
  • void main()
  • do forever
  • check keypad
  • measure temperature
  • check keypad
  • control oven
  • check keypad

4
Presentation Outline
  • Definition of real-time
  • Characteristics of RTOSs
  • Examples
  • ?c-OS
  • AvrX
  • RTLinux
  • QNX Neutrino

5
What is real-time?
  • Correctness of output depends on timing as well
    as result
  • Hard vs. soft real-time
  • Are Windows and Linux real-time?

6
In a Hard RTOS
  • Thread priorities can be set by the client
  • Threads always run according to priority
  • Kernel must be preemptible or bounded
  • Interrupts must be bounded
  • No virtual memory

7
In a Soft RTOS
  • Like a hard RTOS
  • Priority scheduling, with no degradation
  • Low dispatch latency
  • Preemptible system calls
  • No virtual memory (or allow pages to be locked)
  • Linux guarantees about relative timing of tasks,
    no guarantees about syscalls

8
Basic RTOS References
  • http//www.dedicated-systems.com/encyc/publication
    s/faq/rtfaq.htm
  • http//www.steroidmicros.com/mtkernel.html
  • http//www.qnx.com/developer/articles/dec1200b/
  • Silberschatz and Galvin, Operating System
    Concepts.

9
Example RTOSs
  • Micrium ?c-OS II
  • http//www.ucos-ii.com/
  • AvrX
  • http//www.barello.net/avrx/
  • RTLinux http//fsmlabs.com/developers/man_pages/
  • QNX Neutrino
  • http//www.qnx.com/

10
?c-OS II
  • Features
  • Sample main() function
  • Calling OSTaskCreate()
  • Creating a task

11
?C-OS II
  • Ports to the AVR, ATmega103
  • Comes with book Micro-C OS The Real-Time Kernel
    by Jean Labrosse (52)
  • Features
  • Semaphores and mutexes
  • Event flags
  • Message mailboxes and queues
  • Task management (priority settings)

12
?C-OS Sample Code
  • void main (void)
  • / Perform Initializations /
  • ...
  • OSInit()
  • ...
  • / Create at least one task by calling
    OSTaskCreate() /
  • OSStart()

13
?C-OS Sample Code
  • INT8U OSTaskCreate (
  • void (task)(void pd),
  • void pdata,
  • OS_STK ptos,
  • INT8U prio)

14
?C-OS Sample Code
  • void UserTask (void pdata)
  • pdata pdata
  • / User task initialization /
  • while (1)
  • / User code goes here /
  • / You MUST invoke a service provided by
    µC/OS-II to /
  • / ... a) Delay the task for n ticks /
  • / ... b) Wait on a semaphore /
  • / ... c) Wait for a message from a task or an
    ISR /
  • / ... d) Suspend execution of this task /

15
AvrX
  • Specs
  • Internal structures
  • Sample code task creation

16
AvrX Specs
  • Code size 500-700 words (2x bigger with debug
    monitor)
  • 16 priority levels
  • Overhead 20 of CPU
  • Version 2.3 for assembly code, 2.6 for C interface

17
AvrX Internals
  • Routine _Prolog saves state, _Epilog restores it
  • Task info stored in a PID block and a task
    control block
  • Modules for timers, semaphores, etc.

18
An AvrX Task
  • AVRX_TASKDEF(myTask, 10, 3)   
    TimerControlBlock MyTimer    while (1)   
            AvrXDelay(MyTimer, 10) // 10ms
    delay        AvrXSetSemaphore(Timeout)   

Arguments task name, additional stack bytes,
priority
19
RTLinux
  • Additional layer between Linux kernel and
    hardware
  • Worst-case dispatch latency on x86 15 ?s

20
RTLinux Basic Idea
21
QNX Neutrino
  • Powerful hard RTOS
  • Includes GUI
  • Memory protection and fault tolerance

22
Summary
  • Hard real-time, soft real-time
  • Characteristics of an RTOS
  • Example RTOSs
  • Specs
  • Internal structure/ideas
  • Sample code
Write a Comment
User Comments (0)
About PowerShow.com