Книга: Real-Time Concepts for Embedded Systems
4.3 Defining an RTOS
4.3 Defining an RTOS
A real-time operating system (RTOS) is a program that schedules execution in a timely manner, manages system resources, and provides a consistent foundation for developing application code. Application code designed on an RTOS can be quite diverse, ranging from a simple application for a digital stopwatch to a much more complex application for aircraft navigation. Good RTOSes, therefore, are scalable in order to meet different sets of requirements for different applications.
For example, in some applications, an RTOS comprises only a kernel, which is the core supervisory software that provides minimal logic, scheduling, and resource-management algorithms. Every RTOS has a kernel. On the other hand, an RTOS can be a combination of various modules, including the kernel, a file system, networking protocol stacks, and other components required for a particular application, as illustrated at a high level in Figure 4.1.
Figure 4.1: High-level view of an RTOS, its kernel, and other components found in embedded systems.
Although many RTOSes can scale up or down to meet application requirements, this book focuses on the common element at the heart of all RTOSes-the kernel. Most RTOS kernels contain the following components:
· Scheduler - is contained within each kernel and follows a set of algorithms that determines which task executes when. Some common examples of scheduling algorithms include round-robin and preemptive scheduling.
· Objects - are special kernel constructs that help developers create applications for real-time embedded systems. Common kernel objects include tasks, semaphores, and message queues.
· Services - are operations that the kernel performs on an object or, generally operations such as timing, interrupt handling, and resource management.
Figure 4.2 illustrates these components, each of which is described next.
Figure 4.2: Common components in an RTOS kernel that including objects, the scheduler, and some services.
This diagram is highly simplified; remember that not all RTOS kernels conform to this exact set of objects, scheduling algorithms, and services.
- 1.1.4 Defining the Embedded System
- 5.2 Defining a Task
- 6.2 Defining Semaphores
- 7.2 Defining Message Queues
- 3.4.2 RTOS Initialization
- 10.2 The Real-Time Operating System (RTOS)
- 10.3 RTOS Services
- 10.5 CCS PIC C Compiler RTOS
- 10.5.1 Preparing for RTOS
- Defining mail transport protocols
- Chapter 9: Other RTOS Services
- 4.7 Key Characteristics of an RTOS