270 likes | 401 Views
Week 10. 2P13. Classes of Real-Time Scheduling Algorithms. Deadline Scheduling. Real-time operating systems are designed with the objective of starting real-time tasks as rapidly as possible and emphasize rapid interrupt handling and task dispatching
E N D
Week 10 2P13
Deadline Scheduling Real-time operating systems are designed with the objective of starting real-time tasks as rapidly as possible and emphasize rapid interrupt handling and task dispatching Real-time applications are generally not concerned with sheer speed but rather with completing (or starting) tasks at the most valuable times Priorities provide a crude tool and do not capture the requirement of completion (or initiation) at the most valuable time
Information Used for Deadline Scheduling One or the other but not both
Figure 10.5 Scheduling of Periodic Real-Time Tasks With Completion Deadlines (Based on Table 10.2)
Figure 10.6 Scheduling of Aperiodic Real-Time Tasks With Starting Deadlines
Rate Monotonic Scheduling Figure 10.7
Periodic Task Timing Diagram Figure 10.8
Categories of I/O Devices External devices that engage in I/O with computer systems can be grouped into three categories:
Differences in I/O Devices Devices differ in a number of areas:
Organization of the I/O Function Three techniques for performing I/O are: Programmed I/O the processor issues an I/O command on behalf of a process to an I/O module; that process then busy waits for the operation to be completed before proceeding Interrupt-driven I/O the processor issues an I/O command on behalf of a process if non-blocking – processor continues to execute instructions from the process that issued the I/O command if blocking – the next instruction the processor executes is from the OS, which will put the current process in a blocked state and schedule another process Direct Memory Access (DMA) a DMA module controls the exchange of data between main memory and an I/O module
Hierarchical Design Functions of the operating system should be separated according to their complexity, their characteristic time scale, and their level of abstraction Leads to an organization of the operating system into a series of layers Each layer performs a related subset of the functions required of the operating system Layers should be defined so that changes in one layer do not require changes in other layers