For many years, real-time OS-based applications have been used in embedded special-purpose systems. Recently they have been used everywhere, from on-board control systems for aircraft, to household appliances. The development of multiprocessor computing systems usually aims to increase either the level of reliability or the level of system performance to values that are inaccessible or difficult to implement in traditional computer systems. In the first case, the question of the availability of special means of ensuring the fault tolerance of computer systems arises, the main feature (and advantage) of which is the absence of any single resource, failure of which leads to a fatal failure of the entire system. The use of a real-time operating system is always associated with equipment, with an object and with events occurring at an object. A real-time system, as a hardware-software complex, includes sensors that record events at an object, input / output modules that convert sensor readings into a digital form suitable for processing these readings on a computer, and finally, a computer with a program that responds to events occurring at the facility. The RTOS is focused on processing external events. It is this that leads to fundamental differences (compared with general-purpose OS) in the structure of the system as well as in the functions of the kernel and in the construction of the input-output system. The RTOS can be similar in its user interface to general-purpose operating systems, but it is completely different in its structure. In addition, the use of RTOS is always specific. If users (not developers) usually perceive a general-purpose OS as a ready-made set of applications, then the RTOS serves only as a tool for creating a specific hardware-software complex in real time. Therefore, the widest class of users of RTOS is the developers of real-time complexes, people designing control and data collection systems. When designing and developing a specific real-time system, the programmer always knows exactly what events can occur at the facility, and he knows the critical terms for servicing each of these events. We call a real-time system (SRV) a hardware-software complex that responds in predictable times to an unpredictable stream of external events. The system must have time to respond to the event that occurred at the facility, during the time critical for this event. The critical time for each event is determined by the object and by the event itself, and, of course, it can be different, but the response time of the system must be predicted (calculated) when creating the system. Lack of response at the predicted time is considered an error for real-time systems. The system must have time to respond to simultaneously occurring events. Even if two or more external events occur simultaneously, the system must have time to respond to each of them during time intervals critical for these events. In this study, as part of a network fault-tolerant technology, the RTOS becomes a special type of control software that is used to organize the operation of embedded applications, which are characterized by limited memory resources, low productivity and the requirements of a guaranteed response time (T<4 μs), high level availability and availability of auto-monitoring facilities.
Read full abstract