I really enjoy reading well written software development stories from 90s, like this one. It just has a different vibe, emotion compared to the 'modern' stories. Makes me wish I was born a decade earlier, in a western country :)
Arguably it would be much better to enforce process isolation and priviledge protection statically in the programming language. Currently system calls have a massive performance overhead, which could be eliminated if the compiler could reason about memory access violations and so on. Legacy code and other applications could run in sandboxed virtual machines. Microsoft has done some research in this direction with their Singularity OS and a programming language called M.
"The Birth & Death of JavaScript"[0] talked about this. From my memory, in "the future" described in the talk, everything is ported to JS so that the VM does the isolation automatically and all the overhead can be thrown away.
Ah, the MS OS/2 2.0 fiasco, which was one of my favorite topics. I have a bad opinion against MS for it, and another favorite thing to mention about Win9x back when I was discussing this fiasco was how the dependence on DOS allowed Caldera to continue to sue MS. I once dug out PX00307 and mentioned it here: http://www.vintage-computer.com/vcforum/showthread.php?33838...
Resisting the urge to put "operating system" in quotes :-)
This kind of nonsense would not have been possible on *nix, OS/2 or VMS back in the early 90s. (written as somebody who had to write a fair amount of C code back then for such things in addition to the scourge of Win16)
Still, hats off for debugging such a goofy work-around with a poorly chosen place for setjmp() to receive a longjmp().