Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1a 12/4/83; site rlgvax.UUCP
Path: utzoo!watmath!clyde!floyd!harpo!seismo!rlgvax!guy
From: guy@rlgvax.UUCP (Guy Harris)
Newsgroups: net.unix-wizards
Subject: Re:  non-blocking read
Message-ID: <1722@rlgvax.UUCP>
Date: Fri, 17-Feb-84 15:40:10 EST
Article-I.D.: rlgvax.1722
Posted: Fri Feb 17 15:40:10 1984
Date-Received: Sat, 18-Feb-84 04:56:24 EST
References: <16670@sri-arpa.UUCP>
Organization: CCI Office Systems Group, Reston, VA
Lines: 26

> 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