This is a common misconception, and it’s funny that people still believe it all these years later.
While it’s true that Windows 95 relied on MS-DOS for bootstrapping and provided a DOS-like interface for running legacy applications, it wasn’t “just a shell” on top of DOS. Windows 95 introduced a 32-bit multitasking environment, a completely new user interface, and a separate set of APIs for software development (Win32). It had its own kernel that provided services like memory management and hardware abstraction, separate from DOS.
The integration with DOS was mainly for backward compatibility, allowing users to run older software. But once you were in the Windows 95 environment, DOS was essentially sidelined, and Windows 95’s own features and architecture took over.
tldr:
“MS-DOS served two purposes in Windows 95: It served as the boot loader. It acted as the 16-bit legacy device driver layer.”
“Among other things those drivers did was “suck the brains out of MS-DOS,” transfer all that state to the 32-bit file system manager, and then shut off MS-DOS.”
This is a common misconception, and it’s funny that people still believe it all these years later.
While it’s true that Windows 95 relied on MS-DOS for bootstrapping and provided a DOS-like interface for running legacy applications, it wasn’t “just a shell” on top of DOS. Windows 95 introduced a 32-bit multitasking environment, a completely new user interface, and a separate set of APIs for software development (Win32). It had its own kernel that provided services like memory management and hardware abstraction, separate from DOS.
The integration with DOS was mainly for backward compatibility, allowing users to run older software. But once you were in the Windows 95 environment, DOS was essentially sidelined, and Windows 95’s own features and architecture took over.
Exactly, here’s the canonical The Old New Thing post on the topic. https://devblogs.microsoft.com/oldnewthing/20071224-00/?p=24063
tldr:
“MS-DOS served two purposes in Windows 95: It served as the boot loader. It acted as the 16-bit legacy device driver layer.”
“Among other things those drivers did was “suck the brains out of MS-DOS,” transfer all that state to the 32-bit file system manager, and then shut off MS-DOS.”