Research On Operating System Used in Embedded System. A Brief Explanation On Scheduling Algorithm Used in Embedded System

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Research on Operating System used in Embedded System.

A brief explanation
on scheduling algorithm used in embedded system

Operating System used in Embedded System

Multi-Tasking Operating System


As the name suggests that this operating system can perform multiple tasks.  In multi-tasking
operating system there are several tasks and processes that execute simultaneously. More than
one function can be performed if the system has more than one core or processor.
The operating system is switched between tasks. Some tasks wait for events while other receive
events and become ready to run. If one is using a multitasking operating system, then software
development is simplified because different components of software can be made independent to
each other.
Single System Control Loop
Single system control loop is the simplest type of embedded operating system. It is so like
operating system but it is designed to run the only single task. It still under debate that this
system should be classified as a type of operating system or not.
Preemptive Operating System
A preemptive operating system is a type of multitasking operating system that interprets the
preemptive predominance for tasks. A higher priority is task is always defined and run before a
lower priority task. Such multi-tasking operating systems are efficient in increasing system
response to events and also simplify the development of software making the system more
reliable. The designer of the system may be able to calculate the time required for the service
interprets in a system and also the time is taken by the scheduler for switching tasks. Such
systems may fail to meet the deadline of a system and the software is unaware of the missed
deadline. CPU loading in a preemptive operating system can be measured naturally by defining a
lower priority task that only increments counter and do nothing else.
Rate Monotonic Operating System
It is a type of operating system that ensures that task runs in a system can run for a specific
interval of time and for a specific period of time. When it is not ensured, there comes a
notification of failure to system software to take suitable action. This time limit cannot be
ensured if the system is oversubscribed, at this point another event may occur during run time
and the failure notification comes.
Real Time Operating System
A real-time operating system is the one which serves real time applications. It processes data as
it comes in. The time requirements for processing of operating system are usually measured in
shorter increments or in 10th of seconds. They may be time sharing or driven by events. Real time
Operating systems are used in small embedded systems.
The main features of real-time operating system include
 Process threads that can be defined
 Multitasking
 Interrupt levels
Real Time Embedded Operating Systems Examples
VxWorks
 It is developed by Wind River.
 The latest version of this operating system is VxWorks 6.0.
 It is widely used software operating system.
 At the moment, there are 300 million devices that utilize this operating system.
 The core or processor of VxWorks credits reliability, high performance, low latency,
determinism, and scalability.
 It has increased potential for the management of errors.
 It has compatibility with extensive POSIX 1003.1, .1b, .1c,
 It uses preemptive priority and has scheduled for both real time and non-real time
processes.
 Memory is protected on the basis of MMU.
 It has reduced context switch time. It restores only register windows.
 For increasing response time, it saves the windows that are registered in a register cache
and they are used for recurring tasks.
Microkernels
 Microkernels is an operating system that consists of the basic necessities like scheduling,
task switching, and device handling.
 Micro Kernels implement different memory techniques and protect all system
components.
 Some of the microkernels protect memory by separating all components of software from
one another.

Scheduling algorithm used in embedded system

Online Scheduling Algorithm


In Online scheduling a task executes with respect to its priority, which is determined in real time
according to specific rule and priorities of tasks may change during execution. The online line
scheduling algorithm has two types. They are more flexible because they can change the priority
of tasks on run time according to the utilization factor of tasks
Offline Scheduling Algorithm
Offline scheduling algorithm selects a task to execute with reference to a predetermined
schedule, which repeats itself after specific interval of time. For example, if we have three tasks
Ta, Tb and Tc then Ta will always execute first, then Tb and after that Tc respectively.
Fixed priority algorithms
In fixed priority if the kth job of a task T1 has higher priority than the kth job of task T2
according to some specified scheduling event, then every job of T1 will always execute first then
the job of T2 i.e. on next occurrence priority does not change.  More formally, if job J(1,K)  of
task T1 has higher priority than J(2,K) of task T2 then  J(1,K+1)  will always has higher priority
than  of J(2,K+1) . One of best example of fixed priority algorithm is rate monotonic scheduling
algorithm.
Dynamic priority algorithms
In dynamic priority algorithm, different jobs of a task may have different priority on next
occurrence, it may be higher or it may be lower than the other tasks. One example of a dynamic
priority algorithm is the earliest deadline first algorithm.

Processor utilization factor (U)


For a given task set of n periodic tasks, processor utilization factor U is the fraction of time that
is spent for the execution of the task set. If Si is a task from task set then Ci/Ti  is the time spent
by the processor for the execution of Si . Similarly, for the task set of n periodic tasks.Processor
utilization is greater than one then that task set will not be schedulable by any algorithm.
Processor utilization factor tells about the processor load on a single processor. U=1 means
100% processor utilization. Following scheduling algorithms will be discussed in details in next
articles:
 Rate monotonic scheduling Algorithm
 Earliest deadline first scheduling Algorithm
 real time operating systems 
 Enhanced Least Laxity first scheduling algorithms

You might also like