Rtos
Rtos
well finally as we came to the end of our 2 day workshop...i cant help smiling...coz the best part was our team work...i wanted to mention all your names in our vote of thank session..but since time was running out...i had to skip it.. A big applause to our dynamic bachelors lukman,sreejith,emil and manu..for running b/w calicut town to mavoor and then to milma and then to railway station and so on and on....for arranging the lab sessions, for arranging the food for guests..(lukman with his camera)... Remya ad punitha did a great job in organizing our food session...thanks to remya,rithmi and neethu for ther table covers,glasses and what not... Good work by rithmi as our treasurer...we still have some money left... :) thanks to Rithmi and neethu for always being there ..they took good care of our guests.... our registration team did an awesome job...keerthi, anju,soumya...
Central server
TCP/IP over radio
Possible Solution
Collaborative Action
Routing
Dynamic Sensors/controllers may go down Auto Configurable No/easy human intervention. Less Collision/Link Clogging Less no of intermediate nodes Fast Response Time Secure
MIPS
~20 100-133 180-250 206 400 400
Presentation Outline
Definitions Role of an OS in Real Time Systems Features of Real Time Operating Systems
Linux for Real Time Systems and RTLinux rtker Our own RTOS Other RTOSs
Failure to meet deadlines is fatal example : Flight Control System Late completion of jobs is undesirable but not fatal. System performance degrades as more & more jobs miss deadlines Online Databases
Qualitative Definition.
Validation by provably correct procedures or extensive simulation that the system always meets the timings constraints
Multiple threads Complicated Synchronization Requirements Filesystem / Network / Windowing support OS primitives reduce the software design time
Features of RTOSs
Scheduling. Resource Allocation.
Scheduling in RTOS
More information about the tasks are known
All parameters about jobs (release time/ execution time/deadline) known in advance. Schedule can be computed offline or at some regular time instances. Minimal runtime overhead. Not suitable for many applications.
Jobs scheduled in FIFO manner Time quantum given to jobs is proportional to its weight Example use : High speed switching network
QOS guarantee.
Processor never left idle when there are ready tasks Processor allocated to processes according to priorities Priorities
static - at design time Dynamic - at runtime
Priority Scheduling
Earliest Deadline First (EDF)
Process with earliest deadline given highest priority slack = relative deadline execution left For periodic tasks Tasks priority inversely proportional to its period
Example : semaphores
Priority Inversion
Higher priority Thread may get blocked by unrelated low priority thread Each resource has an assigned priority Priority of thread is the highest of all priorities of the resources its holding The thread holding a resource inherits the priority of the thread blocked on that resource
Priority Ceiling
Priority Inheritance
Kernel has to respond to real time events Interrupts should be disabled for minimum possible time
Resource Allocation
eg: Disk Drivers may disable interrupt for few hundred milliseconds Interrupts may be missed
System calls like fork take a lot of time High priority thread might wait for a low priority thread to complete its system call Context switch takes several hundred microseconds
Why Linux
Coexistence of Real Time Applications with non Real Time Ones
RTLinux
Real Time Kernel at the lowest level Linux Kernel is a low priority thread
Interrupts trapped by the Real Time Kernel and passed onto Linux Kernel
RTLinux (contd)
Real Time Tasks
RTLinux Framework
Our own OS
Full grasp over source code Easily modifiable, portable
Features
Modular Design
Isolation of Architecture/CPU dependent and
Pluggable Scheduler Two level Interrupt Handling Small footprint Oskits Device Driver Framework
Pluggable Scheduler
Scheduler - part of the Application Kernel interacts with the scheduler through an API Application developer needs to implement the scheduler API
Can optimize on Data Structures & Algorithms for implementing the scheduler
Other Features
Footprint
Small footprint (~50kb) Allows direct porting of existing drivers from Linux. Example Ethernet Driver of Linux
Other RTOSs
LynxOS
Microkernel Architecture
Kernel provides scheduling/interrupt handling
Memory Protection/ Demand Paging Optional Development and Deployment on the same host
OS support for compilers/debuggers
Monolithic Architecture Real Time Posix compliant Cross development System Object Oriented OS
pSOS