Real-time systems

Chapter 15

Computers are used to control a wide range of systems from simple domestic machines to entire manufacturing plants. These computers interact directly with hardware devices. The software in these systems is embedded real-time software that must react to events generated by the hardware and issue control signals in response to these events. A good definition from author of the book is the following:

A real time system is a software system where the correct functioning of the system depends on the results produced by the system and the time at which these results are produced. A soft real-time system is a system whose operation is degraded is results are not produced according to the specific timing requirements. A hard real-time system is a system whose operation is incorrect if results are not produced according to the timing specification.

One way of looking at a real-time system is as a input/response system. For a specific input system responds in a particular way. These inputs (or stimuli) fall into two classes:

  1. Periodic stimuli. These occur at predictable time intervals.
  2. Aperiodic stimuli. These occur irregularly.

Because real-time systems must meet their timing constraints, sometimes it is impossible to use object-oriented development for hard real-time systems. Object-oriented development involves hiding data and accessing attributes values through operations defined with the object, which means there is a significant performance overhead in object-oriented systems because extra code is required to mediate access to attributes and handle calls to operations.

A state model of a system assumes that, at any time, the system is in one of a number of possible states. When a stimulus is received, this may cause a transition to a different state.

A real-time operating system manages processes and resource allocation in a real-time. There are many RTOS products available, from very small, simple systems for consumer devices to complex systems for cell phones and mobile devices and operating systems specially designed for process control and telecommunications. RTOS usually includes:

  • A real-time clock. Provides information to schedule processes periodically.
  • An interrupt handler. Manages aperiodic requests for service.
  • A scheduler. Responsible for examining the processes that can be executed and choosing one of these for execution.
  • A resource manager. Allocates appropriate memory and processor resources for a scheduled process.
  • A dispatcher. This component is responsible for starting the execution of a process.

Real time operating system’s actions required to start a process looks like this: Scheduler chooses process for execution based on process priority, the expected execution time and the deadlines of the ready processes; resource manager allocates memory and processor; dispatcher starts execution on available processor.

 
software_engineering/real-time_systems.txt · Последние изменения: 2009/09/17 03:34 От freetonik
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki