24-12-2012, 05:52 PM
REAL-TIME OPERATING SYSTEMS (RTOS)
REAL-TIME OPERATING.ppt (Size: 1.77 MB / Downloads: 437)
Introduction
A more complex software architecture is needed to handle multiple tasks, coordination, communication, and interrupt handling – an RTOS architecture
Distinction:
Desktop OS – OS is in control at all times and runs applications, OS runs in different address space
RTOS – OS and embedded software are integrated, ES starts and activates the OS – both run in the same address space (RTOS is less protected)
RTOS includes only service routines needed by the ES application
RTOS vendors: VsWorks (we got it!), VTRX, Nucleus, LynxOS, uC/OS
Most conform to POSIX (IEEE standard for OS interfaces)
Desirable RTOS properties: use less memory, application programming interface, debugging tools, support for variety of microprocessors, already-debugged network drivers
Tasks and Task States
A task – a simple subroutine
ES application makes calls to the RTOS functions to start tasks, passing to the OS, start address, stack pointers, etc. of the tasks
Task States:
Running
Ready (possibly: suspended, pended)
Blocked (possibly: waiting, dormant, delayed)
[Exit]
Scheduler – schedules/shuffles tasks between Running and Ready states
Blocking is self-blocking by tasks, and moved to Running state via other tasks’ interrupt signaling (when block-factor is removed/satisfied)
When a task is unblocked with a higher priority over the ‘running’ task, the scheduler ‘switches’ context immediately (for all pre-emptive RTOSs)