Asynchronous output

Philip Peake philip at axis.UUCP
Sat Dec 20 22:45:46 AEST 1986


In article <1858 at batcomputer.tn.cornell.edu> garry%cadif-oak at cu-arpa.cs.cornell.edu writes:
>I have an application which entails computing and churning out vast
>quantities of data and, for speed, I'd like to have the I/O happening
>in parallel with the computing. After reading the BSD and SysV manuals, 
>I'm puzzled: does the system give us *any way* to do asynchronous output?
>
>I've thought of writing a (presumably buffered) pipe to "cat" and thence to
>my device. Is there anything else?

You don't seem to have read your manuals too well.
ALL (normal) I/O activity under UNIX is asynchronous.
When you do a write(), the data is copied from the data area of your program
into a buffer (or clist structure) in the kernel data space. The write()
then returns. The buffered data is output either by a dma transfer or by
interrupt driven routines within the kernel, depending upon the device
to which you are writing.

Philip



More information about the Comp.unix.questions mailing list