Digital Media
Moshell -Spring 98
Lecture 16
Multimedia Operating Systems - G Chapter 9
& Queries about Infrared Signal Transmission Technology
This lecture will be brief, due to the student presentations which begin today. It will highlight the key issues associated with real-time recording and playback of multimedia

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:

In both cases, a real-time process will be able to respond within a fixed interval. Necessary Characteristics for real-time systems - prior to multimedia: (process control, simulation, flight and automotive systems are good examples)
  SOFT deadlines are those which, if not met, produce annoyance or inconvenience. Examples are late arriving airplanes at an airport, late payments on your credit card account, etc.

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:

Note that real-time is not the same as FAST. It is more like DEPENDABLE.

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.