This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article's lead section contains information that is not included elsewhere in the article. If the information is appropriate for the lead of the article, this information should also be included in the body of the article. (February 2022) (Learn how and when to remove this template message) This article's tone or style may not reflect the encyclopedic tone used on Wikipedia. See Wikipedia's guide to writing better articles for suggestions. (February 2022) (Learn how and when to remove this template message) (Learn how and when to remove this template message)

An embedded operating system is an operating system for embedded computer systems. Embedded operating systems are computer systems designed to increase functionality and reliability for achieving a specific task.[1] 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 or RTOS. Embedded systems are mostly used as Real-time operating systems.

All embedded systems contain a processor and software. There must be a place for embedded software to store the executable code and temporary storage for run-time data manipulations. These take the form of ROM and RAM, 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 is usually unique and varies from application to application.[2] 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. This machine efficient language can potentially result in gains in speed and determinism at the cost of portability and maintainability. 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.[3] This means that the system is only able to run a few application(s).


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) that included a network, file, development and debugging 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, also released its own embedded 460[clarification needed] operating system in 1996. The embedded operating system is WinCE, which was originally based on Windows 95 in the 1.0 version, they subsequently released other versions, supporting x86, ARM, SH4, MIPS and other processor architectures. WinCE is now defunct, with mainstream support discontinued in 2018.[4]

Modern embedded systems

Nowadays, many embedded devices are used in the system of Internet of Things 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. The communication section needs to meet the conversion between various communication protocols, and the application layer must have the ability of cloud computing. The emergence of Smartphones have also resulted

Due to this, new embedded operating systems have emerged and become popular, like Embedded Linux (including OpenWrt, Zeroshell, Android, LineageOS, LEDE, LibreCMC etc.,), NetBSD, ThreadX, FreeRTOS etc.,

Many Linux-based projects, toolkits, frameworks etc., have also emerged for embedded systems. Some notable examples include OpenEmbedded, BusyBox, uClibc, musl libc, buildroot etc.,

See also


  1. ^ Jabeen, Qamar; Khan, Fazlullah; Hayat, Muhammad Nouman; Khan, Haroon; Jan, Syed Roohullah; Ullah, Farman (2016-05-11). "A Survey: Embedded Systems Supporting By Different Operating Systems". arXiv:1610.07899 [cs.OH].
  2. ^ Sager, P. M. (November 2002). "Embedded operating systems for real-time applications" (PDF). Electronic Systems Group, EE Dept, IIT Bombay: 14 – via Google Scholar.
  3. ^ Programming Embedded Systems, Second Edition, Michael Barr and Anthony Massa
  4. ^ "Microsoft - Lifecycle for Windows Embedded Compact 2013". Microsoft Docs. Retrieved 3 Feb 2022.((cite web)): CS1 maint: url-status (link)