Synchronous/Asynchronous, one more try. [djg31]

David Garfield david@davgar.arlington.va.us
Fri, 04 Jun 1993 01:56:08 EDT


Well,

-------------------------

I have looked over the QNX paper.  I was very surprised to learn that
its send() call blocked until after the reply was done.  OK, so QNX is
synchronous.  That does not mean that all modern OSes are synchronous,
just that one 11 year old OS is.

-------------------------

I fully agree that either the standard library (or whatever we call
it) or the kernel should include a synchronous communication layer,
but still assert that the kernel must include an asynchronous
communication layer at at least as low a level.  I agree that
programmers should be encouraged to use the synchronous forms unless
the applications calls for something else.

-------------------------

Peter, my challenge stands.
}} All right, try this:  under Unix, write a program that reads data from
}} two data sources and does different things with the data, such that:
}}         1) only one process is used
}}         2) select() is not used
}}         3) either data source can produce data that will be processed
}}            imeadiately (sp?)
}}         4) the program does not eat CPU time
}}
}} If you can do this in Unix, I want to see it.  I don't think Unix,
}} which only has synchronous IO, can do it.
}}
}} With VMS and its asyncronous IO, this is trivial.

You dismissed this by saying that both Unix and VMS are old operating
systems.  Very well, you are welcome to replace either or both with
something that you consider a new/modern operating system.  I quoted
Unix and VMS because I know them and they are fairly well understood
and available.  If you do use another operating system in your
program, be prepared to explain it.

Good Luck...

-------------------------

The tendency of modern OSes to seperate things into lots of little
chunks outside the kernel is good.  But an OS can be just as modern
linked as one biiiiig image.  And an OS can be just as archaic in
little chunks.  The little chunks gives you modularity and isolation,
which make you programming job easier (usually).  :-)

-------------------------

--David
-- 
David Garfield/2250 Clarendon Blvd/Arlington, VA 22201   (703)522-9416
Email: david%davgar@uunet.uu.net or garfield@verdi.sra.com