Embedded Operating Systems: We find embedded System everywhere around us in our daily life. Embedded Systems are a specially designed computer system that essentially contains software and hardware for performing specific tasks. Mobile Phones, Laptops, Cameras, Washing Machines, ATMS, and Hair Straightener etc are examples of Embedded System. you can check medical applications of embedded systems. Now let’s move towards Embedded Operating Systems.
What is Embedded Operating System?
As the name suggests Embedded Operating System is an Embedded System’s Operating System. It has limited features. It is usually designed for some particular operations to control an electronic device. For instance, all mobile phones essentially consist of an operating system that always boots up when the mobile phone is in running condition. It controls all the features and basic interface of the mobile phone. There are some other programs that can be loaded onto the mobile phones. Mostly, JAVA Apps run on the top. Embedded operating systems runs on embedded processors.
characteristics of Embedded Operating Systems
The main characteristics of Embedded Operating Systems are as follows
- Direct use of interrupts
- Reactive operation
- Real-time operation
- Streamlined protection mechanisms
- I/O device flexibility
There are two different kinds of operating system, either general purpose operating system that is modified in such a way that it runs on top of a device or the operating system can be custom written. The approaches for the design of operating system include that either we take embedded Operating System that is existing and adapt it to our embedded application or we can design and use a new operating system that is particularly for our Embedded System.
We can adapt the existing Operating System to our embedded application by streamline operation, real-time capability and be adding other necessary functions. The advantage of this approach that it has a familiar interface and its disadvantage is that it is not optimized for real-time.
The most common examples of embedded operating system around us include Windows Mobile/CE (handheld Personal Data Assistants), Symbian (cell phones) and Linux. Flash Memory Chip is added on a motherboard in case of the embedded operating system of your personal computer to boot from the Personal Computer.
Types of Embedded Operating Systems
Single System Control Loop
Single system control loop is the simplest type of embedded operating system. It is so like operating system but it is designed to run the only single task. It still under debate that this system should be classified as a type of operating system or not.
Multi-Tasking Operating System
As the name suggests that this operating system can perform multiple tasks. In multi-tasking operating system there are several tasks and processes that execute simultaneously. More than one function can be performed if the system has more than one core or processor.
The operating system is switched between tasks. Some tasks wait for events while other receive events and become ready to run. If one is using a multitasking operating system, then software development is simplified because different components of software can be made independent to each other.
Rate Monotonic Operating System
It is a type of operating system that ensures that task runs in a system can run for a specific interval of time and for a specific period of time. When it is not ensured, there comes a notification of failure to system software to take suitable action. This time limit cannot be ensured if the system is oversubscribed, at this point another event may occur during run time and the failure notification comes.
Preemptive Operating System
A preemptive operating system is a type of multitasking operating system that interprets the preemptive predominance for tasks. A higher priority is task is always defined and run before a lower priority task. Such multi-tasking operating systems are efficient in increasing system response to events and also simplify the development of software making the system more reliable. The designer of the system may be able to calculate the time required for the service interprets in a system and also the time is taken by the scheduler for switching tasks. Such systems may fail to meet the deadline of a system and the software is unaware of the missed deadline. CPU loading in a preemptive operating system can be measured naturally by defining a lower priority task that only increments counter and do nothing else.
A real-time operating system is the one which serves real time applications. It processes data as it comes in. The time requirements for processing of operating system are usually measured in shorter increments or in 10th of seconds. They may be time sharing or driven by events. Real time Operating systems are used in small embedded systems.
The main features of real-time operating system include
Real Time Embedded Operating Systems Examples
- It is developed by Wind River.
- The latest version of this operating system is VxWorks 6.0.
- It is widely used software operating system.
- At the moment, there are 300 million devices that utilize this operating system.
- The core or processor of VxWorks credits reliability, high performance, low latency, determinism, and scalability.
- It has increased potential for the management of errors.
- It has compatibility with extensive POSIX 1003.1, .1b, .1c,
- It uses preemptive priority and has scheduled for both real time and non-real time processes.
- Memory is protected on the basis of MMU.
- It has reduced context switch time. It restores only register windows.
- For increasing response time, it saves the windows that are registered in a register cache and they are used for recurring tasks.
- Microkernels is an operating system that consists of the basic necessities like scheduling, task switching, and device handling.
- Micro Kernels implement different memory techniques and protect all system components.
- Some of the microkernels protect memory by separating all components of software from one another.
Applications of Embedded Operating Systems
Here we have different applications of Embedded Operating System in our everyday life. These applications include
- Symbian: It is used in mobile phones mainly in Nokia.
- BlackBerry Operating System: It is particularly used in BlackBerry Phones,
- Embedded Linux: It is used in Android phones and other devices like printers.
- IOS: It is used in MAC operating systems and other Apple devices.
- Windows Mobile Operating System: It is used in window phones.