dave long dlsilcomcom wrong vmslike async io makes huge difference even consider small programs sounds thinking useful apps also trivial unless key keyboard apps distinct event sources cant think usual job mix would need hundreds even tens async requests perhaps explain nontrivial apps compellingly useful still built knows point portable either case lack portability imply isnt generally useful apparent tcp networks useful berkeley sockets could found even vms win 31 boxen would early unix run idea one wishes multiple things time one use group processes multics counterexample days tiny memories tapes people accustomed writing programs didnt run entirely single address space one great number interface log1 0 specification implicit combination hoare says two ways constructing software design one way make simple obviously deficiencies make complicated obvious deficiencies programmers weve able make lives complicated least half century hardware interrupt gives us rope part dijkstras inspiration counterexample ibms multi programmed boxes ones inspired mythical man month suppose would say question make mess structure computations try ten times many things time reasoning resulting system ten times complex one hundred certainly three half million times compared project prospect writing driver library various vendors aio implementations seems truly trivial dave oracle quest portability used use raw disks database finessed filesystem issue also allow roll set async drivers fri 06 sep 2002 132532 0700 asynchronous io gasp