Embedded operating system

Embedded operating system
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. Depending on the method used for Computer multitasking, this type of operating system might be considered a real-time operating system (RTOS).
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. 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.
Operating systems on typical embedded systems
Embedded operating systems have been developed for consumer electronics, including cameras and mobile phones. Embedded operating systems 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, embedded operating systems can be experienced in office automation, including image scanners, photocopiers, and your wireless access point. Similarly home automation relies on embedded operating systems, including the security system.
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 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.
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 (including OpenWrt, Zeroshell, Android, LineageOS, LEDE, LibreCMC), NetBSD, 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
Embedded operating system