Embedded operating system

Short description: Type of computer operating system

An embedded system on a plug-in card with processor, memory, power supply, and external interfaces

An embedded operating system is an operating system for embedded computer systems. They are designed to increase functionality and reliability for achieving a specific task.[1] Depending on the method used for computer multitasking, this type of operating system might be considered a real-time operating system (RTOS).[2]

## Contents

* 1 Operating systems on typical embedded systems
* 2 Design
* 3 History
* 3.1 Early embedded operating systems
* 3.2 Modern embedded systems
* 4 Contemporary embedded operating systems
* 5 Linux-based projects, toolkits, and frameworks
* 6 See also
* 7 References

## Operating systems on typical embedded systems

A Xerox digital photocopier in 2010

Embedded operating systems (EOS) have been developed for consumer electronics, including cameras and mobile phones. They also run on automotive electronics, helping the driver with cruise control as well as navigation. Furthermore factory automation infrastructure requires embedded operating systems. In everyday life, EOS can be experienced in office automation, including image scanners, photocopiers, and your wireless access point. Similarly, home automation relies on EOS, including the security system.[3]

## Design

All embedded systems contain a processor and software. There must be a place for embedded software to store the executable and temporary storage for run-time data processing. The main memory on an embedded system can be ROM and RAM. All embedded systems must also contain some form of input interface and output interface to function. The embedded hardware is usually unique and varies from application to application.[4] Because the hardware running the embedded operating system can be very limited in resources, the embedded design of these operating systems may have a narrow in scope tailored to a specific application, so as to achieve the desired operation under the given hardware constraints. The embedded operating system that organizes and controls the hardware usually determines which other embedded hardware is needed.

To take better advantage of the processing power of the Central processing unit (CPU), software developers may write critical code directly in assembly language. This machine efficient language can potentially result in gains in speed on deterministic systems at the cost of portability and maintainability. Often, embedded operating systems are written entirely in portable languages, such as C.

## 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) 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, supporting x86, ARM, SH4, MIPS and other processor architectures. WinCE is now defunct, with mainstream support discontinued in 2018.[5]

### 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 via the Internet.

## Contemporary embedded operating systems

Due to this, new embedded operating systems have emerged and become popular, like Embedded Linux[6] (including OpenWrt, Zeroshell, Android, LineageOS, LEDE, LibreCMC), OpenHarmony, HarmonyOS, NetBSD,[7] PX5 RTOS, ThreadX, FreeRTOS, etc.

## Linux-based projects, toolkits, and frameworks

Many Linux-based projects, toolkits, and frameworks have emerged for developing operating systems that run on a variety of embedded systems. Some notable examples include OpenEmbedded, BusyBox, uClibc, musl libc, and buildroot.

## See also

* Linux on embedded systems
* Embeddable Linux Kernel Subset, a Linux operating system that fits on a floppy disk
* List of embedded operating systems
* OpenWrt
* Principle of least privilege (computer security)

## References

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. ↑ "Definition of embedded OS". https://www.pcmag.com/encyclopedia/term/embedded-os.
3. ↑ Alan Holt; Chi-Yu Huang (2018). Embedded Operating Systems: A Practical Approach. Springer International Publishing. pp. 5. ISBN 9783319729770.
4. ↑ Sager, P. M. (November 2002). Embedded operating systems for real-time applications. Electronic Systems Group, EE Dept, IIT Bombay. pp. 14. https://www.ee.iitb.ac.in/~esgroup/es_mtech02_sem/es02_sem_rep_sagar.pdf.
5. ↑ "Microsoft - Lifecycle for Windows Embedded Compact 2013.". https://docs.microsoft.com/en-us/lifecycle/products/windows-embedded-compact-2013.
6. ↑ "What is embedded Linux?". 24 November 2021. https://ubuntu.com/blog/what-is-embedded-linux.
7. ↑ "Chapter 1. What is NetBSD?". https://www.netbsd.org/docs/guide/en/chap-intro.html.

* v
* t
* e

Embedded systems

General terms|

* ASIC
* Board support package
* Bootloader
* Consumer electronics
* Cross compiler
* Embedded database
* Embedded hypervisor
* Embedded OS
* Embedded software
* FPGA
* IoT
* Memory footprint
* Microcontroller
* Single-board computer
* Raspberry Pi
* SoC

Firmware and controls|

* Closed platform
* Crippleware
* Custom firmware
* Defective by Design
* Hacking of consumer electronics
* Homebrew (video games)
* iOS jailbreaking
* PlayStation 3 Jailbreak
* Proprietary firmware
* Rooting (Android)
* Vendor lock-in

Software libraries|

* uClibc
* dietlibc
* Embedded GLIBC
* lwIP
* musl

Programming tools|

* Almquist shell
* Bitbake
* Buildroot
* BusyBox
* OpenEmbedded
* Stand-alone shell
* Toybox
* Yocto Project

Operating systems|

* Linux on embedded systems
* Linux for mobile devices
* Light-weight Linux distribution
* Real-time operating system
* Windows IoT
* Win CE

Programming languages|

* Ada
* Assembly language
* CAPL
* Embedded C
* Embedded C++
* Embedded Java
* MISRA C

* Lightweight browsers
* Open-source computing hardware
* Open-source robotics

* v
* t
* e

Operating systems

General|

* Advocacy
* Comparison
* Forensic engineering
* History
* Hobbyist development
* List
* Timeline
* Usage share

Kernel|

| Architectures|

* Exokernel
* Hybrid
* Microkernel
* Monolithic
* vkernel
* Rump kernel
* Unikernel

|

Components|

* Device driver
* Loadable kernel module
* Microkernel
* User space

Process management|

| Concepts|

* Context switch
* Interrupt
* IPC
* Process
* Process control block
* Real-time
* Thread
* Time-sharing

|

Scheduling
algorithms|

* Computer multitasking
* Fixed-priority preemptive
* Multilevel feedback queue
* Preemptive
* Round-robin
* Shortest job next

Memory management and
resource protection|

* Bus error
* General protection fault
* Memory protection
* Paging
* Protection ring
* Segmentation fault
* Virtual memory

Storage access and
file systems|

* Boot loader
* Defragmentation
* Device file
* File attribute
* Inode
* Journal
* Partition
* Virtual file system
* Virtual tape library

List|

* Acorn
* Arthur
* ARX
* MOS
* RISC iX
* RISC OS
* Amiga Inc.
* AmigaOS
* AmigaOS 1.0-3.9 (Motorola 68000)
* AmigaOS 4 (PowerPC)
* Amiga Unix, a.k.a. Amix
* Amstrad
* AMSDOS
* Contiki
* SymbOS
* Android
* Apple Inc.
* Apple II family
* Apple III
* Apple DOS
* Apple Lisa
* Apple SOS
* Apple Pascal
* ProDOS
* GS/OS
* GNO/ME
* Contiki
* Apple Macintosh
* Classic Mac OS
* A/UX
* Copland
* MkLinux
* Pink
* Rhapsody
* macOS (formerly Mac OS X and OS X)
* macOS Server (formerly Mac OS X Server and OS X Server)
* Apple Network Server
* Apple MessagePad
* Newton OS
* iPhone and iPod Touch
* iOS (formerly iPhone OS)
* iPad
* iPadOS
* Apple Watch
* watchOS
* Apple TV
* tvOS
* Darwin
* iPod
* iPod software (unnamed embedded OS)
* A/ROSE
* Apollo Computer
* Domain/OS
* Atari
* Atari DOS
* Atari TOS
* Atari MultiTOS
* BAE Systems XTS-400
* Be Inc.
* BeOS
* BeIA
* BeOS r5.1d0
* Bell Labs Non-Unix
* BESYS
* Plan 9 from Bell Labs
* Inferno)
* Burroughs Corporation
* Burroughs MCP
* BSD
* Control Data Corporation
* Chippewa Operating System
* Kronos
* NOS (Network Operating System)
* SCOPE)
* Convergent Technologies Operating System
* Cosmos
* Cromemco
* Cromemco DOS
* Cromix
* Data General
* AOS (for 16-bit)
* DG/UX
* RDOS (Real-time DOS)
* Datapoint (CTOS for Z-80)
* DDC-I Inc.
* HeartOS
* Digital Research, Inc.
* CP/M
* CP/M Plus
* CP/M-68K
* CP/M-8000
* CP/M-86
* CP/M-86 Plus
* Concurrent CP/M
* Concurrent CP/M-86
* Concurrent CP/M 8-16
* Concurrent CP/M-68K
* Concurrent DOS
* Concurrent PC DOS
* Concurrent DOS 8-16
* Concurrent DOS 286
* Concurrent DOS XM
* Concurrent DOS 386
* Concurrent DOS 386/MGE
* Concurrent DOS 68K
* DR-DOS
* FlexOS
* FlexOS 186
* FlexOS 286
* FlexOS 68K
* Multiuser DOS
* Datapac Multiuser DOS
* Datapac System Manager, a derivative of Datapac Multiuser DOS
* IMS Multiuser DOS
* MP/M
* MP/M II
* MP/M-86
* MP/M 8-16
* PalmDOS 1.0
* Personal CP/M
* Digital Equipment Corporation
* Batch-11/DOS-11
* OS/8
* RSTS/E
* RSX-11
* RT-11
* TOPS-10
* TOPS-20
* TENEX
* Digital UNIX
* Ultrix
* VMS
* WAITS
* DOS
* ENEA AB OSE
* Fujitsu Towns OS
* General Electric, Honeywell, Bull
* Real-Time Multiprogramming Operating System
* GCOS
* Multics
* Genode
* GNU
* Google
* Android
* Chromium OS
* Chrome OS
* Goobuntu
* Fuchsia)
* Green Hills Software
* INTEGRITY
* INTEGRITY-178B
* µ-velOSity
* Haiku
* Harmony
* Heathkit, Zenith Data Systems
* HDOS
* HT-11
* Hewlett-Packare
* HP-UX
* Multi-Programming Executive
* Honeywell CP-6
* Huawei Harmony OS
* Intel Corporation
* ISIS
* IBM
* Pre-360
* BESYS
* CTSS
* GM OS & GM-NAA I/O
* IBSYS
* SHARE Operating System
* University of Michigan Executive System (UMES)
* OS/360 and successors
* OS/360 and successors
* MVS
* OS/390
* Phoenix/MVS
* z/OS)
* DOS
* DOS/360 and successors on IBM S/360, S/370, and successor mainframes
* BOS/360
* TOS/360
* DOS/VS
* DOS/VSE
* VSE/SP
* VSE/ESA
* z/VSE)
* VM/CMS
* CP/CMS
* CP-40
* CP-67
* VM/370
* VM/XA
* VM/ESA Virtual Machine
* z/VM)
* TPF line
* Airline Control Program ACP
* Transaction Processing Facility)
* Unix-like
* AIX
* UTS (Mainframe UNIX)
* Linux on z Systems
* Others on IBM S/360, S/370, and successor mainframes
* TSS/360
* MUSIC/SP
* ORVYL and WYLBUR
* IBM PC
* PC DOS
* OS/2
* OS/2 Warp
* eComStation)
* Other hardware
* IBM Series 1
* EDX
* RPS
* CPS
* IBM 1130 DM2
* IBM 1800 MPX & TSX
* IBM 8100
* DPCX
* DPPX)
* System 3 DMS
* IBM System 34, 36, 38
* OS/400
* illumos
* IncludeOS
* iOS
* audioOS
* iPadOS
* tvOS
* Linux
* MINIX
* MorphOS
* MUSIC/SP
* Nemesis
* NeXTSTEP
* NOS
* ORVYL
* OS/2
* OS-9
* OSv
* Pick
* QNX
* ReactOS
* RISC OS
* Solaris
* Tandem
* NonStop
* TPF
* TRIPOS
* Unix
* Visi On
* VS/9
* webOS
* Windows
* Xerox 500 series (530 RTB, 560)
* Xinu
* z/OS

Miscellaneous concepts|

* API
* Computer network
* HAL
* Live CD
* Live USB
* OS shell
* CLI
* GUI
* NUI
* TUI
* VUI
* ZUI
* PXE

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Embedded operating system. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Embedded_operating_system&oldid=248317"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template