A power point presentation on the topic “Embedded Operating System” with a total of 14 slides.
Embedded Operating System
What is an embedded operating System ?
It is a specialized operating system designed to perform a specific task for a device.
It is used to run the code that allows the device to do its job.
Also makes the device’s hardware accessible to software that is running on top of the OS.
It is an optional part of an embedded device’s system.
An operating system either sits over the hardware, over the device driver layer or over a BSP (Board support package).
Operating systems and the Embedded Systems Model
What is a Kernel ?
Kernel is a component that contains the main functionality of the operating system
Functions of Kernel
- Process Management
- Memory Management
- I/O system management
A sub function typically found within process management is interrupt and error detection management.
The multiple interrupts and/or traps generated by the various processes need to be managed efficiently so that they are handled correctly and the processes that triggered them are properly tracked.
Within memory management, other sub functions such as security system management allow for portions of the embedded system sensitive to disruptions that can result in the disabling of the system, to remain secure from unfriendly, or badly written, higher layer software.
I/O System Management
I/O devices need to be shared among the various processes.
Through I/O system management, file system management can also be provided as a method of storing and managing data in the form of files.
Models of Embedded Operating System
- Monolithic OS
- Layered OS
- Microkernel OS
Here, middleware and device driver’s functionality is typically integrated into the OS along with the kernel.
It is a single executable file containing all these components.
Monolithic OS are more difficult to scale down, modify or debug because of their inherently large, integrated, cross-dependent nature.
Thus monolithic-modularized algorithm is used for easier debugging, scalability and better performance.
Examples- Linux Operating System, Jbed RTOS,PDOS etc.
In a layered design, the OS is divided into hierarchical layers(0..N),where upper layers are dependent on the functionality provided by the lower layers.
Simpler to develop and maintain than a monolithic design, the APIs provided at each layer create additional overhead that can impact size and performance.
Examples: DOS-C,VRTX etc.
An operating system that is stripped down to minimal functionality, commonly only process and memory management subunits is called as client-server OS or microkernel.
More scalable, and debuggable design, since additional components can be dynamically added in.
More secure as much of the functionality is independent of the OS, and there is a separate memory for client and server functionality.
Slower than the monolithic because of the communication process between the microkernel components and other “kernel-like” components.
Overhead is also added when switching between kernel and the other OS components and the non-OS components.
Examples-OS- 9, C- Executive.