3 ms·
Windows and OS/2 used it. A bunch of Unixes did as well. It was only limited if you wanted to run multiple DOS applications at the same time and switch between
by Narishma 7y ago
Windows and OS/2 used it. A bunch of Unixes did as well. It was only limited if you wanted to run multiple DOS applications at the same time and switch between them.
- jacobush 7y agoWhatever Windows did, it was not good enough and way too easy to crash 16 bit Windows from within applications. Yes, I remember now I heard about 286 OS/2. But hardly common, even though cool. I was thinking MINIX which IIRC could use memory separation on 286. (But not on 8088/8086.) Still, you could only use 64 kbyte segments, limiting you data set a lot. You could not do the "large" model of up to half a meg or so you could in DOS.
- basementcat 7y agoVersions of MS-Windows before Windows NT used "cooperative multitasking" in which it was the responsibility of each process to yield CPU time to the next process in the task queue. Compare this with "pre-emptive multitasking" employed by UNIX, OS/2 and AmigaOS in which an interrupt causes the OS to save registers, stack pointer, etc and transfer control to another process (if needed) after each quanta. If a Windows 3.1 process failed to yield, it could result in a nonresponsive OS. On Linux, an abusive process would have to try a bit harder to take down the system (fork bomb, hog a bunch of ram, etc). On AmigaOS, a process could just overwrite part of another process or the OS itself to cause a crash.