
- •Introduction
- •Applications of Real-Time Systems
- •Voltage
- •Figure 7: Conversion of an Analog Signal to a 16 bit Binary Number
- •Figure 11: Schematic Representation of tmr
- •It is relatively simple to design a hardware equipment to be fault-tolerant. The following are two methods that are popularly used to achieve hardware fault-tolerance:
- •Software Fault-Tolerance Techniques
- •Types of Real-Time Tasks
- •Timing Constraints
- •Events in a Real-Time System
- •Figure 16: Delay Constraint Between Two Events el and e2
- •Examples of Different Types of Timing Constraints
- •Figure 19: Classification of Timing Constraints
- •Real-Time Task Scheduling
- •Figure 1: Relative and Absolute Deadlines of a Task
- •Figure 2: Precedence Relation Among Tasks
- •Types of Real-Time Tasks and Their Characteristics
- •Classification of Real-Time Task Scheduling Algorithms
- •Figure 5: An Example Schedule Table for a Cyclic Scheduler
- •Figure 6: Major and Minor Cycles in a Cyclic Scheduler
- •Comparison of Cyclic with Table-Driven Scheduling
- •Hybrid Schedulers
- •Event-driven Scheduling
- •Is edf Really a Dynamic Priority Scheduling Algorithm?
- •Implementation of edf
- •Figure 10: Priority Assignment to Tasks in rma
- •We now illustrate the applicability of the rma schodulability criteria through a few examples.
- •Deadline Monotonic Algorithm (dma)
- •Handling Aperiodic and Sporadic Tasks
- •Dealing With Task Jitter
- •W Good real-time task scheduling algorithms ensure fairness to real-time tasks while scheduling.
- •State whether the following assertions are True or False. Write one or two sentences to justify your choice in each case.
- •Figure 2: Unbounded Priority Inversion
- •Highest Locker Protocol(hlp)
- •Priority Ceiling Protocol (pcp)
- •Comparison of Resource Sharing Protocols
- •Handling Task Dependencies
- •Fault-Tolerant Scheduling of Tasks
- •Clocks in Distributed Real-Time Systems
- •Clock Synchronization
- •Figure 1: Centralized synchronization system
- •Cn Slave clocks
- •Commercial Real-Time Operating Systems
- •Time Services
- •Clock Interrupt Processing
- •Providing High Clock Resolution
- •Figure 2: Use of a Watchdog Tinier
- •Unix as a Real-Time Operating System
- •In Unix, dynamic priority computations cause I/o intensive tasks to migrate to higher and higher priority levels, whereas cpu-intensive tasks are made to seek lower priority levels.
- •Host-Target Approach
- •Preemption Point Approach
- •Self-Host Systems
- •Windows As a Real-Time Operating System
- •Figure 9: Task Priorities in Windows nt
- •Open Software
- •Genesis of posix
- •Overview of posix
- •Real-Time posix Standard
- •Rt Linux
- •7.8 Windows ce
- •Benchmarking Real-Time Systems
- •Figure 13: Task Switching Time Among Equal Priority Tasks
- •Real-Time Communication
- •Figure 2: a Bus Architecture
- •Figure 4: Logical Ring in a Token Bus
- •Soft Real-Time Communication in a lan
- •Figure 6: Priority Arbitration Example
- •Figure 8: Problem in Virtual Time Protocol
- •Figure 9: Structure of a Token in ieee 802.5
- •Figure 10: Frames in the Window-based Protocol
- •Performance Comparison
- •A Basic Service Model
- •Traffic Characterization
- •Figure 16: Constant Bit-Rato Traffic
- •Routing Algorithms
- •Resource Reservation
- •Resource Reservation Protocol (rsvp)
- •Traffic Shaping and Policing
- •Traffic Distortion
- •Traffic Scheduling Disciplines
- •Figure 20: Packet Service in Jittor-edd
- •Differentiated Services
- •Functional Elements of DiffServ Architecture
- •Real Time Databases
- •Isolation: Transactions are executed concurrently as long as they do not interfere in each other’s computations.
- •Real-Time Databases
- •Real-Time Database Application Design Issues
- •Temporal Consistency
- •Concurrency Control in Real-Time Databases
- •It can bo shown that pcp is doadlock froo and single blocking. Rocolloct that single blocking moans that once a transaction starts executing after being blocked, it may not block again.
- •Speculative Concurrency Control
- •Comparison of Concurrency Control Protocols
- •Commercial Real-Time Databases
- •Figure 16: Uniform Priority Assignment to Tasks of Example 15
- •Version 2 cse, iit Kharagpur
Real-Time Database Application Design Issues
Design of a real-time database application is much more intricate than design of databases for non-real-time applications. Let us investigate the reasons behind this. Irrespective of whether real-time or not, database transactions have extensive data requirements. Therefore, in case of real-time databases, if the data is stored in a secondary storage, the delay in accessing the data can make a transaction miss its deadline. Also, it becomes almost impossible to predict the response time for transactions due to the intricate protocols such as concurrency control protocols, commit protocols, and recovery protocols used to maintain the consistency of the database. Secondly, roll backs can have cascading effects and can introduce unpredictable amounts of delay.
In the face of the above mentioned problems, it might appear that use of databases is impractical in hard realtime applications. However, several silver lines exist. First, use of an in-memory database can make many of the problems vanish. Further, it must be remembered that in real-time applications, the set of transactions are simple and are known before hand (e.g. periodic sensor update). These transactions are fixed in the sense that they use the same amount and types of data each time. Therefore, plans for effective resource usage can be made to achieve deterministic transaction executions.
Characteristics of Temporal Data
A typical real-time system consists of a controlled system (environment) and a controlling system (computer). In other words, the controlling system maintains an image of the environment through periodic polling of sensor data. On the other hand, the environment is dynamic in nature and keeps changing its state unpredictably. The data representing the current state of the environment is an example of temporal data and is highly perishable. As an example, consider an antimissile system. In this, the controller maintains accurate information about the state of the missile given by its position, velocity, and acceleration data. The trajectory of an incoming missile is unpredictable and the antimissile system must maintain the state of the missile given by its current position, velocity, and acceleration values at any time. The current information maintained by the controller should be consistent with the actual state of the environment. This leads to the notion of temporal consistency. The need to maintain consistency between actual data of the environment, and that perceived by the controlling system necessitates the notion of temporal consistency. In subsection 7.4.1, we elaborate the notion of temporal consistency.
Since the values of a set of parameters of the environment are recorded in a database table again and again, temporal attributes of these data must be stored. In subsection 7.4.1, we elaborate how temporal data can be represented in a database. In addition to temporal data, a real-time database may also contain archival data such as the desirable environment state (e.g. robot path). Therefore, real-time databases should be able to handle both temporal as well as archival data. Many transactions might have to combine several temporal data and possibly some archival data to derive new data. For example, in a rocket, the sampled velocity, acceleration, and position values can be used with the pro-stored desired path data to track the path error.