At the time most users and businesses didn’t own a PC that could do the virtualisation tricks required by windows 3 (o windows 2 386). A lot of places still had XT class machines right up to the end of the 1980s.
So the Microsoft guys had a pretty complex landscape in which Windows had to operate and they managed a fantastically complicated solution. They were definitely adulting hard during that time.
I think NT was a means to an end (government contracts requiring a "Rainbow book"-qualified OS). It was a long time before the DOS-based Windows OS lost its position as the consumer / business offering. I think that shows MSFT knew what they had in that legacy code and leveraged it for great profit for a long time.
I think the "adults" came in and made a stuffy buttoned-down operating system meant to qualify as a "C2"-compliant OS meant to win contracts. NT doesn't have the hacky charm of the DOS-based Windows versions.
"DOS-based Windows" was not an OS. It was effectively a program which provided a green thread[0] execution model for cooperative processes to execute within and had the reliability one would expect from same.
The 16-bit code was a dead end. It was not re-enterable, so 32-bit code had to take a Win16Mutex on every kernel code.
If you ever debugged DirectX code on Win9x, you'd remember that quite vividly. The LockSurface call that provided direct access to pixels locked this mutex, so a breakpoint in a locked section caused an instant hard deadlock.
That being said, it indeed was a brilliant hack that allowed a featereful GUI to run within 2Mb of RAM with good DOS compatibility.
POSIX systems have that stuff, too.
Oh please — it's easy when you have the luxury of starting from scratch with unlimited budget.
DOS-based Windows had to both retain backwards compatibility with DOS applications and all their quirks and coexist with them at the same time.
The amount of hacks necessary to pull that off is an accomplishment unto itself.
Remember you couldn't really play games on NT-based Windows until Windows XP came out and even then DOS games were pretty much out until DOSbox came along.
Guess those "adults" had to stick with Solitaire and Hearts.
I think DOS games also worked.
Windows XP is where Microsoft themselves pushed the consumer market onto the NT line, but Windows 2000 was fully functional as a consumer desktop.