Abstract- this paper will discourse and give an penetration into Real Time Operating Systems ( RTOS ) . What is required and what is needed to be considered when planing a RTOS will be discussed. The features involved in planing a RTOS system will besides be mentioned as these features will find whether a RTOS is efficient, fast, dependable or merely hapless.

The programming techniques will be explored. What algorithms are available for RTOS and which are most normally used in today ‘s existent clip runing systems.

GET EVEN A BETTER ESSAY WE WILL WRITE A CUSTOM
ESSAY SAMPLE ON
Real Time Operating Systems And Scheduling... TOPICS SPECIFICALLY FOR YOU

Key works- Real Time Operating System, features, programming, algorithm

Introduction

Real Time Operating Systems ( RTOS ) are an of import facet of mundane life. They are applications that are in control of research lab experiments, telecommunications, robotics, air traffic control and military bid and control systems.

But what precisely is a RTOS? ? ? An RTOS is an operating system that has being developed for existent clip application and embedded systems. It is necessary to give an account of what an operation system is and besides give a definition for existent clip application to understand the basic constructs of existent clip runing systems.

A existent clip application is an application that guarantees both rightness of consequence and the added restraint of run intoing a deadline.

Operating System will be explained below as it requires more than a definition.

OPERATING System

The operating system acts as an go-between between plans and the computing machine hardware. It provides

Resource allotment

Task direction, programming and interaction

Hardware abstraction

I/O interface

Time control

Mistake handling

The nucleus of the operating systems is the Kernel. It is the smallest portion of the operating system. Kernel is extremely optimized and is typically a set of libraries.

There are a few different types of meats available.

nanokernel/picokernel – starter

Microkernel – a nanokernel with undertaking programming

Kernel- a microkernel with intertask synchronism

Executive- a meat that includes privatized memory blocks, I/O services, and other complex issues.

Operating System- an executive that besides provides generalised user interface, security, file direction system, etc

Fig 1 Basic architecture of an operating system

Real TIME OPERATING SYSTEM CHARACTERISTICS

Now that runing systems are explained and what existent clip is, RTOS can now be looked into with greater item. As mentioned above RTOS is an operating system ( OS ) intended to function existent clip applications petitions.

There are a figure of features that are required for a RTOS. These features for RTOS can be characterized as holding alone demands in 8 general countries:

Difficult real-time

Soft real-time

Aperiodic undertaking

Deterministic

Responsiveness

User control

Dependability

Fail-soft operation

Hard real-time – refers to a undertaking that must be completed and run into its deadline. Failure to run into clip restraints leads to system failure or unwanted harm doing fatal mistake to the system.

Soft real-time – refers to a undertaking that is non completed before the deadline but the resulting failure is non critical. Performance is degraded by failure to run into the undertaking clip restraints but the undertaking will be completed.

Fig. 2 Illustrate between Soft and Hard undertakings

Aperiodic undertaking – has a deadline by which it must complete or get down, or it may hold a restraint on both start and finish clip.

Deterministic – A operating systems is deterministic to the extent that all operations must be clip edge. It performs operations at fixed, predetermined times or within preset clip intervals.

Responsiveness – plants in concurrence with deterministic. Deterministic is concerned with how long an operating system delays before admiting an interrupt while reactivity is concerned with how long, after the recognition, it takes an operating system to look into the interrupt.

User control – RTOS allow the user control over undertaking precedence ( nonperiodic, difficult or soft ) , control over memory allotment, control over what disc transportation algorithms to be used… .etc.

Reliability – RTOS have to be dependable sing they are in control of so much critical operations. Loss or debasement of public presentation may hold atrocious and ruinous effects ensuing in worst instance scenario, loss of life. Therefore RTOS must be dependable.

Fail-soft operation – this characteristic refers to the manner a system preserved every bit much capableness and informations as possible if a system fails.

These features are required to plan an effectual RTOS. What is required for an existent RTOS design incorporating all of these features is discussed below.

DESIGN OF AN REAL TIME OPERATING SYSTEM

This subdivision will look at the chief demands for existent clip runing system design. The design follows the rule of implementing the followers:

Memory Management

Multitasking Capabilities

Inter undertaking communicating & A ; Recourse sharing

Input/output direction

Interrupt Handler

Undertaking and Scheduling

Memory Management – The design of memory allotment is really of import for existent clip runing systems. The general memory strategies utilized to command memory allotment normally fragments memory which can take up valuable clip to defragment. This is a major issue for undertakings that are clip sensitive.

Memory in RTOS, merely certain blocks of fixed size of dynamic memory can be required by undertakings. This strategy does non let atomization. Besides allows the usage of malloc ( ) and free ( ) and does non hold any refuse aggregation.

Multi-tasking Capabilities – A RTOS application is divided into multiple undertakings. The separation into undertakings helps to maintain the CPU busy.

Inter undertaking communicating and Resource sharing – this involves the communicating of undertakings to let the sharing of hardware and information. It is regarded as insecure for 2 undertakings to hold entree to the same specific informations or hold entree to the same hardware resource at the same time. This could ensue in capriciousness or incompatibility behavior. To forestall this, there are 3 ways available

Binary Semaphores

Message passing

Temporarily masking/disabling interrupted

Input/Output Management – a RTOS must be able to manage input/output devices. There is such a broad assortment of applications and devices, therefore it is hard to develop a consistent solution. The input/output direction must be able to cover with the unpredictable behavior of these devices.

Interrupt Handler – Interrupt animal trainer are used to barricade the highest precedence undertaking from running. These interrupts may be triggered by either hardware or package instructions. RTOS systems are designed to maintain interrupt latency to a lower limit.

Undertaking and Scheduler – The word undertaking has being used throughout this papers and has yet to be explained. It has being accepted that a undertaking is merely a occupation but has a more of import definition.

A undertaking can be described as a piece of feasible codification. This possibly a map, a plan or a kernel faculty merely to call a few. Undertakings run at the same time and are designed as a block, Task Control Block ( TCB ) .

This TCB in the RTOS contains the undertaking Idaho, undertaking precedence, undertaking position and a transcript of the last executing context. An illustration of a TCB is shown below.

Fig 3 Task control Block

A undertaking can be in 3 provinces and is controlled by the scheduler.

Runing – really executing

Ready -ready to be dispatched

Blocked – undertaking is blocked by another undertaking or resource and has to wait until province is turned to cook

The scheduler is responsible for scheduling or scuffling undertakings between Runing and Ready provinces. Scheduler selects the following undertaking to be executed and maintains waiting lines. The scheduler uses inactive or dynamic programming.

Inactive programming is a complete agenda is computed before executing.

Dynamic programming uses precedences assigned to the procedure to dynamically make up one’s mind the following executed procedure.

These scheduling techniques and the algorithms that are used in RTOS to command the Task Control blocks will be discussed in the following subdivision. Below is a figure of the undertaking in operation between provinces.

Fig. 4 Undertaking in Operation

Real TIME SCHEDULING ALGORITHMS

There are a figure of scheduling algorithms available ; they can be classified under these classs

Clock driven scheduling

Weighted Round-Robin Scheduling

Precedence Scheduling

Clock Driven Scheduling- Besides known as clip driven. All parametric quantities about occupations ( let go of time/execution clip ) known in progress. Decisions on which occupation to put to death are made at specific times. Agenda can be done when computing machine offline or at some regular clip cases ( run clip usage ) . Clock driven scheduling requires minimum runtime operating expense. These types of algorithms are used largely with inactive systems. All the belongingss of all the occupations are known at design clip.

Weight Round-Robin Scheduling- this is an beforehand measure from the original Round Robin algorithm. The Round Robin algorithm assigns clip pieces to each procedure in equal parts and in round order. Procedure managing all procedure without precedence. The clip for each procedure to put to death for one piece is known as unit of ammunition. Weighted Round-robin allows processes to run for different lengths of clip. Time quantum given to occupations is relative to its weight. A occupation with weight wt gets wt clip pieces each unit of ammunition.

Fig. 5 Weighted Round Robin Scheduling

Priority Scheduling- are a big category of scheduling algorithms that ne’er leave any resource idle deliberately. The determinations for programming are made when the release and completion of occupations occur. Priority driven algorithms are used largely with dynamic systems. They use a mix of periodic undertakings and event driven undertakings where the system has to modify to altering events and conditions. Within precedence programming, the programming may be premptive, where a undertaking can be temporarily interrupted without necessitating the undertaking cooperation and with the purpose of restarting the undertaking at a ulterior clip, or non-premptive.

There are a figure of scheduling algorithms under these classs but this paper will concentrate on

Rate Monotonic

Deadline Monotonic

Earliest Deadline First

Least Slack Time

As they are the most normally used algorithms for RTOS and are all precedence programming.

Rate Monotonic – is a fixed precedence algorithm and delegate all undertakings the same precedence. The precedence is based on the tasks period. The shorter the period, the higher the precedence. The rate of undertaking release is the opposite of the period. Therefore undertaking with higher rate will hold the higher precedence. Rate Monotonic can schedule a set of undertakings to run into deadlines if the entire resource use is less than 69.3 %

See a system with 3 undertakings where

T = ( stage ( I¦i ) , period ( pi ) , executing clip ( ei ) ,

comparative deadline ( di ) )

and where stage ( I¦i ) = 0 by default and

comparative deadline ( di ) = period ( pi )

T1 = ( 3,1 ) Rate = 1/3

T2 = ( 5,2 ) Rate = 1/5

T3 = ( 9, 5 ) Rate = 1/9

Consequences in: T1 & gt ; T2 & gt ; T3

Fig 6 Demonstrate Rate Monotonic Scheduling of the 3 undertakings.

Deadline Monotonic – This scheduling algorithm assigns undertaking precedence harmonizing to their deadlines. The undertaking with the shortest deadline will be assigned the highest precedence. Deadline Monotonic has a close relationship with Real Monotonic. When comparative deadline of every undertaking is equal to its period, so Deadline Monotonic and Rate monotonic give same consequences but if Rate Monotonic fails, Deadline Monotonic will besides neglect.

See a system with 3 undertakings where

T = ( stage ( I¦i ) , period ( pi ) , executing clip ( ei ) ,

comparative deadline ( di ) )

T1 = ( 50,50,25,100 )

T2 = ( 0,62.5,10,20 )

T3 = ( 0,125,25,50 )

In this instance utilizing Deadline Monotonic, T2 has the highest precedence because its comparative deadline is 20. T3 is following in line and T1 has the lowest precedence as its comparative deadline is 100. If Rate Monotic was used in this instance, deadline would be missed.

Fig 7 Demonstrate Deadline Monotonic Scheduling of the 3 undertakings.

Earliest Deadline First – ( EDF ) This is a good known dynamic precedence algorithm. Earliest Deadline First assigns precedences to single occupations in undertakings harmonizing to their deadline. Earlier deadline is rewarded with a higher precedence.

See a system with 3 undertakings where

T = ( stage ( I¦i ) , period ( pi ) , executing clip ( ei ) ,

comparative deadline ( di ) )

T1 = ( 2, 0.9 )

T2 = ( 5, 2.3 )

T1 earliest deadline at 0.9 so gets highest precedence.

Fig 8 Earliest Deadline First Scheduling of the 3 undertaking

Least Slack Time – ( LST ) this is another good known algorithm. This algorithm is based on the slack clip between executing clip T, and staying executing clip tr and has a deadline d. Using the relationship between these, deadline vitamin D is equal to d – T – tr. Using the scheduler, it checks the slacks of all the undertakings that are ready to be process each clip a new undertaking is released. The smaller the slack, the higher the precedence.

There are a figure of other algorthims available like First-In-First-out ( FIFO ) , Last-In-First-Out ( LIFO ) and Longest-Execution-Time-First ( LETF ) but the algorithms mentioned about are the most widely used, therefore why this paper explains them in item.

Example of a Real Time Operating System

VxWorks is a illustration of a existent clip runing system. It was created in 1982 and is developed by Wind River Systems. VxWorks is designed for usage in embedded systems. It will run on pratically any CPU that is used in the embedded market.

VxWorks is still a popular RTOS and is deployed in over 500million devices around the universe. The latest release was of Jan 2010 VxWorks 6.8.

Share this Post!

Kylie Garcia

Hi there, would you like to get such a paper? How about receiving a customized one?

Check it out