Microsoft Windows version history
In 1983 Microsoft announced its development of Windows, a graphical user interface (GUI) for its own operating system (MS-DOS) that had shipped for IBM PC and compatible computers since 1981. Microsoft modeled the GUI after that of Apple's MacOS. Bill Gates had been shown a Macintosh prototype by Steve Jobs early in its development, around 1981, and Microsoft was partnered by Apple to create some of the important early Mac software, such as Word and Excel. Gates is reported to have demanded of his engineers "I want Mac on a PC, I want Mac on a PC!". It was this desire to see a Mac-like interface on the then-cheaper Intel-based hardware that was the inspiration and driving force behind Windows.
Early history
This first independent version of Microsoft Windows, version 1.0, released in 1985, lacked a degree of functionality and achieved little popularity. Windows 1.0 did not provide a complete operating system, but rather extended MS-DOS and shared the latter's inherent flaws and problems. Moreover, the programs that shipped with the early version comprised "toy" applications with little or limited appeal to business users.
Furthermore, legal challenges by Apple limited its functionality. For example, Windows could only appear 'tiled' on the screen; that is, they could not overlap or overlie one another. Also, there was no trash can, since Apple believed they owned the rights to that paradigm. Microsoft later removed both of these limitations by means of signing a licensing agreement.
Microsoft Windows version 2 came out in 1987, and proved slightly more popular than its predecessor. Much of the popularity for Windows 2.0 came by way of its inclusion as a "run-time version" with Microsoft's new graphical applications, Excel and Word for Windows. They could run from MS-DOS, executing Windows for the duration of their activity, and closing down Windows upon exit (rumor has it that Windows was intended as a platform to run Microsoft Office applications first, and only later as a general-use GUI system).
Microsoft Windows received a major boost around this time when Aldus Pagemaker appeared in a Windows version, having previously run only on Macintosh. Some computer historians date this, the first appearance of a significant and non-Microsoft application for Windows, as the beginning of the success of Windows...
Version 2 still used the real-mode memory model, which confined it to a maximum of 1 megabyte of memory. In such a configuration, it could run under another multitasker like DesqView, which used the 286 Protected Mode; alternatively Windows 2 could run in Protected Mode in its own right, which gave it access to up to 16 megabytes of memory. A provisional version then shipped, called Windows/386 (2.0 received the alternate name Windows/286), that included support for the 386 CPU's Enhanced Mode.
Success with Windows 3.0
Microsoft Windows scored a serious success with version 3.0, released in 1990. In addition to improved capabilities given to native applications, Windows also allowed a user to run and multitask older MS-DOS based software. It made the IBM PC a serious competitor to the Apple Mac. This benefited from the improved graphics available on PCs by this time (by means of VGA video cards), and the Protected/Enhanced mode which allowed Windows applications to use more memory in a more painless manner than their DOS counterparts could. Although the Operating System itself would no longer use Real Mode, its API used the 16-bit Protected Mode (the smallest common denominator), and so applications also had to be compiled in a 16-bit environment, without ever using the full 32-bit capabilities of the 386 CPU.
However, the features listed above, as well as the growing market support made Windows 3.0 wildly successful; selling around 10 million copies in the two years before the release of version 3.1, Windows 3.0 became a major source of income for Microsoft, and led the company to revise some of its earlier plans.
A step sideways: OS/2
During the mid to late 1980s, Microsoft and IBM had co-operatively been developing OS/2 as a successor to DOS, to take full advantage of the aforementioned Protected Mode of the Intel 80286 processor, to allow use of up to 16M of memory. OS/2 1.0, released in 1987, supported swapping and multitasking and allowed running of DOS executables.
A GUI, called the Presentation Manager (PM), was not available with OS/2 until version 1.1, released in 1988. Although some considered it to be in many ways superior to Windows, its API was incompatible with Windows. (Among other things, Presentation Manager placed X,Y coordinate 0,0 at the bottom left of the screen like Cartesian coordinates, while Windows put 0,0 at the top left of the screen like most other computer window systems.) Version 1.2, released in 1989, introduced a new file system, HPFS, to replace the DOS FAT file system used by Windows.
By the early 1990s, tensions developed in the Microsoft/IBM relationship. They co-operated with each other in developing their PC operating systems, and had access to each other's code. Microsoft wanted to further develop Windows, while IBM desired for future work to be based on OS/2. In an attempt to resolve this tension, IBM and Microsoft agreed that IBM would develop OS/2 2.0, to replace OS/2 1.3 and Windows 3.0, while Microsoft would develop a new operating system, OS/2 3.0, to later succeed OS/2 2.0.
This agreement soon however fell apart, and the Microsoft/IBM relationship was terminated. IBM continued to develop OS/2, while Microsoft changed the name of its (as yet unreleased) OS/2 3.0 to Windows NT. Both retained the rights to use OS/2 and Windows technology developed up to the termination of the agreement; Windows NT, however, was to be written anew, mostly independently (see below).
After an interim 1.3 version to fix up many remaining problems with the 1.x series, IBM released OS/2 version 2.0 in 1992. This was a major improvement: it featured a new, object-oriented GUI, the Workplace Shell (WPS), that included a desktop and was considered by many to be OS/2's best feature. Microsoft would later imitate much of it in Windows 95. Version 2.0 also provided a full 32-bit API, offered smooth multitasking and could take advantage of the 4 gigabytes of virtual memory provided by the Intel 80386. Still, much of the system still had 16-bit code internally which required, among other things, device drivers to be 16-bit code as well. This was one of the reasons for the almost chronic bad supply of OS/2 with up-to-date device support. Version 2.0 could also run DOS and Windows 3.0 programs, since IBM had retained the right to use the DOS and Windows code as a result of the breakup.
At the time, it was unclear who would win the so-called "Desktop wars". But in the end, OS/2 did not manage to gain enough market share, even though IBM released several improved versions subsequently (see below).
Windows 3.1 and NT
In response to the impending release of OS/2 2.0, Microsoft developed Windows 3.1, which included several minor improvements to Windows 3.0 (such as display of TrueType scalable fonts, developed jointly with Apple), but primarily consisted of bugfixes and multimedia support. Later Microsoft also released Windows 3.11 (marketed as Windows for Workgroups), which included improved network drivers and protocol stacks, and support for peer-to-peer networking. Both versions continued version 3.0's impressive sales pace. Even though the 3.1x series still lacked most of the important features of OS/2, such as long file names, a desktop, or protection of the system against misbehaving applications, Microsoft quickly took over the OS and GUI markets for the IBM PC. The Windows API became the de-facto standard for consumer software.
Meanwhile Microsoft continued to develop Windows NT. Microsoft hired Dave Cutler, one of the chief architects of VMS at Digital Equipment Corporation (later purchased by Compaq, now part of Hewlett-Packard) to develop NT into a more capable operating system. Cutler had been developing a follow-on to VMS at DEC called Mica, and when DEC dropped the project he brought the expertise and some engineers with him to Microsoft. DEC also believed he brought Mica's code to Microsoft and sued. Microsoft eventually paid $150 million US and agreed to support DEC's Alpha CPU chip in NT.
Windows NT 3.1 (Microsoft marketing desired to make Windows NT appear to be a continuation of Windows 3.1) arrived in Beta form to developers at the July 1992 Professional Developers Conference in San Francisco. Microsoft announced at the conference its intentions to develop a successor to both Windows NT and Windows 3.1's replacement (code-named Chicago), which would unify the two into one operating system. This successor was codenamed Cairo. (In hindsight, Cairo was a much more difficult project than Microsoft had anticipated, and as a result, NT and Chicago would not be unified until Windows XP).
Driver support was lacking due to the increased programming difficulty in dealing with NT's superior hardware abstraction model. This problem plagued the NT line all the way through Windows 2000. Programmers complained that it was too hard to write drivers for NT, and hardware developers were not going to go through the trouble of developing drivers for a small segment of the market. Additionally, although allowing for good performance and fuller exploitation of system resources, it was also resource-intensive on limited hardware, and thus was only suitable for larger, more expensive machines. Windows NT would not work for private users because of its resource demands; moreover, its GUI was simply a copy of Windows 3.1's, which was inferior to the OS/2 Workplace Shell, so there was not a good reason to propose it as a replacement to Windows 3.1.
However, the same features made Windows NT perfect for the LAN server market (which in 1993 was experiencing a rapid boom, as office networking was becoming a commodity), as it enjoyed advanced network connectivity options, and the efficient NTFS file system. Windows NT version 3.51 was Microsoft's stake into this market, a large part of which would be won over from Novell in the following years.
One of Microsoft's biggest advances initially developed for Windows NT was new 32-bit API, to replace the legacy 16-bit Windows API. This API was called Win32, and from then on Microsoft referred to the older 16-bit API as Win16. Win32 API had three main implementations: one for Windows NT, one for Win32s (which was a subset of Win32 which could be used on Windows 3.1 systems), and one for Chicago. Thus Microsoft sought to ensure some degree of compatibility between the Chicago design and Windows NT, even though the two systems had radically different internal architectures.
Windows 95
After Windows 3.11, Microsoft began to develop a new version of the operating system it code-named Chicago. Chicago was intended to feature a new GUI to compete with OS/2 Workplace Shell. It was also intended to be fully 32-bit and support pre-emptive multitasking, like OS/2 and Windows NT, that would improve its stability as opposed to the notoriously unstable 3.11. Many parts of the operating system's core were rewritten; others went through an elaborate overhaul. Win32 API was adopted as the standard external interface, Win16 compatibility being preserved through various measures and tricks.
Microsoft did not change all of the Windows code to 32-bit; parts of it remained 16-bit (albeit not directly using Real Mode) for reasons of compatibility, performance and development time. This, and the fact that the numerous design flaws had to be carried over from the earlier Windows versions, eventually began to impact on the operating system's efficiency and stability.
Microsoft marketing adopted "Windows 95" as the product name for Chicago when it was released in August 1995. Microsoft had a double gain from its release: first it made it impossible for consumers to use a cheaper, non-Microsoft DOS; secondly, although traces of DOS were never completely removed from the system, and a version of DOS would be loaded briefly as a part of the bootstrap process, Windows 95 applications ran solely in 386 Enhanced Mode, with a flat 32-bit address space and virtual memory. These features made it possible for Win32 applications to address up to 2 gigabytes of virtual RAM (with another 2GB reserved for the operating system), and (at least in theory) prevented them from corrupting the memory space of other Win32 applications. In this respect the functionality of Windows 95 moved closer to Windows NT, although Windows 95/98/ME did not support more than 512 megabytes of physical RAM without obscure registry tweaks.
IBM continued to market OS/2, producing later versions in OS/2 3.0 and 4.0 (also called Warp). Responding to complaints about OS/2 2.0's high demands on computer hardware, version 3.0 was significantly optimized both for speed and size. Before Windows 95 was released, OS/2 Warp 3.0 was even shipped preinstalled with several large German hardware vendor chains. However, with the release of Windows 95, OS/2 began to lose marketshare.
It is probably impossible to nail down a specific reason why OS/2 failed to gain much marketshare. While OS/2 continued to run Windows 3.1 applications, it lacked support for anything but the Win32s subset of Win32 API (see above). Unlike Windows 3.1, IBM did not have access to the source code for Windows 95 and was unwilling to commit the time and resources to emulate the moving target of the Win32 API. IBM has also introduced OS/2 into the Microsoft antitrust case, blaming unfair marketing tactics on Microsoft's part, but many people would probably agree that IBM's own marketing problems and lack of support for developers contributed at least as much to the failure.
NT 4.0, Windows 98 and beyond
As a part of its effort to introduce Windows NT to the workstation market, Microsoft released Windows NT 4.0, which featured the new Windows 95 interface on top of the Windows NT kernel (a patch was available for developers to make NT 3.5.1 use the new UI, but it was quite buggy; the new UI was first developed on NT but Windows 95 was released before NT 4.0).
June 25, 1998 saw the release of Windows 98, which was widely regarded as a minor revision of Windows 95. It included new hardware drivers and the FAT32 file system to support disk partitions larger than the 2 GB allowed by Windows 95. It also controversially integrated the Internet Explorer into the Windows GUI, prompting the opening of the Microsoft antitrust case, dealing with the question whether Microsoft was abusing its hold on the IBM-PC operating system market to push its products in other areas.
In 1999, Microsoft released Windows 98 Second Edition, whose most notable feature was the addition of Internet Connection Sharing (a brand name for a form of Network Address Translation), which allowed several machines on a LAN to share an internet connection. It also aimed to solve stability problems introduced by the addition of the browser software to Windows 98.
In 2000, Microsoft introduced Windows ME (Millennium Edition), which was Windows 98 with yet more applications bundled in. Windows ME was a quick one-year project that served as a stopgap release between Windows 98 and the upcoming Windows XP. They also introduced Windows 2000 (known earlier as NT 5), which was successfully deployed both on the server and the workstation markets. Windows 2000, claimed by some to be the best Windows version to date, borrowed a number of features, in particular the user interface from Windows 98, which made it almost as user-friendly and much more stable, preparing the ground for the next version.
Merging the product lines: Windows XP
The merging of the Windows NT/2000 and Windows 3.1/95/98/ME lines was achieved with Windows XP ("Cairo" of old), released in 2001. Windows XP uses the Windows NT kernel; however it finally marks the entrance of the Windows NT core to the consumer market, to replace the aging 16-bit branch.
In 2003, Microsoft released Windows Server 2003, an upgrade of the server OS that incorporated many of the Windows XP features with improved server components such as Volume Shadow Copy Restore, IIS 6, 802.1X, and administration tools.
The next version of Windows, 'Longhorn' is expected in 2006. This will feature new features such as windows tumbling on screen, a Sidebar similar to MSN Explorer's, and new control panels. Longhorn will also feature GUI graphics features similar to those found in Apple's Mac OS X, a revised, task-based user interface called "Aero" and a new version of Internet Explorer which will support pop-up blocking. Palladium, Microsoft's integrated software and hardware approach to digital rights management will also form the security core of the Longhorn operating system.
MS-DOS product progression:
- MS-DOS
- Windows 1.0, 2.0
- Windows 3.0 (and Windows for Workgroups), 3.1, 3.11
- Windows 95, 98, 98 SE, ME
OS/2 product progression:
- 16-bit Versions: OS/2 1.0 (CLI only), 1.1, 1.2, 1.3
- 32-bit Versions: OS/2 2.0, 2.1, 2.11, 2.11 SMP, Warp 3, Warp 4
NT-Line product progression:
- NT 3.1, 3.5, 3.51
- NT 4.0
- Windows 2000 (Windows NT 5.0)
- Windows XP (Windows NT 5.1)
- Windows Server 2003 (Windows NT 5.2)
- Longhorn (current code name of not yet released follow-on)
See also: