13
Real Time Operating System In this section we briefly survey the important features of some of the popular real time operating system that are being used in commercial application. There are 9 popular real time operating system available in the depends upon the work. 1. pSOS (Portable Software On Silicon) : Name of the RTS : Portable Software On Silicon (pSOS) Application: PSOS based application development has schematically been shown in fig 1. the host computer is typically a desktop that supports both Unix & windows host. The target board contain the embedded processor, ROM, RAM etc. The host computer runs the editor, cross compiler, source level debugger and library routines. Psos+ and other optional modules such as PAN+,PHILE and PROBE are instell on a RAM on the terget board. PAN+ is the network manager thats thats provides TCP/IP communication between the host abd the terget over ethernet and FDDI. It conforms to unix 4.3 socket syntex and is compatible with other TCP/IP based networking standerds search as ftp and NFS. PROBE+ is a terget debugger and XRAY+ is the Source level debugger. XRAY+ invokes PROBE+ to provide a seamless debugging enviroment to real time application developer. The application development is done on the host machine and download to the terget board. The application is debugged using the source debugger(XRAY+). During application development the application on to a RAM on the target. Once the application runs satisfactorily, it is fused on the ROM. Develop by: pSOS (Portable Software On Silicon) is a realtime operating system (RTOS), created in about 1982 by Alfred Chao, and developed/marketed for the first part of its life by his company Software component group (SCG). In the 1980s pSOS rapidly became the RTOS of choice for all embedded systems based on the family architecture. Scheduling Algorithm: Static table driven: The feasibility and schedule are determined statically. A common example is the cyclic executive, which is also used in many large-scale dynamic real-time systems. It assigns tasks to Editor Cross compiler XRAY+ Libraries Terget Board ROM APP PSOS+ PHILE PROBE

Rts assighment final

Embed Size (px)

DESCRIPTION

It is a short information about how many real time operating system present in now a days.

Citation preview

Page 1: Rts assighment final

Real Time Operating System

In this section we briefly survey the important features of some of the popular real time operating

system that are being used in commercial application.

There are 9 popular real time operating system available in the depends upon the work.

1. pSOS (Portable Software On Silicon) : Name of the RTS : Portable Software On Silicon (pSOS)

Application: PSOS based application development has schematically been shown in fig 1. the host

computer is typically a desktop that supports both Unix & windows host. The target board contain the

embedded processor, ROM, RAM etc. The host computer runs the editor, cross compiler, source level

debugger and library routines. Psos+ and other optional modules such as PAN+,PHILE and PROBE are

instell on a RAM on the terget board. PAN+ is the network manager thats thats provides TCP/IP

communication between the host abd the terget over ethernet and FDDI. It conforms to unix 4.3 socket

syntex and is compatible with other TCP/IP based networking standerds search as ftp and NFS. PROBE+

is a terget debugger and XRAY+ is the Source level debugger. XRAY+ invokes PROBE+ to provide a

seamless debugging enviroment to real time application developer. The application development is done

on the host machine and download to the terget board. The application is debugged using the source

debugger(XRAY+). During application development the application on to a RAM on the target. Once the

application runs satisfactorily, it is fused on the ROM.

Develop by: pSOS (Portable Software On Silicon) is a realtime operating system (RTOS), created in about

1982 by Alfred Chao, and developed/marketed for the first part of its life by his company Software component

group (SCG). In the 1980s pSOS rapidly became the RTOS of choice for all embedded systems based on the

family architecture.

Scheduling Algorithm:

Static table driven: The feasibility and schedule are determined statically. A common example is the

cyclic executive, which is also used in many large-scale dynamic real-time systems. It assigns tasks to

Editor

Cross compiler

XRAY+

Libraries

Terget Board

ROM

APP

PSOS+

PHILE

PROBE

Page 2: Rts assighment final

periodic time slots. Within each period, tasks are dispatched according to a table that lists the order to

execute tasks. For periodic tasks, there exists a feasible schedule if and only if there is a feasible schedule

within the least common multiple of the periods. A disadvantage of this approach is that a-priori

knowledge of the maximum requirements of tasks in each cycle is necessary.

Static priority driven preemptive: The feasibility analysis is conducted statically. Tasks are dispatched

dynamically based upon priorities. The most commonly used static priority driven preemptive scheduling

algorithm for periodic tasks is the Rate Monotonic (RM) scheduling algorithm.

A periodic system must respond with an output before the next input.Therefore, the system’s response

time should be shorter than the minimum time between successive inputs. RM assigns priorities

proportional to the frequency of tasks. It can schedule any set of tasks to meet deadlines if the total

resource utilization less than ln 2. If it cannot find a schedule, no other fixed-priority scheduling scheme

will. But it provides no support for dynamically changing task periods/priorities and priority inversion.

Also,priority-inversion may occur when to enforce rate-monotonicity, a noncritical task of higher

frequency of execution is assigned a higher priority than a critical task of lower frequency of execution.

Dynamic planning based: The feasibility analysis is conducted dynamically—an arriving task is

accepted for execution only when feasible. The feasibility analysis is also a source for schedules. The

execution of a task is guaranteed by knowing its worst-case execution time and faults in the system. Tasks

are dispatched to sites by brokering resources in a centralized fashion or via bids. A technique using both

centralized and bidding-approach performs marginally better than any one of them but is more complex.

Dynamic best effort approach: Here no feasibility check is performed. A best effort is made to meet

deadlines and tasks may be aborted. However, the approaches of Earliest Deadline First (EDF) and

Minimum Laxity First (MLF) are often optimal when there are no overloads. Research into overloaded

conditions is still in its infancy. Earliest deadline first (EDF) scheduling can schedule both static and

dynamic real-time systems. Feasibility analysis for EDF can be performed in O(n2) time, where n is the

number of tasks. Unlike EDF, MLF accounts for task execution

times.

Scheduling with fault tolerance: A primary schedule will run by the deadline if there is no failure and a

secondary schedule will run by the deadline on failure. Such a technique allows graceful degradation but

incurs cost of running another schedule. In hard real-time systems, worst-case blocking must be

minimized for fault tolerance.

Scheduling with resource reclaiming: The actual task execution time may be shorter than the one

determined a-priori because of conditionals or worst-case execution assumptions. The task dispatcher

may try to reclaim such slacks, to the benefit of non real-time tasks or improved timeliness guarantees.

multi-processor support and further

Advantages : It has Control jumps to a kernel when an interrupt occurs.

Device driver are out side the kernel and can be loded and remove at the run time.

Disadvantages –

Understanding – Becoming familiar with the pSoS operating system requires patience as well as a strong

learning curve. You must have the desire to read and figure things out on your own, rather than having

everything done for you.

Page 3: Rts assighment final

PSOS is sometimes behind the curve when it comes to brand new hardware compatibility. Though the

kernel contributors and maintainers work hard at keeping the kernel up to date, PSOS does not have as

much of a corporate backing as alternative operating systems. Sometimes you can find third party

applications, sometimes you can’t.

Specification –

The pSOS kernel consists of various system calls that can be used by a pSOS application. The

system calls provide functionality for task management, semaphores, message queues, dynamic

memory allocation, time management, I/O functions, event macros, asynchronous signals

(pSOS+m only), and fatal error handling. Refer to pSOS System Calls for detailed information

about each system call.

Most of the pSOS kernel is provided as a library that can be linked into a user’s application. The

kernel is configurable by means of an include file. This include file (sys_conf.h) is compiled with a

portion of the kernel, known as the pSOS board support package (BSP). By this mechanism, the

pSOS kernel is tailored to the needs of each application.

The NDK environment relies on pSOS, and you have to work relatively hard to avoid pSOS in

NDK. NDK examples such as apps/exNDK demonstrate how pSOS is used (via an OS abstraction

layer) in DVP.

It is also possible to write a pSOS program outside of NDK. You can do this most efficiently by

copying and adapting one of the provided example directories, such as $ (TCS) /examples/psos/

psos_demo1.

This directory reflects the structure of a minimal pSOS application, the parts of which are

discussed in the following sections. In addition, many of the TriMedia application libraries make

use of pSOS.

2. RTX Real-Time Operating System

Name of the RTS: RTX Real-Time Operating System

Application: VRTS is use for large & medium Size application. It support virtual memory,has a

POSIX complient libeary and supports priority inherience . Its system calls complete deterministically in

fixed time intervals and are fully preemtable. VRTXmc is optimized for power consumption and ROM &

RAM sizes. It therefore has a very small footprint. The Kernel typically requires only 4 to 8 kbytes of

ROM and 1 kb of RAM. It does not sopport virtual memory . This Vertion is targeted for use in

embedded application such as computer -based toys, cellphone and other handheld devices.

Develop By: The VRTX operating system began as a product of Hunter & Ready, a company founded

by James Ready and Colin Hinter in 1980.

Scheduling Algorithms :

Static table driven: The feasibility and schedule are determined statically. A common example is

the cyclic executive, which is also used in many large-scale dynamic real-time systems. It assigns

tasks to periodic time slots. Within each period, tasks are dispatched according to a table that lists

the order to execute tasks. For periodic tasks, there exists a feasible schedule if and only if there is

a feasible schedule within the least common multiple of the periods. A disadvantage of this

approach is that a-priori knowledge of the maximum requirements of tasks in each cycle is

necessary.

Page 4: Rts assighment final

Static priority driven preemptive: The feasibility analysis is conducted statically. Tasks are

dispatched dynamically based upon priorities. The most commonly used static priority driven

preemptive scheduling algorithm for periodic tasks is the Rate Monotonic (RM) scheduling

algorithm.

A periodic system must respond with an output before the next input.Therefore, the system’s

response time should be shorter than the minimum time between successive inputs. RM assigns

priorities proportional to the frequency of tasks. It can schedule any set of tasks to meet deadlines

if the total resource utilization less than ln 2. If it cannot find a schedule, no other fixed-priority

scheduling scheme will. But it provides no support for dynamically changing task

periods/priorities and priority inversion. Also,priority-inversion may occur when to enforce rate-

monotonicity, a noncritical task of higher frequency of execution is assigned a higher priority

than a critical task of lower frequency of execution.

Dynamic planning based: The feasibility analysis is conducted dynamically—an arriving task

is accepted for execution only when feasible. The feasibility analysis is also a source for

schedules. The execution of a task is guaranteed by knowing its worst-case execution time and

faults in the system. Tasks are dispatched to sites by brokering resources in a centralized fashion

or via bids. A technique using both centralized and bidding-approach performs marginally better

than any one of them but is more complex.

Dynamic best effort approach: Here no feasibility check is performed. A best effort is made to

meet deadlines and tasks may be aborted. However, the approaches of Earliest Deadline First

(EDF) and Minimum Laxity First (MLF) are often optimal when there are no overloads. Research

into overloaded conditions is still in its infancy. Earliest deadline first (EDF) scheduling can

schedule both static and dynamic real-time systems. Feasibility analysis for EDF can be

performed in O(n2) time, where n is the number of tasks. Unlike EDF, MLF accounts for task

execution times.

Scheduling with fault tolerance: A primary schedule will run by the deadline if there is no

failure and a secondary schedule will run by the deadline on failure. Such a technique allows

graceful degradation but incurs cost of running another schedule. In hard real-time systems,

worst-case blocking must be minimized for fault tolerance.

Scheduling with resource reclaiming: The actual task execution time may be shorter than the one

determined a-priori because of conditionals or worst-case execution assumptions. The task

dispatcher may try to reclaim such slacks, to the benefit of non real-time tasks or improved

timeliness guarantees.

Multitasking OS: VRTX is available in two multi tasking kernels VRTXsa and VRTXmc.

Advantages :

Premier multitasking development tools reduce time-to-market

Proven technology provides a solid foundation for your application

Deterministic, preemptive multitasking kernels deliver industry-leading performance

Scalable solutions maximize your flexibility in making performance, functionality, and size tradeoffs

MMU support enhances reliability and optimizes performance through fine-grain cache control

Standard POSIX interfaces provide familiar, intuitive APIs and ease host-based prototyping

Page 5: Rts assighment final

Disadvantages: VRTX runs the Hubble Space Technology. Specification : VRTX is a POSIX-RT compliment operating system from mentor graphics. VRTX has

been certified by USFAA(Federal Aviation Agency) for use in mission and life critical application such as avionics

3. VX WORKS REAL TIME OPERATING SYSTEM

Name of the RTS: VX WORKS Real-Time Operating System

Application: Vx Works is a product from wind rader systems. It is host terget type real time os and the

host can be either a windows or a Unix machine. Vx works conforms to POSIX-RT and comes with an

integrate development enviroment (IDE) called tornado. In addition to the standers support for program

development tool search as editor, cross compiler, cross debugger, etc. Tarento contains VxSim and Wind

view. VxSim simulate a Vx Works terget for use of a prototyping and testing enviroment in the absent of

the actual terget board for wind view provide debugging tools for the simulator enviroment, VxMP is the

multiprocessor vertion of Vx Works.

Develop By : VxWorks is a real time OS developed as proprietary software by wind river system of

Alameda, California USA. First released in 1987, VxWorks is designed for use in embedded system.

Scheduling Algorithms: 1. Vxworks uses Priority Based scheduling algorithm. It can be preemptive or round robin. What it

means is task of higher priority will be occupy the CPU.

In case of tasks of same priority following will apply:

a. In Preemptive priority based Scheduling, Task will run on First come first served basis and

will not give up CPU unless other higher priority task /Interrupt comes.

b. In Round robin, ready tasks of same priority will share the CPU fairly.

In VxWorks, tasks are given a priority ranging from 0 to 255 corresponding to the highest to the lowest priority respectively (note the inverse relationship). Board support and system critical tasks fall within the priority range of 0-99. Application tasks fall in the range 100-255 and should never be higher priority than 100. The command sp defaults to priority 100. VxWorks supports two scheduling algorithms, Preemptive Priority Scheduling and Round-Robin

Scheduling with Priority. The default is Preemptive Priority Scheduling.

In this scheduling algorithm, the highest-priority task is given the CPU all of the time until it

blocks or completes. When a task of higher priority than the one currently running is spawned,

the running task is preempted and the CPU is given over to the new task. Once this task

completes, the previous task will resume execution, so long as there is not another task of

higher priority waiting to run. The key defect with this scheduling algorithm arises with tasks of

equal priority. When multiple tasks of equal priority are running, one may never be allocated

processor time if another task of the same priority never blocks. Before proceeding with the task

scheduling, we need to calibrate the dummy loops in order to have reasonably precise

computation times for the tasks. We are interested in finding how much iteration corresponds to

Page 6: Rts assighment final

a time tick. The Calibrate() in the EDF implementation runs this task. In the Tornado Shell we

should see a message similar to the following.

Multiprocessor: Vx Works is a multi processor OS.

Advantages : VxWorks is Unix-based Binary, counting, and mutual exclusion semaphores with

priority inheritance Error handling framework Fast, flexible inter-process communication including

TIPC

Full ANSI compliance and enhanced C++ features for exception handling and template support.

Disadvantages: It seems VxWorks get less stable without MMU memory protection. Several

developers experiences that the OS crashes if only one single task crashes.

VxVMI has to be purchased separate to receive MMU memory protection.

Using only a single address space increases the difficulty building applications for VxWorks in for

instance C or C++ not being able to assume that you have got the whole address space for yourself.

Specification : Innovative real-time embedded systems need a robust real-time operating system

(RTOS) that leverages the latest and greatest enhancements in processor and hardware technology.

Proven: VxWorks is the RTOS that powers more than 1 billion real-time systems across the globe, from

small consumer products to commercial airliners. When the consequences for failure are expensive or,

worse, life threatening, VxWorks RTOS is the only choice. After 30 years of RTOS leadership and

consistently successful deployments, Wind River is the name you know you can trust.

Optimized: VxWorks RTOS has been optimized for performance, determinism, and code footprint on

each processor platform it runs on. VxWorks RTOS is also optimized for specialized hardware support

for such features as network acceleration and graphics. Why waste processing power on a non-optimized

RTOS?

Innovative: VxWorks is leading the market in RTOS innovation. The first RTOS with 32-bit and 64-bit

processing, multi-core and multi-OS support, and diverse connectivity options, VxWorks provides our

customers with the leading-edge RTOS functionality they require to stay competitive. Why go with an

RTOS that doesn't provide the solutions you need to take advantage of the latest technology?

4. QNX Real time OS

Name of real time OS : QNX

Application: Qnx is intended for use in mission critical application in the areas such as medical

instrumenttation, internet routers, telemetric device, process control application and air traffic

control application .

Develop By : . The product was originally developed by Canadian company QNX Software

Systems, which was later acquired by Research In Motion.

Page 7: Rts assighment final

Scheduling Algorithms: To meet the needs of various applications, Neutrino provides these

scheduling algorithms:

* FIFO scheduling -- SCHED_FIFO

* Round-robin scheduling -- SCHED_RR

* Sporadic scheduling -- SCHED_SPORADIC

Another scheduling algorithm (called "other" -- SCHED_OTHER) behaves in the same way as

round-robin. We don't recommend using the "other" scheduling algorithm, because its behavior

may change in the future.

Advantages : Low risk, high reliability - Small or large, simple or distributed, these

systems share an unmatched reputation for operating 24 hours a day, 365 days a year,

non-stop. Time-tested and field-proven, the QNX Neutrino RTOS sets the industry

standard for reliability, fault tolerance, and scalability.

Self-healing systems

Extensive board support

Disadvantages :

Semaphores and queues perform either priority or FIFO scheduling of pending tasks.

Semaphores are counting semaphores. Message queues have either a fixed maximum size

or grow freely, limited only by the amount of available memory.

Events can make multiple tasks ready with a single system call. Events are posted to a

nexus which may contain any number of blocked tasks. Tasks waiting for an event use a

32-bit mask to select which events they respond to.

Specification : the microkernel architecture of QNX is shown in fig 2 because of the fine grained

scalability of the microkernel architecture, it can be confused to a very small size-a critical advantages in

high volume devices where even a 1 5 reduction in memory cost can return millions of dollars in profit.

Neutrion and its micro GUI- called photon are designed to operate extremely fast on a very small nenory

footprint, making their inclusion in portable devices possible. In fact ,QNX and neutrion algrady power

Web application set top boxex, mp3 player equipments used in the industrial and medical fields. Qnx

neturiono has been ported to a number of platforms and now runs on most modern cpus that are used in

the embedded market.this include the intel x86 family, mips, power PC and ARM family of processor.

Micro Kernel File System

TCP/IP Manager Application

Device Deiver

Massage Passing Interconnection

Page 8: Rts assighment final

5. uC/OS-II Real time OS

Name of Real time OS- uC/OS-II

Application- The real time operating system is written in Ansi C and contains a small portion of

assembly code. The assembly language portion has been kept to a minimum to make it easy to

port it to different processors. To date, uC/OS-II has been ported to over 100 different processor

archi ranging form 8- bit to 64-bit microprocessor, microcontroller, and DSPs.

µC/OS-III is used in a wide variety of industries:

Data Communications Equipment

White Goods (Appliances)

Mobile Phones, PDAs, MIDs

Industrial Controls

Consumer Electronics

Automotive

A Wide-Range of Embedded Applications

Develop By: Micrium company.

Scheduling Algorithms :

Scheduling Algorithms the scheduler determines which task runs by following a scheduling

algorithm (also known as scheduling policy). Most kernels today support two common scheduling

algorithms:

-based scheduling, and

-robin scheduling.

The RTOS manufacturer typically predefines these algorithms; however, in some cases, developers can

create and define their own scheduling algorithms.

Advantages :

µC/OS-II runs on a large number of processor architectures and ports are available

µC/OS-II is now 99% compliant with the Motor Industry Software Reliability Association (MISRA) C

Coding Standards.

Disadvantages :

compile-time option promotes all service call errors to fatal errors that cause an error message on

stderr and a break into the debug monitor. This helps catch simple programming errors that can

otherwise waste valuable time.

Multiprocessor Real time OS

Specification :

uC/OS-II was designed to let the programmers have the option of using just a few of the offered services

or select the entire range of services. This allows the programmers to minimize the amount of memory

needed by uC/OS-II on a per product basic.

uC/OS-II has a fully preeemtive kernel. This means this uC/OS-II always ensures than the heighs priority

ask that is ready would be taken up for execution.

Page 9: Rts assighment final

uC/OS-II allows up to 64 tasks to be created. Each tasks is required to operate at a unique priority level,

amongs the 64 priority levels. This means round robin scheduling s not supported.

6. RT LINUX:

Name of Real Time OS: RT LINUX.

Application :

RTLinux provides the capability of running special realtime tasks and interrupt handlers on the

same machine as standard Linux. These tasks and handlers execute when they need to execute no

matter what Linux is doing. The worst case time between the moment a hardware interrupt is

detected by the processor and the moment an interrupt handler starts to execute is under 15

microseconds on RTLinux running on a generic x86 (circa 2000). A RTLinux periodic task runs

within 25 microseconds of its scheduled time on the same hardware. These times are hardware

limited, and as hardware improves RTLinux will also improve. Standard Linux has excellent

average performance and can even provide millisecond level scheduling precision for tasks using

the POSIX soft realtime capabilities. Standard Linux is not, however, designed to provide

submillisecond precision and reliable timing guarantees. RTLinux was based on a lightweight

virtual machine where the Linux "guest" was given a virtualized interrupt controller and timer,

and all other hardware access was direct. From the point of view of the real-time "host", the Linux

kernel is a thread. Interrupts needed for deterministic processing are processed by the real-time

core, while other interrupts are forwarded to Linux, which runs at a lower priority than realtime

threads. Linux drivers handle almost all I/O. First-In-First-Out pipes (FIFOs) or shared memory

can be used to share data between the operating system and RTLinux.

Develop By:

It was developed by Victor Yodaiken, Michael Barabanov, Cort Dougan and others at the New Mexico

Institute of Mining and Technology and then as a commercial product at FSMLabs.

Scheduling Algorithms:

1. Rate-monotonic scheduling Rate-monotonic scheduling sets static priorities to the periodic

tasks which it's scheduling. If a task has ashort period - that is, it will be executed often, the

scheduler will give it a higher priority. Tasks with longer period gets a lower priority. If the CPU

is executing a low priority task when it's time to execute a task with

higher priority, the scheduler preempts the running task and starts executing the high priority task.

If a set of periodic tasks can be scheduled by assigning static priorities, the rate-monotonic

scheduler will be able to do it. Worse is that rate-monotonic scheduling can't always guarantee

that it's possible to schedule a set of tasks, or more correctly, it can't always maximize the CPU

utilization. If the CPU utilization required to schedule n tasks overrides 2(2^(1/n)-1) the scheduler

can't guarantee they will all meet their deadlines.

2. Earliest-Deadline-First scheduling

A big difference between Earliest-Deadline-First scheduling (EDF) and Rate-monotonic

scheduling is that EDF has dynamic priorities. The priorities are dynamic in the way that the task

with the earliest deadlinealways has highest priority and will preempt any other tasks running.

The processes scheduled by EDF scheduling don't have to be periodic or require a constant

amount of CPU time. Theoretically EDF scheduling is optimal, which means it can schedule

Page 10: Rts assighment final

processes so that they will meet all of their deadlines and at the same time make use of all the

CPU time available.

Multiprocessor.

Advantages : RT linux is a self host operating system.

The real time kernel set between herdware & linux system

Disadvantage :

The CPU vector table is initialized at startup with default vectors that allow bus errors and

spurious interrupts to be reported on the stderr console.

Specification :

The majority of RTLinux functionality is in a collection of loadable kernel modules that provide optional

services and levels of abstraction. These modules include:

rtl sched a priority scheduler that supports both a "lite POSIX" interface described below and the

original V1 RTLinux API.

rtl time which controls the processor clocks and exports an abstract interface for connecting

handlers to clocks.

rtl posixio supports POSIX style read/write/open interface to device drivers.

rtl fifo connects RT tasks and interrupt handlers to Linux processes through a device layer so that

Linux processes can read/write to RT components.

semaphore is a contributed package by Jerry Epplin which gives RT tasks blocking semaphores.

POSIX mutex support is planned to be available in the next minor version update of RTLinux.

mbuff is a contributed package written by Tomasz Motylewski for providing shared memory

between RT components and Linux processes.

7. Lynx Real time OS

Name or Real Time OS- Lynx Real time OS.

Application : The lyns microskernel is 28 kb in size and provids the essential services for task

scheduling, interrupt dispatch, and synchronization. The other services ar provided as kernel

plug-ing(KPLs). By adding KPls to the microkernel, the systems can be configured to support i/o

file system, sockets, and so on. With full configuration, it can even function as a multipurpose

unix machine on which both hard and soft real time tasks can run

Page 11: Rts assighment final

Develop By:

LynxOS (Lynx SOS) was developed by LynuxWorks (the company formerly Lynx Real-Time

Systems)UNIX-like a real-time operating system .

Scheduling Algorithms:

1. Rate-monotonic scheduling Rate-monotonic scheduling sets static priorities to the periodic

tasks which it's scheduling. If a task has ashort period - that is, it will be executed often, the

scheduler will give it a higher priority. Tasks with longer period gets a lower priority. If the CPU

is executing a low priority task when it's time to execute a task with

higher priority, the scheduler preempts the running task and starts executing the high priority task.

If a set of periodic tasks can be scheduled by assigning static priorities, the rate-monotonic

scheduler will be able to do it. Worse is that rate-monotonic scheduling can't always guarantee

that it's possible to schedule a set of tasks, or more correctly, it can't always maximize the CPU

utilization. If the CPU utilization required to schedule n tasks overrides 2(2^(1/n)-1) the scheduler

can't guarantee they will all meet their deadlines.

2. Earliest-Deadline-First scheduling

A big difference between Earliest-Deadline-First scheduling (EDF) and Rate-monotonic scheduling is

that EDF has dynamic priorities. The priorities are dynamic in the way that the task with the earliest

deadline always has highest priority and will preempt any other tasks running. The processes scheduled

by EDF scheduling don't have to be periodic or require a constant amount of CPU time. Theoretically

EDF scheduling is optimal, which means it can schedule processes so that they will meet all of their

deadlines and at the same time make use of all the CPU time available .

Multiprocessor: LYNX is multiprocessor Unix Machine.

Advantages :

It is a self hosting operating System

Lynx supported memory protection.

Disadvantages :

Tasks may be configured for round robin scheduling among tasks of the same priority. The time slice

value is configurable and may be examined or modified at any time.

Specification : Lynx is a self host real time OS and is available from lynuxworks.com. the

currently available versions of lynx is a microkernel – based real OS. Through the earlier versions

were besed on monolithic design. Lynx is fully compatible with linux. With Lynx’s binary

compatibility, a linux program’s binary image can be run direcly on Lynx.

8. Windows CE

Name Of Real time OS : Windows CE

Applcation :

Page 12: Rts assighment final

Develop by: Windows

Scheduling Algorithms:

Priority inheritance scheme- priority inversion is a problematic scenario in scheduling when a higher

priority task is indirectly preempted by a lower priority task effectively "inverting" the relative priorities

of the two tasks.

This violates the priority model that high priority tasks can only be prevented from running by higher

priority tasks and briefly by low priority tasks which will quickly complete their use of a resource shared

by the high and low priority tasks

Uniprocessor OS.

Advantages :

If you find yourself with a very basic, old computer running with a 286 or 386 processor, running a

version of Windows later than 3.1 will make the computer much too slow. Windows 3.1 will function

better if there are at least 16 MB of RAM inside.

Microsoft has put a stronger emphasis on being able to do many processes at once. This can lead

to cluttered desktops and tough-to-navigate files and folders.

Disadvantages :

Microsoft offers developers part of the Windows CE source code, as well as development tools for

modifying the operating system to specific purposes. Windows CE is still considered a completely closed

system, however. This can be a large disadvantage if the level of customization goes far beyond what is

offered within the development package. Linux is a popular choice for an alternative if this situation

occurs

Windows CE is expensive compared to other embedded system options

Specification :

Windows CE has minimum foot print of 400 kb only. It provided 256 priority levels and to optimize

performance, all threads are run in the kernel mode. The timer accuracy is 1 mSec for sleep and wait

related APIs.the different functionalities of the kernel are broken down into small nojn-preemptive

sections. As a result during system call, preemption is turned off for only short periods of time.

9. AVIX Real Time Operating System

Name of Real Time OS : AVIX Real Time Operating System

Application :

AVIX is a modern RTOS based on the segmented RTOS architecture. AVIX supports many of

the most advanced micro controllers and fully exploits their capabilities.

Develop BY: AVIX RT

Page 13: Rts assighment final

Advantages : is fast, very fast,

– offers unprecedented Interrupt Handling capabilities

– consumes little RAM,.

– makes application development manageable,

– offers real time insight in the application dynamics,

– comes with Kernel Aware Debugging,

Specification –

AVIX-RT is specialized in development and support of the AVIX RTOS, your RTOS of choice

when speed, low RAM usage and high speed interrupt handling are required.

AVIX-RT has the knowledge and experience to ensure AVIX is and will be an RTOS meeting

your highest expectations

AVIX-RT works with many partners to guarantee the highest level of compatibility between our

software and the target hardware