Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Controversial opinion: DOS-based Windows/386 family (including 3.11 enhanced mode, 95, 98, up to the ill-fated ME) are even more advanced than NT. While Unix and NT, despite how different they are in the details are still "traditional" OSes, the lineage that started at Windows/386 are hypervisors that run VMs under hardware-assisted virtualisation. IMHO not enough has been written about the details of this architecture, compared to Unix and NT. It's a hypervisor that passes through most accesses to the hardware by default, which gave it a bad reputation for stability and security, but also a great reputation for performance and efficiency.


> Windows/386 are hypervisors that run VMs under hardware-assisted virtualisation.

Not really. There was no Ring -1 (hypervisor), no hardware-assisted virtualization as we use the term today. On Windows/386, it ran in Ring 0.

Virtual 8086 mode was leveraged via the NTVDM, shipping with the first release of NT.


No, it was a real hypervisor, running VMs (and DOS) in ring 3. They didn't call it VMM32 for nothing.


Raymond Chen says "Not true, but true enough" [0]. But to your original claim of more advanced than NT... nah.

[0] https://web.archive.org/web/20111110161740/http://blogs.msdn...

[Extra] https://devblogs.microsoft.com/oldnewthing/20130208-00/?p=53...


Raymond still works for Microsoft so he has to toe the company line.

On the other hand, articles from people like Andrew Schulman and Matt Pietrek (before he got bought out by MS) are far more explicit about the truth.

As for being more advanced than NT, it depends what you consider "more advanced"; a traditional OS, or a hypervisor? It certainly takes some effort to wrap your head around the VxD driver model of the latter, while the former is quite straightforward.


Is that architecture actually good or is it just complex? If it's more advanced, why did MS replace it with NT? It has long been known that you can trade off performance and protection; in retrospect 95/98 just wasn't reliable enough.


I remember using NT4 for web dev work in the later 90's... was kind of funny how many times browsers (Netscape especially) would crash from various memory errors that never happened in Win9x... how many of those were early exploits/exploitable issues. That and dealing with Flash around that time, and finding out I can access the filesystem.

I pretty much ran NT/Win2K at home for all internet stuff from then on, without flash at all. I do miss the shell replacement I used back in those days, I don't remember the name, but also remember Windowblinds.


Yep, the Mac was the same way. Plenty of apps would dereference null pointers and just keep going. You'd reboot every day or two to clear out the corruption.


I think it's because that architecture was less understood than the traditional OS model at the time; and they could've easily virtualised more of the hardware and gradually made passthrough not the default, eventually arriving at something like Xen and other bare-metal hypervisors that later became common.

...and as the sibling comment alludes to, MS eventually adopted that architecture somewhat with Hyper-V and the VBS feature, but now running NT inside of the hypervisor instead of protected-mode DOS.


The DOS-based Windowses were really impressive when you consider how horrible x86 was back then.


Isn’t it similar when you use Hyper-V?




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

Search: