3 ms·
That's a shame - like so many other closed source systems, acquisitions followed by sun-setting and all that hard (and smart) work eventually gone! It's impres
by jll29 5y ago
That's a shame - like so many other closed source systems, acquisitions followed by sun-setting and all that hard (and smart) work eventually gone!
It's impressive that this software is long deceased and still people hold it dear - that's QUALITY, hard to find in today's world of half-baked, half-finished things designed to fail as soon as they're out of warranty.
On the technical side I wonder how the pre-emptive multi-tasking was realised without a MMU, i.e. pre-386? I heard QMX also had that, but it seems tricky to provide that in a stable manner without memory protection.
- kragen 5y agoPreemptive multitasking is easy; you just hook the timer interrupt and switch stacks in the interrupt handler. The only tricky part is ensuring that your task queues are modified in such a way that an interrupt at the wrong time can't crash the system. But it's true that, without memory protection, a bug in one program can corrupt all the other programs, too. The 286 did have memory protection, FWIW, and arguably an on-chip MMU: https://en.wikipedia.org/wiki/Intel_80286#Protected_mode https://en.wikipedia.org/wiki/Intel_80286#Protected_mode https://retrocomputing.stackexchange.com/questions/7683/how-do-you-put-a-286-in-protected-mode https://retrocomputing.stackexchange.com/questions/7683/how-... http://www.rcollins.org/articles/pmbasics/tspec_a1_doc.html http://www.rcollins.org/articles/pmbasics/tspec_a1_doc.html EUMEL and Oberon handled this by implementing memory protection in the compiler, but obviously that doesn't help with existing MS-DOS applications unless your compiler's source language is 8086 machine code. That's more or less the approach VMWare and QEMU used to virtualize non-virtualizable hardware. Not sure about Soft-ICE. Also, btw, the 80386 came out in 01985, and DESQview/X came out 7 years later, in 01992.