October 27th, 2017 by
The kernel is part of the operating system that offers core services to application software that runs on a processor. The kernel offers an abstraction layer that hides processor hardware details from the application software that it uses to run. The real-time operating system (RTOS) kernel services offer four main basic service categories to the application software as discussed below.
- Task Management
Task management services allow application software developers to come up with software as separate chunks that cater to distinct topic, goals, and real-time deadlines. Every separate software chunk is known as a task. Services offered under the task management category include the ability to launch different tasks and assign their priority levels. The main services under the real-time operating system are task scheduling when the embedded system is under operation. The task management scheduler controls application software tasks and runs them in a timely and responsive manner.
- Inter-task Communication and Synchronization
This kernel service allows tasks to pass information to one another without the risk of damaging the information. It also allows tasks to coordinate in a bid to cooperate with each other productively. Without inter-task communication and synchronization, tasks can pass corrupted information and interfere with each other’s operations.
- Dynamic Memory Allocation Services
This service category allows tasks to “borrow” RAM chunks for use in application software. In most cases, the borrowed RAM is passed from one task to another as a way of communicating large data amounts between the tasks. However, a few small RTOS kernelsused in tight and memory-limited environments do not offer the dynamic memory allocation service.
- Device I/O Supervisor
This service category offers an even framework for accessing and organizing the numerous hardware device drivers that are distinctive to embedded systems.
Most real-time operating systems offer numerous add-on components for high-level services like file system organization, network management, network communication, user-interface graphics, and database management, among others. Though most of the add-on components are more complex as compared to the RTOS kernel, they rely on the RTOS kernel and its basic services to function. However, the add-on components are included in embedded systems when their services are needed to implement embedded applications and retain a minimum program memory consumption.