An embedded operating system is an
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
for
embedded computer systems. Embedded operating systems are computer systems designed to increase functionality and reliability for achieving a specific task.
Resource efficiency comes at the cost of losing some functionality or granularity that larger computer operating systems provide, including functions that may not be used by the specialized applications run. Depending on the method used for multitasking, this type of OS is frequently considered a
real-time operating system
A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
or ''RTOS''. Embedded systems are mostly used as Real-time operating systems.
All embedded systems contain a
processor
Processor may refer to:
Computing Hardware
* Processor (computing)
**Central processing unit (CPU), the hardware within a computer that executes a program
*** Microprocessor, a central processing unit contained on a single integrated circuit (I ...
and
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
. There must be a place for
embedded software
Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It is typically specialized for the particular hardware that it runs on and has time ...
to store the
executable code
In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data file ...
and temporary storage for
run-time data manipulations. These take the form of
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
and
RAM
Ram, ram, or RAM may refer to:
Animals
* A male sheep
* Ram cichlid, a freshwater tropical fish
People
* Ram (given name)
* Ram (surname)
* Ram (director) (Ramsubramaniam), an Indian Tamil film director
* RAM (musician) (born 1974), Dutch
* ...
, respectively. All embedded systems must also contain some form of inputs and outputs to function. Within the exception of these few common features, the rest of the
embedded hardware
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
is usually unique and varies from application to application. The hardware running an embedded operating system can be very limited in resources; therefore the embedded design of these operating systems may have a narrow scope tailored to a specific application to achieve the desired operation under these constraints. The embedded operating system that organizes and controls the hardware usually determines the rest of the embedded hardware needed.
To take better advantage of the processing power of the
CPU, software developers may write critical code directly in
assembly
Assembly may refer to:
Organisations and meetings
* Deliberative assembly, a gathering of members who use parliamentary procedure for making decisions
* General assembly, an official meeting of the members of an organization or of their representa ...
. This ''machine efficient'' language can potentially result in gains in speed and
determinism
Determinism is a philosophical view, where all events are determined completely by previously existing causes. Deterministic theories throughout the history of philosophy have developed from diverse and sometimes overlapping motives and consi ...
at the cost of
portability and
maintainability
In engineering, maintainability is the ease with which a product can be maintained to:
* correct defects or their cause,
* Repair or replace faulty or worn-out components without having to replace still working parts,
* prevent unexpected working ...
. Often, embedded operating systems are written entirely in more portable languages, like
C, however.
An important difference between most embedded operating systems and
desktop operating systems is that the application, including the operating system, is usually statically linked into a single executable image. Unlike a desktop operating system, the embedded operating system does not load and execute many applications. This means that the system is only able to run a few application(s).
History
Early embedded operating systems
In the late 1970s, the concept of a real-time multitasking kernel was proposed. In the 1980s, while the embedded systems applications became more complex, the embedded operating system with a real-time multitasking kernel could not meet the requirement of embedded development. It began to develop into a complete real-time multitasking Operating System (
RTOS
A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which ...
) that included a network, file, development and
debugging
In computer programming and software development, debugging is the process of finding and resolving '' bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems.
Debugging tactics can involve in ...
environment.
Nowadays, RTOS has formed an industry in the world. The world's first commercial embedded real-time kernel (VRTX32) was developed by Ready System in 1981. Then in 1993, Ready System and the famous Silicon Valley embedded software company Microtec Research Merger developed two new RTOS kernels VRTX32 and VRTXsa, based on
VRTXmc. At the same time, VRTX integrated development environment (Spectra) appeared.
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
, also released its own embedded 460 operating system in 1996. The embedded operating system is
WinCE
Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, is an operating system subfamily developed by Microsoft as part of its Windows Embedded family of products.
Unlike Windows Embedded Standard, which is base ...
, which was originally based on
Windows 95
Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturin ...
in the 1.0 version, they subsequently released other versions, supporting
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
,
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
,
SH4,
MIPS and other processor architectures. WinCE is now defunct, with mainstream support discontinued in 2018.
Modern embedded systems
Nowadays, many embedded devices are used in the system of
Internet of Things
The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other comm ...
and hundreds of sensors are used in a car. Compared with the traditional embedded system, the Internet of Things system requires lower power consumption, more safety and reliability, and has the ability of
ad hoc network An ad hoc network refers to technologies that allow network communications on an ad hoc basis. Associated technologies include:
*Wireless ad hoc network
*Mobile ad hoc network
* Vehicular ad hoc network
** Intelligent vehicular ad hoc network
* Prot ...
. The communication section needs to meet the conversion between various communication protocols, and the application layer must have the ability of
cloud computing
Cloud computing is the on-demand availability of computer system resources, especially data storage ( cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over mul ...
. The emergence of Smartphones have also resulted
Due to this, new embedded operating systems have emerged and become popular, like
Embedded Linux
Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (eg. set-top boxes, smart TVs and personal video recorders (PVRs)), in-vehicle infotainment (IVI), networking equipment (such as routers, switch ...
(including
OpenWrt
OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All com ...
,
Zeroshell
Zeroshell is a small open-source Linux distribution for servers and embedded systems which aims to provide network services. Its administration relies on a web-based graphical interface; no shell is needed to administer and configure it. Zer ...
,
Android,
LineageOS
LineageOS is an Android-based operating system for smartphones, tablet computers, and set-top boxes, with mostly free and open-source software. It is the successor to CyanogenMod, from which it was forked in December 2016, when Cyanogen Inc. a ...
,
LEDE
Lede may refer to:
* Lead paragraph (US English), the first paragraph of a composition
Places
* Lede, Belgium, a municipality in Flanders
* Lède, a river in France
* Lede Formation, a geologic formation in Belgium
People
* Marquess of Lede of ...
,
LibreCMC
LibreCMC is a Linux-libre distribution for computers with minimal resources, such as the Ben NanoNote, ath9k-based Wi-Fi routers, and other hardware with emphasis on free software. Based on OpenWrt, the project's goal is to aim for compliance wit ...
etc.,),
NetBSD
NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
,
ThreadX,
FreeRTOS
FreeRTOS is a real-time operating system kernel for embedded devices that has been ported to 35 microcontroller platforms. It is distributed under the MIT License.
History
The FreeRTOS kernel was originally developed by Richard Barry around ...
etc.,
Many
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
-based projects, toolkits, frameworks etc., have also emerged for embedded systems. Some notable examples include
OpenEmbedded
OpenEmbedded is a build automation framework and cross-compile environment used to create Linux distributions for embedded devices. The OpenEmbedded framework is developed by the OpenEmbedded community, which was formally established in 2003. Ope ...
,
BusyBox
BusyBox is a software suite that provides several Unix utilities in a single executable file. It runs in a variety of POSIX environments such as Linux, Android, and FreeBSD, although many of the tools it provides are designed to work with in ...
,
uClibc
__NOTOC__
In computing, uClibc (sometimes written µClibc) is a small C standard library intended for Linux kernel-based operating systems for embedded systems and mobile devices. uClibc was written to support μClinux, a version of Linux not ...
,
musl
musl is a C standard library intended for operating systems based on the Linux kernel, released under the MIT License. It was developed by Rich Felker with the goal to write a clean, efficient and standards-conformant libc implementation.
O ...
libc
The C standard library or libc is the standard library for the C programming language, as specified in the ISO C standard.ISO/IEC (2018). '' ISO/IEC 9899:2018(E): Programming Languages - C §7'' Starting from the original ANSI C standard, it was ...
,
buildroot
Buildroot is a set of Makefiles and patches that simplifies and automates the process of building a complete and bootable Linux environment for an embedded system, while using cross-compilation to allow building for multiple target platforms on ...
etc.,
See also
*
Embedded Linux
Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (eg. set-top boxes, smart TVs and personal video recorders (PVRs)), in-vehicle infotainment (IVI), networking equipment (such as routers, switch ...
*
Embeddable Linux Kernel Subset
The Embeddable Linux Kernel Subset (ELKS), formerly known as Linux-8086, is a Linux-like operating system kernel. It is a subset of the Linux kernel, intended for ''16-bit'' computers with limited processor and memory resources such as machines ...
, a
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
operating system that fits on a
floppy disk
A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined w ...
*
List of embedded operating systems
*
OpenWrt
OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All com ...
*
Principle of least privilege
In information security, computer science, and other fields, the principle of least privilege (PoLP), also known as the principle of minimal privilege (PoMP) or the principle of least authority (PoLA), requires that in a particular abstraction la ...
(computer security)
References
{{DEFAULTSORT:Embedded Operating System
Embedded operating system