non-blocking read

Guy Harris guy at rlgvax.UUCP
Sat Feb 18 06:40:10 AEST 1984


> UNIX was designed to appear synchronous at the user I/O level and
> it does a nice job of this.  If you really want asynchronous file I/O
> why not change to VMS.

Because synchronous I/O is not appropriate for all applications, and it's
a pain to have to swallow the rest of VMS just to get asynchronous I/O.
For instance, Michael Stonebraker's paper on OS support for databases
mentions several problems with UNIX I/O (the fact that you only have
sequential read-ahead, when often the application knows what block it
will want soon) which could be fixed with asynchronous I/O.

UNIX wasn't originally designed to do a lot of things it currently does
fairly well (for instance, it originally wasn't designed to support
virtual memory); if it hadn't been able to be extended to support new
applications, it may have remained a Bell Labs and maybe university curiosity.
As such, it would have been an interesting research project but wouldn't
have become significant in the larger world of computing.  (Admittedly, there
are some die-hard hackers out there who would have considered that a better
outcome, but to each their own...)

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy



More information about the Comp.unix.wizards mailing list