Presentation is loading. Please wait.

Presentation is loading. Please wait.

Real Time Operating Systems Introduction to Real-Time Operating Systems (Part I) Course originally developed by Maj Ron Smith.

Similar presentations


Presentation on theme: "Real Time Operating Systems Introduction to Real-Time Operating Systems (Part I) Course originally developed by Maj Ron Smith."— Presentation transcript:

1 Real Time Operating Systems Introduction to Real-Time Operating Systems (Part I) Course originally developed by Maj Ron Smith

2 Outline  Typical Real-Time System Hardware  Why Operating Systems?  Basic Requirements of an RTOS  Characteristics of RTOS  Examples 11/17/2015 2 Dr. Alain Beaulieu

3 Typical Real-Time System h/w  standard microcomputer elements  CPU  program store (non-volatile EPROM)  data store (volatile RAM)  additional real-time elements  interrupt controller  supports asynchronous tasks  supports guaranteed response times  real-time clock  highly accurate record of elapsed time  the basic timing element (tick) when used with an RTOS 11/17/2015 3 Dr. Alain Beaulieu

4 Typical Real-Time System h/w  additional real-time elements (cont’d)  hardware timers  support long time periods (s/w ones not accurate enough)  flexible, software programmable  watchdog timer  last line of defence against program malfunction  retriggerable one-shot timer activated by program command  direct memory access (DMA) controller*  serial communications controller*  I/O peripheral* (controller of I/O device) *optional 11/17/2015 4 Dr. Alain Beaulieu

5 Why Operating Systems? Definition: “the set of software products that jointly controls the system resources and processes using these resources on a computer” Oxford Concise Dictionary of Computing kernel executive application program real world interface 11/17/2015 5 Dr. Alain Beaulieu

6 Why Operating Systems?  Operating systems provide a layer of abstraction between the programmer and the machine  it screens the complexities of the computer from the programmer  it allows the computer to be treated as a virtual machine  Until recently most real-time software developers were electrical engineers with a knowledge of computers 11/17/2015 6 Dr. Alain Beaulieu

7 Typical Requirements of a RTOS  multi-tasking  single processor -> quasi-concurrent tasks  typically # of tasks - 32, 64, 128 or unlimited  scheduling  creation/deletion and scheduling policy of tasks  time slice/round robin (equal priority)  static priority versus dynamic priority  multiprocessor support  more advanced features  non-traditional 11/17/2015 7 Dr. Alain Beaulieu

8 Typical Requirements of a RTOS  control of shared resources  mutual exclusion mechanisms  semaphores, monitors  inter-task communication/synchronization  synchronous and asynchronous data transfer  mailboxes and queues  memory management  minimal for diskless systems 11/17/2015 8 Dr. Alain Beaulieu

9 Typical Requirements of a RTOS  ROMable  embed into product  scalable  conditional compilation, optimization  add-ons, plug-ins  reliable  robust, well established, well tested  deterministic  execution time of all services and functions known and published 11/17/2015 9 Dr. Alain Beaulieu

10 Typical Requirements of a RTOS  source code support  traditionally Assembly, C, Ada  today C++, Java  target support  micro-controller market versus DSP versus PC  60k, PowerPC, … / TI DSPs … / x86, SPARC  tool support  debuggers, compilers, linkers, 3rd party  visibility tools (MicroC- Probe)  TCP/IP support  distributed RTS support 11/17/2015 10 Dr. Alain Beaulieu

11 Characteristics of RTOS  small kernel footprints  2.5k - 400k ROM / 0.5k - 30k RAM  RAM per thread / queue  50/30 bytes - 1k/200 bytes  scheduling policies  round-robin, fixed priority, dynamic priority  priority inversion support  thread switching times  10  sec - 1000 clock cycles (~350 nsec on a 2.8GHz processor)  costs (US$)  $69.95 (source included) - $25,000 per seat 11/17/2015 11 Dr. Alain Beaulieu

12 Advantages & Disadvantages of using a RTOS  Advantages  Simplifies design  Facilitates application expansion (scalability)  Provides a set of commonly used “built-in” services  Deterministic (hopefully)  Disadvantages  Extra overhead (2-4% is typical)  Cost (although this may be deceiving)  Potential increased complexity  There are cases where an RTOS is “over-kill” 11/17/2015 12 Dr. Alain Beaulieu

13 Examples   C/OS-II  by Jean Labrosse: sold with book, source included  very small footprint, preemptive kernel, ¢¢  VRTX  medium footprint, popular with military, $  pSOS  medium footprint, scalable, 4 scheduling policies  modern, high end, complete support, $$$  Tornado / VxWorks  large footprint, scalable, 3 scheduling policies  high performance real-time IDE & RTOS, $$$ 11/17/2015 13 Dr. Alain Beaulieu

14 References [1] Cooling, J.E., “Software Design for Real-time Systems”, Chapters 1 & 9. [2] Labrosse, J.J., “MicroC/OS-II”, Chapter 2. [3] Furht et al, “Real-Time UNIX Systems”, Chapter 2. [4] Greenfiled J.D., “The 68HC11 Microcontroller” Chapter 3. [5] http://www.realtime-info.be/encyc/... 11/17/2015 14 Dr. Alain Beaulieu


Download ppt "Real Time Operating Systems Introduction to Real-Time Operating Systems (Part I) Course originally developed by Maj Ron Smith."

Similar presentations


Ads by Google