Story Details

  • Why did Windows 95 setup use three operating systems?

    Posted: 2024-11-17 19:54:24

    Raymond Chen's blog post, "Why did Windows 95 setup use three operating systems?", delves into the intricate, multi-stage booting process employed by the Windows 95 installation procedure. Rather than a straightforward transition, installing Windows 95 involved a complex choreography of three distinct operating systems, each with a specific role in preparing the system for the final Windows 95 environment.

    The initial stage utilized the existing operating system, be it DOS or Windows 3.1. This familiar environment provided a stable launching point for the installation process, allowing users to initiate the setup program from a known and functional system. Crucially, this initial OS handled the preliminary steps, such as checking system requirements, gathering user input regarding installation options, and initiating the transfer of files to the target hard drive. This ensured that the subsequent stages had the necessary foundation upon which to build.

    The second operating system introduced in the Windows 95 installation was a minimalist DOS-based environment specifically designed for setup. This stripped-down DOS lacked the complexities and potential conflicts of a full-fledged DOS installation, providing a predictable and controlled environment for the core installation tasks. This specialized DOS environment executed directly from the installation media, circumventing potential issues arising from the existing operating system and allowing for low-level access to the hardware necessary for partitioning and formatting the hard drive, as well as copying the essential Windows 95 system files. It operated independently of the pre-existing operating system, ensuring a clean and controlled installation environment.

    Finally, the third operating system involved was the actual Windows 95 operating system itself. Once the setup-specific DOS environment completed the file transfer and preliminary configuration, the system rebooted, this time loading the newly installed Windows 95. This first boot of Windows 95 was not merely a functional test, but an integral part of the installation process. During this initial boot, Windows 95 performed crucial configuration tasks, including detecting and installing hardware drivers, finalizing registry settings, and completing any remaining setup procedures. This final stage transitioned the system from the installation environment to a fully operational Windows 95 system ready for user interaction.

    In essence, the Windows 95 installation process leveraged a tiered approach, employing the existing OS for initial setup, a specialized DOS environment for core file transfer and low-level configuration, and finally the Windows 95 OS itself for final configuration and driver installation. This multi-stage process ensured a robust and reliable installation, mitigating potential conflicts and providing a clean transition to the new operating system. This complexity, while perhaps not immediately apparent to the end user, was a key factor in the successful deployment of Windows 95.

    Summary of Comments ( 192 )
    https://news.ycombinator.com/item?id=42166606

    The Hacker News post "Why did Windows 95 setup use three operating systems?" generated several comments discussing the complexities of the Windows 95 installation process and the technical reasons behind using MS-DOS, a 16-bit preinstallation environment, and the 32-bit Windows 95 itself.

    Several commenters focused on the bootstrapping problem inherent in installing a new operating system. They pointed out that a simpler OS is required to launch the installation of a more complex one. MS-DOS served this purpose in the Windows 95 setup, providing a familiar and readily available platform to begin the process. The discussion included how the initial boot from floppy disk would load a basic DOS environment, which would then launch the next stage of the installation.

    The role of the 16-bit preinstallation environment was also discussed. Commenters explained that this environment, distinct from both MS-DOS and the final Windows 95 system, was crucial for tasks that couldn't be handled by the limited DOS environment, such as accessing CD-ROM drives and managing more complex hardware configurations. This intermediary step allowed the setup to gather information about the system, prepare the hard drive, and begin copying the necessary Windows 95 files.

    Some commenters delved into the technical limitations of MS-DOS, highlighting its 16-bit architecture and inability to directly handle the 32-bit components of Windows 95. The preinstallation environment bridged this gap, providing the necessary functionality to transition to the 32-bit world. This discussion touched upon the complexities of real-mode and protected-mode memory addressing, which were relevant to the transition between these different environments.

    The specific use of three separate systems was a point of interest. Some commenters speculated about alternative approaches, but acknowledged the practical constraints of the time. The existing familiarity with MS-DOS made it a logical starting point. The distinct preinstallation environment provided a dedicated space for setup-specific tasks without interfering with the final Windows 95 installation.

    A few comments also touched on the nostalgia associated with the Windows 95 installation process and the challenges of managing hardware configurations in that era. The need to manually configure drivers and settings was highlighted, contrasting sharply with the more automated installation processes of modern operating systems.