4 ms·
> DOS didn't have certain protections because the hardware it targeted did not have those protections. For UNIX on the same machines, they also had no such prot
by TacticalCoder 6mo ago
> DOS didn't have certain protections because the hardware it targeted did not have those protections. For UNIX on the same machines, they also had no such protections. On 8086 there were no CPU rings, no virtual memory and no other features to help there.
Those arrived with the 386 (286? Don't remember but 386 for sure) and DOS was well alive late into the 386 and even late in the 486 days.
> For UNIX on the same machines, they also had no such protections.
I was already running Linux on my 486 before Windows 95 arrived. Linux and DOS. One had those protections, the other didn't.
- organsnyder 6mo agoWindows 95 was still based on DOS, and didn't offer a lot in the way of isolation or other security features. Win98 and ME were similar. It wasn't until all Windows versions used the NT kernel (XP being the first consumer-focused release) that this changed.
- badc0ffee 6mo agoI agree that DOS was offered well past when it should have been, but there were alternatives even in the 1980s - Netware, OS/2, commercial UNIX like XENIX and SCO.
- pixl97 6mo agoI mean, why would Microsoft program said protections into DOS when NT existed by 93? Simply put there was no putting said protections in to DOS for a few reasons. Backwards compatibility being a huge one. That and memory in most computers was tiny, getting Linux running on most of them would have been difficult.
- saidnooneever 6mo agoi think his point still holds but yours is true too. win 3.1 had protected mode. but windows 95 which was dos based did not. 98 i think got protected mode? not 100% sure on that. i know in windows 2000 it was still horrible broken...
- deleted 6mo ago[deleted]
- NoGravitas 6mo agoYou could run the 286 in Protected Mode, which offered those features. The problem was that DOS programs needed to run in backwards-compatible Real Mode, and switching between them meant resetting the CPU. You could implement a competent OS for the 286 (Coherent, Minix, Xenix, OS/2 1.x), but it wouldn't be able to run DOS programs - though OS/2 1.x managed to swap between one DOS session and all of its OS/2 sessions. With the 386, you could run multiple virtualized Real Mode CPUs, which enabled OS/2 2.x to preemptively multitask DOS sessions. Windows 3.x on a 386 or higher could also multitask DOS sessions, just much less reliably.