UNIX semantics do permit full support for asynchronous I/O

Donald Lewine lewine at dg-rtp.dg.com
Wed Aug 29 23:12:57 AEST 1990


In article <27619 at nuchat.UUCP>, steve at nuchat.UUCP (Steve Nuchia) writes:
|> (For completeness I will note that to use this scheme intelligently
|> you must be able to discover the relevant properties of the memory
|> management implementation.  This is nothing new for high performance
|> programs in a paged environment, but unless its been added recently
|> there isn't a standard way to do it.  Whether this is properly a
|> language or a system interface issue is best left to another debate.)
|> -- 

That last remark defeats your entire suggestion.  If I have to
"discover the relevant properties of the memory management 
implementation", all dusty decks will fail.  

If you blindly map the page(s) containing "buf" out of the users
address space you will map out other variables that the user may
want.  It is not possible for the compiler to know that buf must
be on a page by itself.  How could you implement your scheme?

Also the read() and write() functions return the number of characters
read or written.  How do you know this before the read() or write()
completes?  Do you assume that all disks are error free and never
fail?  That is a poor assumption!

I don't think that your idea works at all.  For a scheme that does
almost exactly this, but with the cooperation of the user program,
look at PMAP under DEC's TOPS-20 operating system or ?SPAGE under
DG's AOS/VS.

--------------------------------------------------------------------
Donald A. Lewine                (508) 870-9008
Data General Corporation        (508) 366-0750 FAX
4400 Computer Drive. MS D112A
Westboro, MA 01580  U.S.A.

uucp: uunet!dg!lewine   Internet: lewine at cheshirecat.webo.dg.com



More information about the Comp.unix.internals mailing list