This article'slead section contains information that is not included elsewhere in the article. If this information is appropriate for the lead of the article, it should also be included in the article's body. Relevant discussion may be found on thetalk page.(February 2022) (Learn how and when to remove this message) |
Anembedded operating system (EOS) is anoperating system designed specifically forembedded computer systems. These systems aim to enhance functionality and reliability to perform dedicated tasks.[1] When themultitasking method employed allows for timely task execution, such an OS may qualify as areal-time operating system (RTOS).[2]

Overview
editEmbedded operating systems are integral toconsumer electronics such ascameras andmobile phones. Additionally, they powerautomotive electronics, aiding in functions likecruise control andnavigation. Moreover, they are essential forfactory automation infrastructure. Everyday applications of EOS includeoffice automation devices such asimage scanners,photocopiers, andwireless access points.Home automation systems, includingsecurity systems, also depend on EOS.[3]
Design
editEmbedded systems comprise aprocessor and correspondingsoftware.Embedded software requires storage forexecutables and temporary data processing duringruntime. Embedded systems typically utilizeROM andRAM asmain memory components. For functionality, embedded systems necessitate input and output interfaces.Embedded hardware configurations are often unique, varying according to the application.[4] Given the resource limitations of embedded system hardware, operating systems are designed with a narrow scope, tailored to specific applications to ensure optimal operation within hardware constraints. The choice of embedded operating system, which organizes and controls the hardware, often dictates the additional required embedded hardware components.
Software developers might write essential code inassembly language to harness the full processing power of thecentral processing unit (CPU). Assembly language, beingmachine-efficient, can enhance speed indeterministic systems but may reduceportability andmaintainability. Frequently, embedded operating systems are coded in portable programming languages likeC.
History
editEarly embedded operating systems
editThe concept of a real-time multitasking kernel emerged in the late 1970s. During the 1980s, as embedded systems applications grew in complexity, operating systems with real-time multitasking kernels struggled to meet the evolving demands of embedded development. This led to the evolution of the real-time multitasking kernel into a comprehensive operating system (RTOS), encompassing networking, file management, development, anddebugging capabilities.
Today, RTOS constitues a global industry. In 1981, Ready System developed VRTX32, the world’s first commercial embedded real-time kernel. In 1993, following a merger, Ready System and Silicon Valley’s Microtec Research developed two new RTOS kernels, VRTX32 and VRTXsa, building uponVRTXmc. Concurrently, the VRTX integrated development environment, Spectra, was introduced.
In 1996,Microsoft released its embedded operating system,WinCE, which supported various processor architectures includingx86,ARM,SH4, andMIPS. WinCE has since become obsolete, with mainstream support having ended in 2018.[5]
OS-9 andVxWorks are also notable embedded operating systems.
Modern embedded operating systems
editIn the current landscape of theinternet of things (IoT), embedded devices are ubiquitous, with cars alone utilizing hundreds of sensors. IoT systems, in contrast to traditional embedded systems, necessitate lower power consumption, enhanced safety and reliability, and the capability forad hoc networking[citation needed]. The communication layer must facilitate the conversion between diverse protocols, while the application layer should enablecloud computing capabilities over theInternet.
Contemporary embedded operating systems
editAs a result, several new embedded operating systems have gained popularity, such asembedded Linux[6] variants (OpenWrt,Zeroshell,Android,LineageOS,LEDE,LibreCMC),OpenHarmony,Oniro OS,HarmonyOS,NetBSD,[7]PX5 RTOS,ThreadX,FreeRTOS,SEGGER embOS,Tock among others.
Linux-based projects
editNumerousLinux-based projects, toolkits, and frameworks have been developed for creating operating systems that operate on a variety of embedded systems. Prominent examples of these includeOpenEmbedded,BusyBox,uClibc,musl libc, andBuildroot.
See also
edit- Linux on embedded systems
- Embeddable Linux Kernel Subset, aLinux operating system that fits on afloppy disk
- List of embedded operating systems
- OpenWrt
- Principle of least privilege (computer security)
References
edit- ^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].
- ^"Definition of embedded OS".PC Magazine. Retrieved13 September 2023.
- ^Alan Holt; Chi-Yu Huang (2018).Embedded Operating Systems: A Practical Approach. Springer International Publishing. p. 5.ISBN 9783319729770.
- ^Sager, P. M.; Agarwal, V. (November 2002)."Embedded operating systems for real-time applications"(PDF).M. Tech. Credit Seminar Report. Electronic Systems Group, EE Dept, IIT Bombay: 14.
- ^"Microsoft - Lifecycle for Windows Embedded Compact 2013".Microsoft Docs. Retrieved3 Feb 2022.
- ^Barbieri, Edoardo (24 November 2021)."What is embedded Linux?".Ubuntu. Retrieved13 September 2023.
- ^"Chapter 1. What is NetBSD?".NetBSD. Retrieved13 September 2023.