|A version of the Windows 9x operating system|
Windows 95's Active Desktop Update, showing its
|Source model||Closed source|
|August 15, 1995; 23 years ago|
|August 24, 1995; 23 years ago|
|Latest release||Windows Desktop Update /|
March 16, 1999; 19 years ago
|License||Proprietary commercial software|
|Preceded by||Windows 3.1x (1992)|
|Succeeded by||Windows 98 (1998)|
|Mainstream support ended on December 31, 2001|
Extended support ended on December 31, 2002
Windows 95 (codenamed Chicago) is a consumer-oriented operating system developed by Microsoft. It was released on August 24, 1995 and was a significant improvement over the company's previous DOS-based Windows products.
Windows 95 merged Microsoft's formerly separate MS-DOS and Windows products. It featured significant improvements over its predecessor, Windows 3.1, most notably in the graphical user interface (GUI) and in its simplified "plug-n-play" features. There were also major changes made to the core components of the operating system, such as moving from a mainly co-operatively multitasked 16-bit architecture to a pre-emptively multitasked 32-bit architecture.
Accompanied by an extensive marketing campaign Windows 95 introduced numerous functions and features that were featured in later Windows versions, such as the taskbar, the 'Start' button, and the way the user navigates. It was also suggested that Windows 95 had an effect of driving other major players (including OS/2) out of business, something which would later be used in court against Microsoft.
Three years after its introduction, Windows 95 was succeeded by Windows 98. Microsoft ended support for Windows 95 on December 31, 2002.
Main article: Development of Windows 95
The initial design and planning of Windows 95 can be traced back to around March 1992, just after the release of Windows 3.1. At this time, Windows for Workgroups 3.11 and Windows NT 3.1 were still in development and Microsoft's plan for the future was focused on Cairo. Cairo would be Microsoft's next-generation operating system based on Windows NT and featuring a new user interface and an object-based file system, but it was not planned to be shipped before 1994. However, Cairo would partially ship in July 1996 in the form of Windows NT 4.0, but without the object-based file system, which would later evolve into WinFS.
Simultaneously with Windows 3.1's release, IBM started shipping OS/2 2.0. Microsoft realized they were in need of an updated version of Windows that could support 32-bit applications and preemptive multitasking, but could still run on low-end hardware (Windows NT did not). So the development of Windows "Chicago" was started and, as it was planned for a late 1993 release, became known as Windows 93. Initially, the decision was made not to include a new user interface, as this was planned for Cairo, and only focus on making installation, configuration, and networking easier. Windows 93 would ship together with MS-DOS 7.0, offering a more integrated experience to the user and making it pointless for other companies to create DOS clones. MS-DOS 7.0 was in development at that time under the code name "Jaguar" and could optionally run on top of a Windows 3.1-based 32-bit protected mode kernel called "Cougar" in order to better compete with DR-DOS. The first version of Chicago's feature specification was finished on September 30, 1992. Cougar was to become Chicago's kernel.
Prior to the official release, the American public was given a chance to preview Windows 95 in the Windows 95 Preview Program. For US$19.95, users were sent a set of 3.5-inch floppy diskettes that would install Windows 95 either as an upgrade to Windows 3.1x or as a fresh install on a clean computer. Users who bought into the program were also given a free preview of The Microsoft Network (MSN), the online service that Microsoft launched with Windows 95. During the preview period Microsoft established various electronic distribution points for promotional and technical documentation on Chicago including a detailed document for media reviewers describing the new system highlights. The preview versions expired in November 1995, after which the user would have to purchase their own copy of the final version of Windows 95.
Windows 95 was designed to be maximally compatible with existing MS-DOS and 16-bit Windows programs and device drivers, while offering a more stable and better performing system. Windows 95 architecture is an evolution of Windows for Workgroups' 386 enhanced mode. The lowest level of the operating system consists of a large number of virtual device drivers (VxDs) running in 32-bit protected mode and one or more virtual DOS machines running in virtual 8086 mode. The virtual device drivers are responsible for handling physical devices (such as video and network cards), emulating virtual devices used by the virtual machines, or providing various system services. The three most important virtual device drivers are:
- Virtual Machine Manager (VMM32.VXD)
- Responsible for memory management, event handling, interrupt handling, loading and initializing virtual device drivers, creating new virtual machines and thread scheduling
- Configuration Manager (CONFIGMG)
- Responsible for implementing Plug and Play functionality, monitoring hardware configuration changes, detecting devices using bus enumerators, and allocating I/O ports, IRQs, DMA channels and memory in a conflict free fashion
- Installable File System Manager (Input/Output Subsystem)
- Coordinates access to supported file systems. Windows 95 initially shipped with support for FAT12, FAT16, VFAT extension, ISO 9660 (CDFS) and network redirectors. Later releases included support for FAT32.
Access requests to physical media are sent to Input/Output Supervisor, a component responsible for scheduling the requests. Each physical media has its own device driver: Access to the disk is performed by a port driver, while access to a SCSI device is handled by a miniport driver working atop the SCSI layer. Port and miniport drivers perform I/O operations in 32-bit protected mode, bypassing MS-DOS and BIOS, giving a significant performance improvement. In case there is no native Windows driver for a certain storage device, or if a device is forced to run in compatibility mode, the Real Mode Mapper can access it through MS-DOS.
32-bit Windows programs are assigned their own memory segments, which can be adjusted to any size the user wishes. Memory area outside the segment cannot be accessed by a program. If they crash, they do not harm anything else. Before this, programs used fixed non-exclusive 64 KB segments. While the 64 KB size was a serious handicap in DOS and Windows 3.x, lack of guarantee of exclusiveness was the cause of stability issues because programs sometimes overwrote each other's segments. A crashing Windows 3.x program could knock out surrounding processes.
The Win32 API is implemented by three modules, each consisting of a 16-bit and a 32-bit component:
- Provides high level access to memory and process management, and access to the file system. Consists of KRNL386.EXE, KERNEL32.DLL, and VWIN32.VXD.
- Responsible for managing and drawing the various user interface components, such as windows, menus and buttons. Consists of USER.EXE and USER32.DLL.
- Graphics Device Interface (GDI)
- Responsible for drawing graphics in a device-independent way. Consists of GDI.EXE and GDI32.DLL.
Dependence on MS-DOSEdit
To end-users, MS-DOS appears as an underlying component of Windows 95. For example, it is possible to prevent loading the graphical user interface and boot the system into a real-mode MS-DOS environment. This sparked debate amongst users and professionals over the question of to what extent Windows 95 is an operating system or merely a graphical shell running on top of MS-DOS.
When the graphical user interface is started, the virtual machine manager takes over the filesystem-related and disk-related functionality. MS-DOS itself is demoted to a compatibility layer for 16-bit device drivers. This contrasts with earlier versions of Windows which relies on MS-DOS to perform file and disk access (Windows for Workgroups 3.11 could also largely bypass MS-DOS when 32-bit file access and 32-bit disk access were enabled). Keeping MS-DOS in memory allows Windows 95 to use DOS device drivers when suitable Windows drivers are unavailable. Windows 95 is capable of using all 16-bit Windows 3.x drivers.
Contrary to Windows 3.1x, DOS programs running in Windows 95 do not need DOS drivers for mouse, CD-ROM access and sound card; Windows drivers are used instead. HIMEM.SYS is still required to boot Windows 95. EMM386 and other memory managers, however, are only used by legacy DOS programs. In addition, CONFIG.SYS and AUTOEXEC.BAT settings (aside from HIMEM.SYS) have no effect on Windows programs. DOS games, which could not be executed on Windows 3.x, can run inside Windows 95. (Games tended to lock up Windows 3.x or cause other problems). As with Windows 3.x, DOS programs that use EGA or VGA graphics modes run in windowed mode (CGA and text mode programs can continue to run).
On startup, the MS-DOS component in Windows 95 responds to a pressed F8 key by temporarily pausing the default boot process and presenting the DOS boot options menu, allowing the user to continue starting Windows normally, start Windows in safe mode or exit to the DOS prompt. As in previous versions of MS-DOS, there is no 32-bit support and DOS drivers must be loaded for mice and other hardware.
As a consequence of being DOS-based, Windows 95 has to keep internal DOS data structures synchronized with those of Windows 95. When starting a program, even a native 32-bit Windows program, MS-DOS momentarily executes to create a data structure known as the Program Segment Prefix. It is even possible for MS-DOS to run out of conventional memory while doing so, preventing the program from launching. Windows 3.x allocated fixed segments in conventional memory first. Since the segments were allocated as fixed, Windows could not move them, which would prevent any more programs from launching.
Microsoft partially removed support for File Control Blocks (an API hold-over of DOS 1.x and CP/M) in Windows 95 OSR 2, [OEM Service Release 2, where OEM stands for Original Equipment Manufacturer]. FCB functions cannot write to FAT32 volumes, only read them.
Windows 95 introduced a redesigned shell based around a desktop metaphor; the desktop was re-purposed to hold shortcuts to applications, files, and folders - unlike Windows 3.1 where it was used to display running applications. Running applications were now displayed as buttons on a taskbar across the bottom of the screen, which also contains a notification area used to display icons for background applications, a volume control, and the current time. The Start menu, invoked by clicking the "Start" button also contained on the taskbar, was introduced as an additional means of launching applications or opening documents. While maintaining the program groups used by its predecessor, Program Manager, it now displayed applications within cascading sub-menus. The previous File Manager program was also replaced by Windows Explorer.
In 1994, Microsoft corporation designers Mark Malamud and Erik Gavriluk approached Brian Eno to compose music for the Windows 95 project. The result was the six-second start-up music-sound of the Windows 95 operating system, The Microsoft Sound.
When released for Windows 95 and NT4, Internet Explorer 4 came with an optional Windows Desktop Update, which modified the shell to provide new features integrated with Internet Explorer, such as Active Desktop (which allowed internet content to be displayed directly on the desktop) and additional updates to Windows Explorer.
Some of the user interface elements introduced in Windows 95—such as the desktop, taskbar, Start menu, and Windows Explorer file manager, remained fundamentally unchanged on future versions of Windows.
Long file namesEdit
32-bit File Access is necessary for the long file names feature introduced with Windows 95 through the use of the VFAT file system extension. It is available to both Windows programs and MS-DOS programs started from Windows (they have to be adapted slightly, since accessing long file names requires using larger pathname buffers and hence different system calls). Competing DOS-compatible operating systems released before Windows 95 cannot see these names. Using older versions of DOS utilities to manipulate files means that the long names are not visible and are lost if files are moved or renamed, as well as by the copy (but not the original), if the file is copied. During a Windows 95 automatic upgrade of an older Windows 3.1 system, DOS and third-party disk utilities which can destroy long file names are identified and made unavailable. When Windows 95 is started in DOS mode, e.g. for running DOS programs, low-level access to disks is locked out. In case the need arises to depend on disk utilities that do not recognize long file names, such as the MS-DOS 6.x's defrag utility, a program called LFNBACK for backup and restoration of long file names is provided on the CD-ROM. The program is in the \ADMIN\APPTOOLS\LFNBACK directory of the Windows 95 CD-ROM.
Windows 95 followed Windows for Workgroups 3.11 with its lack of support for older, 16-bit x86 processors, thus requiring an Intel 80386 (or compatible). While the OS kernel is 32-bit, much code (especially for the user interface) remained 16-bit for performance reasons as well as development time constraints (much of Windows 95's UI code was recycled from Windows 3.1). This had a rather detrimental effect on system stability and led to frequent application crashes.
The introduction of 32-bit File Access in Windows for Workgroups 3.11 meant that 16-bit real mode MS-DOS is not used for managing the files while Windows is running, and the earlier introduction of the 32-bit Disk Access means that the PC BIOS is often no longer used for managing hard disks. DOS can be used for running old-style drivers for compatibility, but Microsoft discourages using them, as this prevents proper multitasking and impairs system stability. Control Panel allows a user to see which MS-DOS components are used by the system; optimal performance is achieved when they are bypassed. The Windows kernel uses MS-DOS style real-mode drivers in Safe Mode, which exists to allow a user to fix problems relating to loading native, protected-mode drivers.
Official system requirements were an Intel 80386 DX CPU of any speed, 4 MB of system RAM, and 50–55 MB of hard drive space depending on features selected. These minimal claims were made in order to maximize the available market of Windows 3.1 converts. This configuration would rely heavily on virtual memory and was suboptimal for productive use on anything but single tasking dedicated workstations. Also, in some cases, if any networking or similar components were installed the system would refuse to boot with 4 megabytes of RAM. It was possible to run Windows 95 on a 386 SX but this led to even less acceptable performance due to its 16-bit external data bus. To achieve optimal performance, Microsoft recommends an Intel 80486 or compatible microprocessor with at least 8 MB of RAM. Windows 95 may fail to boot on computers with more than approximately 480 MB of memory. In such case reducing the file cache size or the size of video memory can help. The theoretical maximum according to Microsoft is 2 GB.
Windows 95 was superseded by Windows 98 and could still be directly upgraded by both Windows 2000 Professional edition and Windows ME. On December 31, 2002, Microsoft ended its support for Windows 95, making it an "obsolete" product according to the Microsoft Lifecycle Policy. Even though support for Windows 95 has ended, the software has occasionally remained in use on legacy systems for various purposes. In addition, some video game enthusiasts choose to use Windows 95 for their legacy system to play old DOS games, although some other versions of Windows such as Windows 98 can also be used for this purpose.
Most copies of Windows 95 were on CD-ROM, but a floppy version could also be had for older machines. The retail floppy disk version of Windows 95 came on 13 DMF formatted floppy disks, while OSR 2.1 doubled the floppy count to 26. Both versions exclude additional software that CD-ROM might have featured. Microsoft Plus! for Windows 95 was also available on floppy disks. DMF was a special 21-sector format Microsoft used to store 1.68MB on floppies rather than the usual 1.44MB. While the floppy edition of Windows was normally on 3.5" disks, a 5.25" version could be specially ordered as well.
Windows 95 originally shipped without Internet Explorer, and the default network installation did not install TCP/IP, the network protocol used on the Internet. At the release date of Windows 95, Internet Explorer 1.0 was available, but only in the Plus! add-on pack for Windows 95, which was a separate product. The Plus! Pack did not reach as many retail consumers as the operating system itself (it was mainly advertised for its non-internet-related add-ons such as themes and better disk compression) but was usually included in pre-installed (OEM) sales, and at the time of Windows 95 release, the web was being browsed mainly with a variety of early web browsers such as NCSA Mosaic and Netscape Navigator (promoted by products such as Internet in a Box).
Windows 95 OEM Service Release 1 was the first release of Windows to include Internet Explorer (version 2.0) with the OS. While there was no uninstaller, it could be deleted easily if the user so desired. OEM Service Release 2 included Internet Explorer 3. The installation of Internet Explorer 4 on Windows 95 (or the OSR2.5 version preinstalled on a computer) gave Windows 95 active desktop and browser integration into Windows Explorer, known as the Windows Desktop Update. The CD version of the last release of Windows 95, OEM Service Release 2.5 (Version 4.00.950C), includes Internet Explorer 4, and installs it after Windows 95's initial setup and first boot is complete.
Only the 4.x series of the browser contained the Windows Desktop Update features, so anyone wanting the new shell had to install IE4 with the desktop update before installing a newer version of Internet Explorer. The last version of Internet Explorer supported on Windows 95 is Internet Explorer 5.5 SP2 which was released on July 23, 2001. Windows 95 shipped with Microsoft's own dial-up online service called The Microsoft Network (MSN).