Real time system

ImprimirCitar
Real-time system

A real-time system is a computer system that interacts with its physical environment and responds to environmental stimuli within a given period of time.

There are real-time critical systems (hard real-time), in which response deadlines must always be strictly respected and a single late response to an external event can have fatal consequences; and uncritical real-time systems (smooth real-time), where occasional delays in responding to an event can be tolerated.

A general example for real-time systems is a robot that needs to pick up a part from an endless belt. If the robot is late, the part will no longer be where it was supposed to be picked up, therefore the job was carried out incorrectly, even though the robot has arrived at the correct place. If the robot arrives before the part arrives, the part won't be there yet and the robot can block its path.

For a critical real time system (hard real time), the example is the case of the cooling system of a nuclear power plant, which must have responses in the least amount of time possible (preferably immediately) and does not accept any delay or error in its process, as this would lead to a nuclear catastrophe.

Benefits

  • More precise synchronization. Real-time systems are created to perform tasks that must be performed within precise cycle time scales (up to microseconds).
  • Greater predictability and reliability. As real-time systems process data within predictable and established time frames, the execution of tasks or workloads is virtually guaranteed, increasing the reliability of critical mission systems.
  • Prioritizing workloads in real time. The ability to prioritize certain workloads on others is critical when real-time specific workloads must be completed as scheduled to avoid catastrophic system failures. Some (but not all) real-time systems have this capacity in terms of workload or prioritization of tasks.

General structure of a real-time system

Estructura general de sistemas operativos en tiempo real
General structure of real-time operating systems
  • System to control: Any system that can be controlled
  • Interface with the system. adapt the signals that are sent from the system to the computer and from the computer are sent to the system. It is made up of analog digital and digital analog converters, which allow measuring the state of the system to control and impose a control over the operation to be performed in that system.
  • Real-time watch. A watch that allows you to take samples of the signals received from the devices, as well as send them certain signals at the right time. The real time clock causes a break in each sampling period
  • Operator console. It allows the human operator to perform manual interventions (break, stop, changes in system behavior, etc.)
  • Screens. They are used to send information to the operator about the status of the system.
  • Database. System status changes are saved in a database that the operator and control engineers can interrogate in case of system failure or to obtain information for management purposes. This information is growing and used to make decisions that arise with the operation of the system.
  • Remote monitoring system. In industrial processes, plant monitoring is essential to reduce costs and increase production. Decisions regarding the production of one plant may affect the performance of other plants that depend on it, as is the case of one plant that produces raw material for another.
  • Computer. The software that controls system operations is written in modules that reflect the physical nature of the environment. In general, these modules are:

–Digital control algorithms. They control the system. – Data records. They allow to save the changes of state of the system. – Address information. They make it possible to provide information on the state of the system and the operations that are carried out to those in charge of managing the global system. – Operator interface. To interact with the operator.

  • Size and complexity. Often problems related to real-time systems become problems of great size and complexity.
  • Handling real numbers. It is the way to represent the read values of the real world in a computer.
  • Security and reliability. Real-time systems are often related to processes in which failures have serious consequences, so fault tolerance is a vital factor in their design.
  • Concurrence. It is often necessary to control access to shared resources, execute several tasks in parallel, which causes STRs to present a certain degree of multitasking processing.
  • Efficiency. This feature is required to all types of systems, even more in systems that can be critical, such as STRs. With this feature it is intended to ensure that the logical functioning of the system is correct and optimal
  • Time unit. As we have already seen time is the distinguishing factor of the STRs, which are required not only a logical correction, unless they meet certain temporary requirements. His temporary behavior has to be deterministic, and at the time of design, the worst of cases must be foreseen.
  • Special E/S devices. The connection with the outside is adapted to the processes that are controlled and often condition the functioning of the system. Interactions with the outside can be active or passive, that is, the system must control access to the physical environment, or the physical environment somehow disrupts the control system.

Classification of systems in real time

Classification (According to time requirements)

  • Strict real time
  • Real time not strict (soft real time)
  • Incremental

Classification (According to the hardware architecture used)

  • Owners
  • Open

Classification (According to the execution flow)

  • Centralized
  • Distributed

Characteristics of real-time systems

Determinism

Determinism is a key quality in real-time systems. It is the ability to determine with a high probability, how long a task takes to start. This is important because real-time systems require certain tasks to run before others can start.

This characteristic refers to the time the system takes before responding to an interrupt. This information is important to know because almost all interruption requests are generated by events external to the system (i.e. by a service request), so it is important to determine the time it will take for the system to accept this service request.

Responsiveness

Responsiveness focuses on the time it takes for a task to execute once the interrupt has been serviced. The aspects that it focuses on are:

  • The amount of time taken to initiate the execution of a interruption
  • The amount of time needed to perform the task that requested the interruption.
  • The effects of aging interruptions.

Once the result of the calculation of determinism and responsiveness is obtained, it becomes a characteristic of the system and a requirement for the applications that will run on it (for example, if we design an application on a system in which the 95% of the tasks must finish in a certain period so it is advisable to make sure that the executed tasks of our application do not fall into the bottom 5% of performance).

Controlling users

In these systems, the user (for example, the processes running on the system) have much more extensive control of the system.

  • The process is able to specify its priority.
  • The process is able to specify the memory management it requires (which part will be cache and that part in swap memory and which swap memory algorithms to use)
  • The process specifies what rights it has on the system.

Although this seems anarchic, it is not, because real-time systems use process types that already include these characteristics, and usually these TYPES of processes are mentioned as requirements. An example is the following:

"Maintenance processes should not exceed 3% of the processor capacity, unless at the time they are executed the system is in the time window of least use."

Reliability

Reliability in a real-time system is another key feature. The system must not only be free of failures, it must also comply with the fact that the quality of the service it provides will not degrade beyond a certain time limit, this means that it must deliver the response to a user request in a quantity of specific time.

A real-time system should not stop working for any reason, either due to direct failures in the system or some degradation in the service, because in the event that it stopped working, catastrophic consequences could be caused.

Any real-time system that does not comply with this characteristic will cease to be useful and later forgotten, since it is necessary to have the confidence that when using any real-time system, the response to the interactions made by the user will be practically immediate..

Fail hard operation

The system should fail so that when a failure occurs, the system preserves as much data and system capabilities as possible.

That the system be stable, that is, if it is impossible for the system to fulfill all the tasks without exceeding its time constraints, then the system will fulfill the most critical and highest priority tasks.

Analysis and design of systems in real time

The special characteristics of real-time systems that are different from other types of systems introduce into the definition of the system a series of non-functional requirements, which are not directly related to to specific functions if not to emergent properties such as reliability, efficiency or implementation requirements. Design by structured analysis using graphical description focuses on the development of program specifications that are made up of functionally independent modules.

Real-time computing

Real-time computing (or real-time computing) is related to hardware and software systems that are constrained by time constraints. Real-time software must necessarily have the characteristic of a critical response time.

For example, the software in charge of controlling an artificial respirator must be real-time, since a delay in its response time is not acceptable. Some types of programs such as those used to play chess only have the necessary time to be able to make the next move.

A distinction could be made, for example, a car engine management system is an active real-time system because a delayed signal can cause engine damage or failure. Other examples of active real-time embedded systems are medical systems such as artificial pacers and industrial process controllers.

Passive real-time systems are typically used when there is shared access and a number of connected systems need to be kept up to date with a changing situation. An example would be the programs that maintain and update the flight plans of commercial airlines. These programs can work in a matter of seconds.

It would not be possible to offer modern commercial flights if these operations could not be performed reliably in real time. Live audio and video systems are also typical passive real-time systems since if the time limits are exceeded the only thing that can happen is that the quality deteriorates but the system continues to work.

The needs of real-time programs can be met with real-time operating systems, which provide a framework on which to build real-time program applications.

Real-time operating systems

A real-time operating system (SOTR or RTOS -Real Time Operating System in English) is an operating system that has been developed for real-time applications. As such, your answers are required to be corrected under certain time constraints. If you do not respect them, it will be said that the system has failed. To guarantee the correct behavior in the required time, the system needs to be predictable (deterministic).

Contenido relacionado

Joseph goebbels

Paul Joseph Goebbels was a German politician who held the post of Minister for Public Enlightenment and Propaganda of the Third Reich between 1933 and 1945....

Pact of San Sebastian

The Pact of San Sebastián designates the meeting promoted by the Republican Alliance that took place in San Sebastián on August 17, 1930, which was attended...

Monarchy

The monarchy is a form of State in which a group integrated into the State, generally a family that represents a dynasty, embodies the national identity of...

Liberalism

Liberalism is a political, social and economic doctrine. In the social sphere, he defends individual freedom, equality before the law and the limitation of...

Communist Party of Spain

The Communist Party of Spain is a Spanish political party of communist ideology, formed on November 14, 1921 as a result of a split from the Socialist Party...
Más resultados...
Tamaño del texto:
Copiar