LWN.net Logo

VMS All Over Again

VMS All Over Again

Posted Feb 5, 2009 2:15 UTC (Thu) by ldo (subscriber, #40946)
Parent article: LCA: A new approach to asynchronous I/O

Funny how every time I hear about a proposal for adding asynchronous I/O to Linux, I think about VMS. In that system, all time-consuming operations (I/O, getting information from another process etc) were asynchronous; the supposedly synchronous syscalls were just user-space glue that did nothing but make the asynchronous call, and then wait for it to complete before returning. So as far as the kernel was concerned, there was no synchronous/asynchronous distinction.

Seems to me we keep taking baby steps in that direction while trying to avoid admitting that itÂ’s the right idea.


(Log in to post comments)

VMS All Over Again

Posted Feb 5, 2009 14:50 UTC (Thu) by donbarry (guest, #10485) [Link]

Oh, it's much, much older. Control Data mainframes of the 60s had even
*system calls* made asynchronously. The CPUs had no I/O capabilities, and
one would write a system request into the first word of memory of the
process. Peripheral processors would periodically scan process memory
beginnings, see the request, and set a bit to acknowledge reception.
I/O would begin, and later the word would be written to again to acknowledge
completion, with a toggle bit as semaphore between PP and CPU.
Meanwhile, your faultlessly brilliant code would hopefully continue doing
nuclear bomb calculations, cryptographic decrypts, or payroll, waiting
for the washing-machine disks to do their deeds and the PPs to propagate
their transfers back into central memory.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds