Reminder: Continuous-time media like video & audio, require that a steady stream of data be presented to the user. Discrete time -independent media, like e-mail, can tolerate variable rates of delivery.
"Real-time": A real-time process is a process which delivers the results of the processing in a given time-span.
This can occur in two ways:
* Schedulability - ability to "work backwards" from a given deadline
* Stability under transient overload.
HARD deadlines are ones which if not met, lead to system failure. Examples are the timely insertion of control rods into a nuclear reactor, lowering of wheels on a jet while landing, etc.
You have to pick the kind of deadline you want, because the cost of meeting hard deadlines is much more than that for soft ones.
So what could KEEP a system from this kind of behavior? Here are the most common reasons:
Windows and Event Driven Programming
In Windows (95 and NT) there is no pre-programmed flow of control. Rather, there is an elaborate structure of software "objects", each equipped with a standard set of "methods" - as well as others. For instance, every object has an "initialize" method, which is executed when the object is created.
Visible objects (usually windows, but other things count, too) have "click" methods, "mouse-down", "mouse-up", "close" and other standard methods. If the Windows environment discovers that a mouse click has occurred within a given visible object, that object's "click" method is invoked.
Now consider a programmer who tries to build a real-time application in Windows. Assume this app is trying to read a CD and present its results on the screen as a movie, with audio and sound.
This app, "MovieView", is now running in a window. There may be other windows open (let's say one of them contains a Microsoft Word document). While the video is playing, the user drags the mouse over and clicks on the Word document. She plans to finish her English homework with one eye, while watching the video with her other eye.
(Hey don't laugh, my daughter tries to do this kind of thing all the time. Maybe you do too.)
Considering a mouse-click event raises three questions:
1) How did the Windows software find out about the click, and how long
did that take?
2) How long will the Word application take to respond to the click?
3) Can the CPU do anything useful for the video application during
(1) and (2), or must it wait for completion?
Understanding the answer requires that we discuss priority-interrupt
systems.<Discussed in class>
Queries about Infrared Information Transmission Technology
1. What are the limitations (distance, speed, viewing conditions)
for IR technology today?
2. How would you choose between a traditional wired connection, IR and a wireless digital radio technique, for applications such as the following:
a) The outdoor check-in clerk at a rental car agency has a hand-held computer that is used for recording each returned car's condition, and printing out the customer's final bill.
b) A physician takes notes on a personal digital assistant, then signs the perscription with a stylus and transmits the order and perscription to the hospital's central computer.
c) The retail clerk at Macdonald's has a roving headset so that she can ask "You want fries with that?" while moving back and forth between the drive-up window and the milkshake machine.