Real Time Operating System (RTOS): Embedded Database
An embedded Real-Time Operating System (RTOS) is a multitasking operating system designed to be very compact and efficient, forsaking many functions that non-embedded computer operating systems provide. It facilitates the creation of system, but does not guarantee the final result will be require correct development of the software.
These are designed to control an embedded system, and to deliver the real time responsiveness and determinism required by the controlled device. Applications run under the control of the RTOS, and their allocated CPU time is scheduled by the RTOS kernel. An embedded provides facilities which, if used properly, guarantee deadlines can be met generally (soft real-time) or deterministically (hard real-time).
In modern systems, a RTOS consists higher-level functions such as device management (USB, UART, Ethernet, LCD etc), file systems, protocol stacks (CAN, TCP/IP, HTTP etc) and graphical user interfaces (GUI). Such applications in embedded systems include point-of-sale (PoS) terminals, household appliance controllers, medical monitoring equipment, and automotive controls.
Kalinsky begins by offering a comparison of general-purpose operating systems. He then covers real-time kernel services including task scheduling; fixed-time task switching; inter task communication and synchronization; determinism and high-speed message passing; and, dynamic memory allocation.
Task States are
Executing: running on the CPU
Ready: could run but another one is using the CPU
Blocked: waits for something (I/O, signal, resource, etc.)
Dormant: created but not executing yet
Terminated: no longer active
The RTOS implements a Finite State Machine for each task, and manages its transitions Memory allocation is more critical in an RTOS than in other OS.