Você está na página 1de 6

EMBEDDED OPERATING SYSTEM

DEFINITION:
An embedded operating system is an operating system for embedded
computer systems.
These operating systems are designed to becompact, efficient at resource usage, and
reliable, for
saking many functions that non-embedded computer operating systems must provide,
and which
may not be used by the specialized applications they run.They are frequently also
refered to as of
real-time operating systems,which is often used as synonym for embedded operating
system .

CONCEPT OF PROCESS:

To understand how OSes manage an embedded devices hardware and


software resources, the reader must rst understand how an OS views the
system.

An OS differentiates between a program and the executing of a program. A


program is simply a passive, static sequence of instructions that could
represent a systems hardware and software resources.

Embedded OSes manage all embedded software using tasks, and can either
be unitasking
or multitasking.

Unitasking OSes typically dont require as complex a task management


facility as a

OS multitasking. In a multitasking environment, the added

complexity of allowing multiple

existing tasks requires that each process

remain independent of the others and not affect any other without the specific
programming to do so.

This multitasking model provides each process with more security, which is
not needed in a unitasking environment. Multitasking can actually provide a
more organized way for a complex embedded system to function.

In a multitasking environment, system activities are divided up into simpler,


separate components, or the same activities can be running in multiple
processes simultaneously,as shown in Figure below

Figure : Multitasking OS

ARCHITECTURE OF EMBEDDED OPERATING SYSTEM:

Figure 1: Architecture of Embedded operating system

As shown from the above Figure1 , the blocks present in the architecture is
explained below.

MIDDLEWARE:

In the most general terms, middleware software is any system software that is
not the OS kernel, device drivers, or application software. Note that some
OSes may integrate middleware into the OS executable .

In short, in an embedded system middleware is system software that typically


sits on either the device drivers or on top of the OS, and can sometimes be
incorporated within the OS itself.

Figure 2: Middleware with in the embedded system model

There are many different types of middleware elements, including message


oriented middleware (MOM), object request brokers (ORBs), remote

procedure calls (RPCs), database/database access, and networking protocols


above the device driver layer and below the application layers of the OSI
model. However, most types of middleware commonly fall under one of two
general categories:

generalpurpose, meaning they are typically implemented in a variety of


devices such as networking protocols above the device driver layer and below
the application layers of the OSI model, file systems , or some virtual
machines such as the JVM.

market-specific, meaning they are unique to a particular family of embedded


systems, such as a digital TV standard-based software that sits on an OS or
JVM.

KERNEL:

In computing, the kernel is a computer program that manages I/O


(input/output) requests from software, and translates them into data
processing instructions for the central processing unit and other electronic
components of a computer. The kernel is a fundamental part of a modern
computer's operating system.

I/O system management: The idea of a kernel where I/O devices


are handled uniformly with other processes, as parallel co-operating
processes, was first proposed and implemented by Brinch Hansen . In
Hansen's description of this, the "common" processes are called internal
processes, while the I/O devices are called external processes.

Memory management :The kernel has full access to the system's


memory and must allow processes to safely access this memory as they
require it. Often the first step in doing this is virtual addressing, usually
achieved by paging and/or segmentation.

Process management: Approved that from a logical point of view,


atomic lock and unlock operations operating on binary semaphores are
sufficient primitives to express any functionality of process management.

DEVICE DRIVERS:

Device driver code contorls a boards I/O hardware. In order to manage I/O,
an OS
may require all device driver code to contain a specific set of functions ,such

as start-up,
shut-down,enable,disable and so on.

DIFFERENCES BETWEEN DESKTOP-OS AND EMBEDDED-OS:

EMBEDDED-OS:

Scalability

Real-time performance (in the case of an RTOS)

Broad architecture support

Features such as file-systems, networking, GUI, USB, WiFi etc. are usually
via add-on

options or third-party libraries, and may not be available for all

systems, or will need to be implemented or ported by the developer.

Many different and largely incompatible systems.

DESKTOP-OS:

Less scalable

Not real-time capable, or limited real-time capability.

Broad application support

Large body of developers

Only three major players, only two of which are embeddable.

Wide choice of development languages and tools

Extensive standard peripheral hardware, file-system and communications


support.

Development host and target environment may be the same.

EMBEDDED-OS STANDARDS:

Standards dictate how the components should be design as by seen in below


Figure3.

Figure 3: Architectural view of embedded OS standards

The additional components are required in the system to allow for their
success integration and function,these are classified as

i.

General purpose standards

ii. Market specific standards


iii. Standards that are applicable for both categories

General purpose standards used for the security, networking, programing


-language,quality,assurance etc.,

Market specific standards used for consumer


electronics,medical,industrial automation and control,networks and
communications,aerospace etc.,

Open Standards in the technology industry refer to publicly available


specifications that can allow disparate technologies to communicate and
interoperate with each other.

Open Standards also allow innovation in implementation within


proprietary products, while preventing vendor lock-in. The Standards
in Open Standards ensure that there are clear specifications that define
the interoperability of the technology element.

The Open-ness in Open Standards ensures that key industry vendors


can collaborate in a neutral consortium to define the specifications that
allow for interoperability.

Specifically, the embedded industry is now characterized by multiple


industry players, highly specialized technology and unique systems that
are purpose-built for specific applications, utilizing embedded operating
system & virtualization technologies.

Over the last several decades the embedded industry has been active in
the development of Open Standards, which has allowed the embedded
software ecosystem to thrive.

The some open standards of Embedded Software arena is:

POSIX:

The ability of an Operating System to conform to established Open


Standards APIs (Application Programming Interfaces) is a key enabler
for a critical mass of middleware and applications executing in its
environment. It allows application portability among execution
environments, thereby allowing end-users the maximum flexibility in
creating application software that can be migrated to newer environments
with minimal efforts.

ECLIPSE:

The Eclipse open source community was started in 2001 when IBM
released the Eclipse Integrated Development Environment (IDE) as an
open source development framework for Java and other languages. The
Eclipse IDE framework provides an excellent platform for development
environment interoperability while providing vendors an extensible
mechanism through which proprietary plug-ins can be added to the
Eclipse IDE. Starting from a single project, the Eclipse foundation has
now expanded to over a 100 projects ranging from development tools,
modeling tools, web tools and IoT protocols.

EMBEDDED OS PERFORMANCE GUIEDLINES:

The two subsystems of an OS that typically impact OS performance the


most, and differentiate the performance of one OS from another, are the
memory management scheme (specically the process swapping model
implemented) and the scheduler.

The performance of one virtual memory-swapping algorithm over


another can be compared by the number of page faults they produce,
given the same set of memory referencesthat is, the same number of
page frames assigned per process for the exact same process on both
OSes.

One algorithm can be further tested for performance by providing it with


a variety of different memory references and noting the number of page
faults for various number of page frames per process congurations.

While the goal of a scheduling algorithm is to select processes to execute


in a scheme that maximizes overall performance, the challenge OS
schedulers face is that there are a number of performance indicators.

Furthermore, algorithms can have opposite effects on an indicator, even


given the exact same processes. The main performance indicators for
scheduling algorithms include:

Throughput, which is the number of processes being executed by the


CPU at any given time.

vExecution time, the average time it takes for a running process to


execute (from start to nish).

vWait time, the total amount of time a process must wait to run. Again
this depends on whether the scheduling algorithm allows for larger
processes to be executed before slower processes.

Você também pode gostar