Encyclopedia > History of Microsoft Windows

  Article Content

History of Microsoft Windows

In 1983 Microsoft announced its development of Windows, a graphical user interface (GUI) for their own operating system (MS-DOS) that had been shipped with IBM PC and compatible computers since 1981. The GUI was modeled after that of Apple's Mac OS.

Table of contents

Early history This first independent version of Microsoft Windows, 1.0 released in 1985, was neither very powerful, nor very popular. It was not a complete operating system, but rather an extension for MS-DOS, which shared all of the latter's inherent flaws and problems. Moreover, the programs that were shipped with the early version were "toy" applications with little or limited appeal to business users.

Legal challenges by Apple furthermore limited its functionality. For example, windows could only be '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 or concept. Both of these limitations were later removed via a licensing agreement.

Microsoft Windows version 2 came out in 1987, and was a bit more popular than the original version. 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 be run from MS-DOS, executing Windows for the duration of the program, and closing down Windows upon exit (rumor has it that Windows was intended as a platform to run Office first, and only later as a general-use GUI system).

A major boost was given to Windows around this time when Aldus Pagemaker was brought out in a Windows version, having previously been a Macintosh-only application. 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 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 was then released, called Windows/386 (2.0 being renamed Windows/286), that included support for the 386 CPU's Enhanced Mode.

The version of Windows that was a serious success was 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 piece of competition for the Apple Mac. This benefited from the improved graphics available on PC's 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: in the two years when it was the current version on the market, it sold around 10 million copies, becoming a major source of income for Microsoft, and leading it to revising some of the plans that it had made earlier.

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 could 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 together 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 the 3.0's enormous sales record. 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 (now part of Compaq) 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 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 not 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 Windows 95 moved closer to Windows NT, although Windows 95/98/ME does 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. But 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 for 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.

June 25, 1998 saw the release of Windows 98, which was 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.

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 NT kernel; however it finally marks the entrance of the Windows NT core to the consumer market, to replace the aging 16-bit branch.

MS-DOS product progression:

OS/2 product progression:

See also:



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Final Fantasy II

... only: it is by no means the entire depth of the story line; and in many cases the introduction is used simply to introduce the characters and is unrelated to the ...