It’s a bit more complicated than that. Windows 95 used MSDOS to boot, but once it was booted, it completely removed any trace of MSDOS and replaced it with its own MSDOS subsystem. It’s more like MSDOS was a shell on top of Win95, but MSDOS was required to get the kernel loaded.
Windows 95 was also a shell on top of MSDOS. Windows NT wasn’t running on top of DOS, but it was primarily for business use until Windows XP.
duncesplayed@lemmy.one 1 year ago
DavidGA@lemmy.world 1 year ago
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.
kalleboo@bitbang.social 1 year ago
@DavidGA @retrocomputing 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.”