• ChrysanthemumIndica@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 days ago

    I think all the x86 processors support preemptive multitasking, but yes for sure you need a good MMU to really simplify things. The two almost always go hand in hand for good reason!

    The memory management on the 286 was definitely buggier and “lesser” than on the 386, but as I understand it was more than sufficient to run a preemptive OS with virtual memory (Concurrent DOS 286 was just such an OS). The 286 just couldn’t run existing legacy 8086 software in this mode out of the box(only through a software emulation layer), so many people simply used it as a fast 8086 running MS-DOS/Windows.

    The 386 fixed this by making it much easier/safer to use this legacy software in a protected mode environment, so something like Windows 3.x could run both DOS applications and it’s own native 16/32-bit ones at the same time. I’m honestly not sure why you couldn’t run Windows 3.11 on your 286, but I’m pretty sure it could be installed on one in standard mode. (I’ve read that some Compaq machines had an issue with that?) You would have only been able to run native 16-bit windows applications though, no DOS without resetting the system.

    Again, I could be wrong (and would be curious to know if I am)! For context, I’ve worked as a firmware/BIOS engineer in the PC industry for 20 years, and spent most of my teenage years programming in assembly on those systems, and this is all from my direct experience with programming for such things. But also I’m old now and my brain don’t always work good…