Sie sind auf Seite 1von 3

Research on Operating System used in Embedded System.

A brief explanation
on scheduling algorithm used in embedded system.
An embedded operating system is an operating system for embedded computer systems. This type
of operating system is typically designed to be resource-efficient and reliable. Resource efficiency
comes at the cost of losing some functionality or granularity that larger computer operating
systems provide, including functions which may not be used by the specialized applications they
run. Depending on the method used for multitasking, this type of OS is frequently considered to
be a real-time operating system, or RTOS.
An important difference between most embedded operating systems and desktop operating
systems is that the application, including the operating system, is usually statically linked together
into a single executable image. Unlike a desktop operating system, the embedded operating system
does not load and execute applications. This means that the system is only able to run a single
application.
It is usually designed for some particular operations to control an electronic device. For instance,
all mobile phones essentially consist of an operating system that always boots up when the mobile
phone is in running condition. It controls all the features and basic interface of the mobile phone.
There are some other programs that can be loaded onto the mobile phones. Mostly, JAVA Apps
run on the top. Embedded operating systems runs on embedded processors.

Characteristics of Embedded System:


 Direct use of interrupts
 Reactive operation
 Real-time operation
 Streamlined protection mechanisms
 I/O device flexibility
 Configurability

Types of Embedded Operating System:


 Single System Control Loop
 Multi-tasking Operating System
 Rate Monotonic Operating System
 Preemptive Operating System
 Real Time Operating System

Embedded Operating Systems Applications


Once the embedded operating system is compiled it can be used in a variety of application. The
list is for mobile using the embedded operating system.

 Symbian
 Embedded Linux
 Palm OS
 Windows Mobile
 iOS
 BlackBerry OS

Scheduling Algorithms
The scheduling algorithms are used to determine which task is going to execute when more than
one task is available in the ready queue. The operating system must guarantee that each task is
activated at its proper rate and meets its deadline. . There are various scheduling algorithms used
in embedded systems some of them are:
 Run to Completion Scheduler
 Round Robin Scheduler
 Time Slice Scheduler
 Priority Scheduler

Priority Scheduler:
Priority scheduling is a method of scheduling processes based on priority. In this method, the
scheduler chooses the tasks to work as per the priority, which is different from other types of
scheduling, for example, a simple round robin.
Priority scheduling involves priority assignment to every process, and processes with higher
priorities are carried out first, whereas tasks with equal priorities are carried out on a first-come-
first-served (FCFS) or round robin basis. An example of a general-priority-scheduling algorithm
is the shortest-job-first (SJF) algorithm.
Priorities can be either dynamic or static. Static priorities are allocated during creation, whereas
dynamic priorities are assigned depending on the behavior of the processes while in the system.
To illustrate, the scheduler could favor input/output (I/O) intensive tasks, which lets expensive
requests to be issued as soon as possible.
Priorities may be defined internally or externally. Internally defined priorities make use of some
measurable quantity to calculate the priority of a given process. In contrast, external priorities are
defined using criteria beyond the operating system (OS), which can include the significance of the
process, the type as well as the sum of resources being utilized for computer use, user preference,
commerce and other factors like politics, etc.
Priority scheduling can be either of the following:
Preemptive: This type of scheduling may preempt the central processing unit (CPU) in the case
the priority of the freshly arrived process being greater than those of the existing processes.
Non-preemptive: This type of scheduling algorithm simply places the new process at the top
of the ready queue.
Indefinite blocking, otherwise called starvation, is one of the major issues concerning priority
scheduling algorithms. It is a state where a process is ready to be executed, but faces a long wait
in getting assigned to the CPU.It is often possible that a priority scheduling algorithm can make a
low-priority process wait indefinitely. For example, in an intensely loaded system, if there are a
number of higher priority processes, the low-priority processes may never get the CPU for
execution.
A remedy to starvation is aging, which is a technique used to gradually increase the priority of
those processes that wait for long periods in the system.

Das könnte Ihnen auch gefallen