Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!mcvax!inria!axis!philip
From: philip@axis.UUCP (Philip Peake)
Newsgroups: comp.unix.questions
Subject: Re: Asynchronous output
Message-ID: <781@axis.UUCP>
Date: Sat, 20-Dec-86 07:45:46 EST
Article-I.D.: axis.781
Posted: Sat Dec 20 07:45:46 1986
Date-Received: Mon, 22-Dec-86 23:15:49 EST
References: <1858@batcomputer.tn.cornell.edu>
Reply-To: philip@axis.UUCP (Philip Peake)
Organization: Axis Digital, 135 rue d'Aguesseau, Boulogne, 92100, FRANCE
Lines: 18

In article <1858@batcomputer.tn.cornell.edu> garry%cadif-oak@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