Hacker News new | past | comments | ask | show | jobs | submit login

Think it was the 386 that first had protected mode...

Indeed it was. And it took until Windows NT and the various PC Unixes to properly utilize it. Windows 95/98/ME were ostensibly running in 32-bit protected mode, but apparently could switch back to the old non-protected 16-bit mode to run old applications and drivers, compromising stability of the entire system.

286 had too but no common OS used it. Too limited

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.

Whatever 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.

Versions 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.

No, the protected mode was introduced with the 286.

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact