3 ms·
VMS had asynchronous programming to its core. Most system calls could be performed synchronously or async. You just had to give the async call a flag that would
by edarchis 2y ago
VMS had asynchronous programming to its core. Most system calls could be performed synchronously or async. You just had to give the async call a flag that would indicate when the response was ready. So you could read a file or connect to the network, continue execution and when you actually needed the answer, just sys$wait(flag). Or have callback functions.
It worked extremely well as some else mentioned, 64Mb of RAM was enough to handle 200 interactive users with RDB (database IMO far superior to Oracle that was acquired by them and promptly buried)
- EvanAnderson 2y ago> VMS had asynchronous programming to its core. Most system calls could be performed synchronously or async. This continued, of course, in its spiritual successor Windows NT.
- not2b 2y agoYes, same architect (Dave Cutler), and WNT is (V+1)(M+1)(S+1) though they probably didn't do that on purpose.
- rbanffy 2y ago> though they probably didn't do that on purpose. Of course they didn’t (wink wink)
- rollcat 2y agoFor those curious, look up IO completion ports. Back when all I knew was select(2), it blew my mind.
- hulitu 2y ago> This continued, of course, in its spiritual successor Windows NT. I think NT still had problems with interactivity when the parralel port was used (interrupts)
- EvanAnderson 2y agoI can't say I did much w/ NT and parallel ports beyond attaching printers. I'd imagine it could be pretty awful in the "SPP" days, especially with people trying to connect ZIP drives, "Backpack" CD-ROM drives, tape drives, etc. I suspect floppy drives, which I also didn't use under NT very much, could also play hell w/ interactivity.