This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CS-350: Fundamentals of Computing Systems Page 1 of 13Lecture Notes Azer Bestavros. All rights reserved. Reproduction or copying (electronic or otherwise) is expressly forbidden except for students enrolled in CS-350. Real-Time Scheduling In most of the systems we have been concerned with so far in this course, it was assumed that the correctness of the systems response to a request was independent of how long it took the system to provide that response. In other words, correctness was independent from timeliness. In this lecture, we will consider systems where this is not the case i.e., systems whose correct operation requires them to have predictable timeliness. Systems in which correctness is independent from timeliness are called non real-time systems. In non real-time systems, entities issuing requests for services do not operate in real-time in the sense that they do not interact with processes or phenomena whose states change simply as a result of the passage of time. These systems stand in sharp contrast to real-time systems, which are tightly related to processes or phenomena where time is central. One important class of real-time systems is computer games. A computer game such as those on Xbox and Nintendo platforms, or even good-old Tetris interact with a player in real-time. For example, as a result of a block showing up in Tetris (see Figure 1), the user must react in real-time by moving the block around. The fact that a computer game interacts with a human being implies that the time it takes the game to respond to user input cannot be arbitrary. Rather, it should be predictable (and is typically related to the difficulty level set by the user herself). When executing a game, faster is not better! Figure 1 Tetris as an example of a real-time program. CS-350: Fundamentals of Computing Systems Page 2 of 13Lecture Notes Azer Bestavros. All rights reserved. Reproduction or copying (electronic or otherwise) is expressly forbidden except for students enrolled in CS-350. Just as interaction time is so crucial for computer games, there are myriad applications for which predictability is quite important. Examples include on-line stock market trading, on-line auctions, multimedia systems, video on-demand, and teleconferencing. Other important classes of real-time systems are those in which the computer interacts with the physical world.1We call such computing systems embedded.2A computing system is embedded if it is a component of a larger system whose primary purpose is to monitor and control an environment. The leaping advances in computing technologies that the last few decades have witnessed has resulted in an explosion in the extent and variety of such systems....
View Full Document
- Spring '09