Chapter6 RTOS Scheduling

Chapter6 RTOS Scheduling - Operating systems The operating...

Info iconThis preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon
Operating systems The operating system controls resources: who gets the CPU; when I/O takes place; how much memory is allocated. how processes communicate. The most important resource is the CPU itself. CPU access controlled by the scheduler.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Embedded vs. general-purpose scheduling Workstations try to avoid starving processes of CPU access. Fairness = access to CPU. Embedded systems must meet deadlines . Low-priority processes may not run for a long time.
Background image of page 2
R eal-time operating system (RTOS) features Task scheduling Priority, time-slice, fixed ordering, etc. Meet real-time requirements Inter-task communication Task synchronization & mutual exclusion Protect tasks from each other Memory management Scalability Library of plug-ins at compile time to minimize size of RTOS
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Other operating system functions Date/time. File system. Networking. Security.
Background image of page 4
Commercial RTOSs (partial) AMX (KADAK) C Executive (JMI Software) RTX (CMX Systems) eCos (Red Hat) INTEGRITY (Green Hills Software) LynxOS (LynuxWorks) µC/OS-II (Micrium) Neutrino (QNX Software Systems) Nucleus (Mentor Graphics) POSIX (IEEE Standard) FreeRTOS.org RTOS-32 (OnTime Software) OS-9 (Microware) OSE (OSE Systems) pSOSystem (Wind River) QNX (QNX Software Systems) Quadros (RTXC) RTEMS (OAR) ThreadX (Express Logic) Linux/RT (TimeSys) VRTX (Mentor Graphics) VxWorks (Wind River)
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
General OS model (Linux-like) Embedded OS O/S Services Kernel Device Drivers (optional) Process Management Memory Management Network Interface Virtual File System Inter-Process Communication Application Program
Background image of page 6
OS process management OS needs to keep track of: process priorities; scheduling state; process activation record. Processes may be created: statically before system starts; dynamically during execution. Example: incoming telephone call
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Multitasking OS Program 1 Program 2 Program 3 OS Task 1 Program 1 Task 1 Registers Task 1 Stack Task 2 Program 2 Task 2 Registers Task 2 Stack Task 3 Program 3 Task 3 Registers Task 3 Stack Task activation records Process = unique execution of a program •code + data •multiple processes may share code •each process has unique data (CPU registers, stack, memory) •process defined by its “activation record”
Background image of page 8
Multitasking OS
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Process threads (lightweight processes) Program 1 OS Task 1 Program 1 Task 1 Registers Task 1 Stack Task activation record Thread 1 Thread 2 Thread 3 Threads have own CPU register values, but cohabit same memory space, so they could affect data of another thread. •a process may have multiple threads •threads may run on separate CPU cores
Background image of page 10
Typical process/task activation records (task control blocks) Task ID Task state (running, ready, blocked) Task priority Task starting address Task stack Task CPU registers Task data pointer Task time (ticks)
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Process state A process can be in one of three states: executing
Background image of page 12
Image of page 13
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/23/2011 for the course ELEC 6260 taught by Professor Nelson,v during the Summer '08 term at Auburn University.

Page1 / 51

Chapter6 RTOS Scheduling - Operating systems The operating...

This preview shows document pages 1 - 13. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online