13.07.2015 Views

iAPX 286 Operating System Writers Guide 1983

iAPX 286 Operating System Writers Guide 1983

iAPX 286 Operating System Writers Guide 1983

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INPUT/OUTPUTRequirements for Parallelism and SynchronizationThe requirements for· parallelism and synchronization in the I/O subsystem may include any of thefollowing: .• The application procedure that requests a READ operation may run in parallel with the I/O subsystemuntil that procedure needs to reference the requested data, at which point it must wait untilthe data arrives or an exception occurs.• . The procedure that requests a WRITE operation can usually run in parallel with the I/O'subsystem.Some applications require acknowlegement of the completion ofa WRITE operation (in order,for example, to synchronize with a database recovery system), in which case that procedure mustwait until the acknowledgement arrives.• SEEK operations normally run in parallel with the requesting procedure.• The I/O dev'icecan always run iii parallel with some task in a multitasking system, whether it bethe task that requested the I/O operation or some other task that is not waiting for I/O.• In a simple I/O subsystem in which a device driver onlym~nages one I/O operation at a time, thedriver can simply wait until the device signals that the operation finishes. If the requesting procedureis blocked, the device driver can merely convert the I/O-complete signal into a wake-up signalfor that procedure. . . . .• In a more sophisticated I/O 'subsystem (for example, one in which a disk driver handles more thanone spindle and more than one task can share a disk device), greatest efficiency results only whendevice drivers run in parallel with I/O devices as well as with requesting procedures. An 1/0-complete signal from a device may arrive when the device driver is busy.Figure 8-1 explains the symbols used in a Petri net graph. Figures 8-2 and 8-3 use Petri net graphs toillustrate two approaches to synchronization between parts of an I/O subsystem. A horizontal linerepresents an event of interest that occurs only under certain conditions. Circles preceding an eventrepresent the conditions under which the event can occur. Circles after an event' represent the conditionsthat result from occurrence of the event. A dot inside a circle is called a token. A token represents!1condition that is in effe

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!