120 likes | 698 Views
An Overview of Real Time Operating Systems. John C. Shovic. What is a Real Time System?. A system where timeliness is as important as the correctness of the outputs Real Time systems may not be “Fast” systems
E N D
An Overview of Real Time Operating Systems John C. Shovic
What is a Real Time System? • A system where timeliness is as important as the correctness of the outputs • Real Time systems may not be “Fast” systems • Real Time systems must satisfy explicit (bounded) response-time constraints or risk failure
Real Time Software • Complexity of real time software is enormous • Building “polling” software that can do everything is complicated and when it needs to be changed, it’s very difficult
More Definitions • Embedded System - Software system completely encapsulated by the hardware it controls • Organic System - Software system that is not highly dependent on the hardware and has a generalized user interface • Semi-detached system - Software system that has attributes of both embedded and organic systems
RTOS • Real Time Operating Systems • A Powerful Partioning Tool • Manages Resources • Manages Conflicts • Aids in partioning problems
Resources • Tasking and Scheduling - Actions • ISR Support - Hardware Interface • Semaphores- Communication • Mailboxes - Communication • Queues - Communication
Actions and RTOS Queue Data Monitor Errors Print Manage Paper RTOS
Tasks, Threads and Processes • Task = Process - Independently executing entity that may control resources. May contain multiple threads • Thread - A path through the code - A task may have multiple threads iff each thread has own data area
Task Swapping • Co-operative - The task gives up control • Time-Slice - Context switcher shares time • Preemptive - context switcher shares time, budgeting both on fairness and dynamic task priorities
Real-Time Concepts • Doing Hard Time - Tasks have to be performed correctly and on time • Doing Soft Time - Tasks have to be done as fast as possible, but not on a specific time • Most systems are mixes
Foreground/Background • Foreground - ISR/Asynchronous events • (Also called Interrupt Level) • Background - “infinite loop” that calls modules to perform desired functions • (Also called Task Level)
Foreground/Background Systems Background Foreground ISR ISR ISR Time ISR Code Execution