 wrong vms like async io makes a huge difference in even what i consider small programs so it sounds as if to your thinking most useful apps are also trivial unless each key on my keyboard were to the apps distinct event sources i can t think of any of my usual job mix that would need hundreds or even tens of async requests perhaps you can explain how nontrivial apps will be compellingly useful but it s still not built in who knows when it will be the point is it s not portable in either case does that lack of portability imply it isn t generally useful when it was apparent that tcp networks were useful berkeley sockets could be found even on vms and win NUMBER NUMBER boxen why would early unix have run with the idea that if one wishes to do multiple things at the same time one can use a group of processes to do them they had multics as a counterexample in the days of tiny memories and tapes people were more accustomed to writing programs that didn t run entirely in a single address space one is a great number for an interface as log NUMBER is NUMBER and specification can be implicit some combination of the above now as hoare says there are two ways of constructing a software design one way is to make it so simple that there are obviously no deficiencies and the other is to make it so complicated that there are no obvious deficiencies as programmers we ve been able to make our lives complicated for at least half a century the hardware interrupt gives us the rope part of dijkstra s inspiration for the was the counterexample of ibm s multi programmed boxes were these the same ones that inspired mythical man month and i suppose he would say the question is how not to make a mess of it how should we structure computations so if we try to do ten times as many things at the same time reasoning about the resulting system is at most ten times more complex not one hundred and certainly not three and a half million times more compared to that project the prospect of writing a driver library for various vendors aio implementations seems to be truly trivial dave oracle in their quest for portability used to use raw disks for the database this finessed the filesystem issue did it also allow them to roll their own set of async drivers 