A real-time system means that the system is subjected to real-time, i.e., the response should be guaranteed within a specified timing constraint or the system should meet the specified deadline. For example flight control systems, real-time monitors, etc.
Types of real-time systems based on timing constraints:
- Hard real-time system: This type of system can never miss its deadline. Missing the deadline may have disastrous consequences. The usefulness of results produced by a hard real-time system decreases abruptly and may become negative if tardiness increases. Tardiness means how late a real-time system completes its task with respect to its deadline. Example: Flight controller system.
- Soft real-time system: This type of system can miss its deadline occasionally with some acceptably low probability. Missing the deadline have no disastrous consequences. The usefulness of results produced by a soft real-time system decreases gradually with an increase in tardiness. Example: Telephone switches.
- Firm Real-Time Systems: These are systems that lie between hard and soft real-time systems. In firm real-time systems, missing a deadline is tolerable, but the usefulness of the output decreases with time. Examples of firm real-time systems include online trading systems, online auction systems, and reservation systems.
Reference model of the real-time system:
Our reference model is characterized by three elements:
- A workload model: It specifies the application supported by the system.
- A resource model: It specifies the resources available to the application.
- Algorithms: It specifies how the application system will use resources.
Terms related to real-time system:
- Job: A job is a small piece of work that can be assigned to a processor and may or may not require resources.
- Task: A set of related jobs that jointly provide some system functionality.
- Release time of a job: It is the time at which the job becomes ready for execution.
- Execution time of a job: It is the time taken by the job to finish its execution.
- Deadline of a job: It is the time by which a job should finish its execution. Deadline is of two types: absolute deadline and relative deadline.
- Response time of a job: It is the length of time from the release time of a job to the instant when it finishes.
- The maximum allowable response time of a job is called its relative deadline.
- The absolute deadline of a job is equal to its relative deadline plus its release time.
- Processors are also known as active resources. They are essential for the execution of a job. A job must have one or more processors in order to execute and proceed towards completion. Example: computer, transmission links.
- Resources are also known as passive resources. A job may or may not require a resource during its execution. Example: memory, mutex
- Two resources are identical if they can be used interchangeably else they are heterogeneous.
- Real-time systems provide immediate and accurate responses to external events, making them suitable for critical applications such as air traffic control, medical equipment, and industrial automation.
- They can automate complex tasks that would otherwise be impossible to perform manually, thus improving productivity and efficiency.
- Real-time systems can reduce human error by automating tasks that require precision, accuracy, and consistency.
- They can help to reduce costs by minimizing the need for human intervention and reducing the risk of errors.
- Real-time systems can be customized to meet specific requirements, making them ideal for a wide range of applications.
- Real-time systems can be complex and difficult to design, implement, and test, requiring specialized skills and expertise.
- They can be expensive to develop, as they require specialized hardware and software components.
- Real-time systems are typically less flexible than other types of computer systems, as they must adhere to strict timing requirements and cannot be easily modified or adapted to changing circumstances.
- They can be vulnerable to failures and malfunctions, which can have serious consequences in critical applications.
- Real-time systems require careful planning and management, as they must be continually monitored and maintained to ensure they operate correctly.