[RTOS-1] Introduction
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 the below figure.
1. Overview of an real time operating system.
An operating system has 3 essential things:
- Task scheduling - The scheduler determines which task to run and when a task will run.
- Task dispatching - The dispatcher handles the necessary operations to get a task ready to go.
- Intertask communication - This is the mechanism that handles how you exchange data and information between tasks and processes on the same machine or from other machines.
=> These 3 things are what makes up the smallest portion of an operating system called kernel.
Real-time Operating System (RTOS) is a special operating system. The "real-time" part of the name does not mean the system responds quicklym, it just means that there are rigid time requirements that must be met. If these time requirements not met, your results can become inaccurate or unreliable.
Therefore, RTOS is used when you need to monitor and control physical processes in a timely manner. The constraints you have to deal with when using RTOS are tight scheduling, predictability and robustness.
A real-time operating system (RTOS) is key to many embedded systems today and, provides a software platform upon which to build applications. Not all embedded systems, however, are designed with an RTOS. Some embedded systems with relatively simple hardware or a small amount of software application code might not require an RTOS. Many embedded systems, however, with moderate-to-large software applications require some form of scheduling, and these systems require an RTOS.
This chapter sets the stage for all subsequent chapters in this section. It describes the key concepts upon which most real-time operating systems are based. Specifically, this chapter provides
-
a brief history of operating systems,
-
a definition of an RTOS,
-
a description of the scheduler,
-
a discussion of objects,
-
a discussion of services, and
-
the key characteristics of an RTOS.
2. Kinds of RTOS
- Hard real-time - system delays are know or at least bounded. Said to be operating correctly if the system can return results within any time constraints.
- Soft real-time - crittical task get priority over other task and will retain priority until the task is completed. This is another way of saying that real time tasks cannot be kept waiting indefinitely. Soft real time makes it easier to mix the system with other systems.
3. OS functions
- Process management
- Memory management
- I/O system management
- File system management
- System protection
- Networking
- Command interruption
Nhận xét
Đăng nhận xét
Vui lỏng để lại ý kiến phản hồi của bạn ở đây!
Thank you!