Thursday, June 5, 2008

Versions

The term Windows collectively describes any or all of several generations of Microsoft (MS) operating system (OS) products. These products are generally categorized as follows:

16-bit operating environments

The early versions of Windows were often thought of as just graphical user interfaces, mostly because they ran on top of MS-DOS and used it for file system services.[3] However, even the earliest 16-bit Windows versions already assumed many typical operating system functions, notably, having their own executable file format and providing their own device drivers (timer, graphics, printer, mouse, keyboard and sound) for applications. Unlike MS-DOS, Windows allowed users to execute multiple graphical applications at the same time, through cooperative multitasking. Finally, Windows implemented an elaborate, segment-based, software virtual memory scheme, which allowed it to run applications larger than available memory: code segments and resources were swapped in and thrown away when memory became scarce, and data segments moved in memory when a given application had relinquished processor control, typically waiting for user input.[citation needed] 16-bit Windows versions include Windows 1.0 (1985), Windows 2.0 (1987) and its close relative, Windows/286.

Windows OS market share

Source ↓

Hitslink[4] ↓

Awio[5] ↓

XiTi[6] ↓

OneStat[7] ↓

Date

May 2008

May 2008

Apr 2008

Mar 2008

All versions

91.13%[8]

-

94.45%

95.94%

Windows XP

72.12%

78.24%

75.16%

78.93%

Windows Vista

15.26%

7.69%

15.81%

13.24%

Windows 2000

2.25%

3.07%

1.76%

2.82%

Windows 98

0.48%

0.96%

0.48%

0.58%

Windows 2003

-

0.74%

0.49%

-

Windows NT

0.68%

0.05%

0.05%

-

Windows ME

0.27%

0.36%

0.20%

0.31%

Windows CE

0.06%

-

0.02%

-

Windows 95

0.01%

-

0.01%

-

Windows other

-

-

0.47%

-

Hybrid 16/32-bit operating environments

Windows/386 introduced a 32-bit protected mode kernel and virtual machine monitor. For the duration of a Windows session, it created one or more virtual 8086 environments and provided device virtualization for the video card, keyboard, mouse, timer and interrupt controller inside each of them. The user-visible consequence was that it became possible to preemptively multitask multiple MS-DOS environments in separate windows, although graphical MS-DOS applications required full screen mode. Also, Windows applications were multi-tasked cooperatively inside one such virtual 8086 environment.

Windows 3.0 (1990) and Windows 3.1 (1992) improved the design, mostly because of virtual memory and loadable virtual device drivers (VxDs) which allowed them to share arbitrary devices between multitasked DOS windows.[citation needed] Also, Windows applications could now run in protected mode (when Windows was running in Standard or 386 Enhanced Mode), which gave them access to several megabytes of memory and removed the obligation to participate in the software virtual memory scheme. They still ran inside the same address space, where the segmented memory provided a degree of protection, and multi-tasked cooperatively. For Windows 3.0, Microsoft also rewrote critical operations from C into assembly, making this release faster and less memory-hungry than its predecessors.[citation needed]

Hybrid 16/32-bit operating systems

With the introduction of the 32-bit Windows for Workgroups 3.11, Windows was able to stop relying on DOS for file management.[citation needed] Levering this, Windows 95 introduced Long File Names, reducing the 8.3 filename DOS environment to the role of a boot loader. MS-DOS was now bundled with Windows; this notably made it (partially) aware of long file names when its utilities were run from within Windows. The most important novelty was the possibility of running 32-bit multi-threaded preemptively multitasked graphical programs. However, the necessity of keeping compatibility with 16-bit programs meant the GUI components were still 16-bit only and not fully reentrant, which resulted in reduced performance and stability.

There were three releases of Windows 95 (the first in 1995, then subsequent bug-fix versions in 1996 and 1997, only released to OEMs, which added extra features such as FAT32 and primitive USB support). Microsoft's next OS was Windows 98; there were two versions of this (the first in 1998 and the second, named "Windows 98 Second Edition", in 1999). In 2000, Microsoft released Windows Me (Me standing for Millennium Edition), which used the same core as Windows 98 but adopted some aspects of Windows 2000 and removed the option boot into DOS mode. It also added a new feature called System Restore, allowing the user to set the computer's settings back to an earlier date.

32-bit operating systems

The NT family of Windows systems was fashioned and marketed for higher reliability business use, and was unencumbered by any Microsoft DOS patrimony.[citation needed] The first release was Windows NT 3.1 (1993, numbered "3.1" to match the Windows version and to one-up OS/2 2.1,[citation needed] IBM's flagship OS co-developed by Microsoft and was Windows NT's main competitor at the time), which was followed by NT 3.5 (1994), NT 3.51 (1995), and NT 4.0 (1996); NT 4.0 was the first in this line to implement the "Windows 95" user interface (and the first to include Windows 95's built-in 32-bit runtimes). Microsoft then moved to combine their consumer and business operating systems. Their first attempt, Neptune was cancelled and replaced with a new project, Whistler, which later became Windows XP, coming in both home and professional versions (and later niche market versions for tablet PCs and media centers) improved stability, user experience and backwards compatibility. Then, Windows Server 2003 brought Windows Server up to date with Windows XP. Since then, a new version, Windows Vista was released and Windows Server 2008, released on February 27, 2008, brings Windows Server up to date with Windows Vista.

Windows CE, Microsoft's offering in the mobile and embedded markets, is also a true 32-bit operating system that offers various services for all sub-operating workstations.

64-bit operating systems

Windows NT included support for several different platforms before the x86-based personal computer became dominant in the professional world. Versions of NT from 3.1 to 4.0 supported DEC Alpha and MIPS R4000, which were 64-bit processors, although the operating system treated them as 32-bit processors.

With the introduction of the Intel Itanium architecture, which is referred to as IA-64, Microsoft released new versions of Windows 2000 to support it. Itanium versions of Windows XP and Windows Server 2003 were released at the same time as their mainstream x86 (32-bit) counterparts. On April 25, 2005, Microsoft released Windows XP Professional x64 Edition and x64 versions of Windows Server 2003 to support the AMD64/Intel64 (or x64 in Microsoft terminology) architecture. Microsoft dropped support for the Itanium version of Windows XP in 2005. Windows Vista is the first end-user version of Windows that Microsoft has released simultaneously in 32-bit and x64 editions. Windows Vista does not support the Itanium architecture. The modern 64-bit Windows family comprises AMD64/Intel64 versions of Windows Vista, and Windows Server 2003, in both Itanium and x64 editions.

Microsoft Windows


Microsoft Windows is the name of several families of software operating systems by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs).[1] Microsoft Windows came to dominate the world's personal computer market, overtaking Mac OS, which had been introduced previously. At the 2004 IDC Directions conference, IDC Vice President Avneesh Saxena stated that Windows had approximately 90% of the client operating system market.[2] The most recent client version of Windows is Windows Vista. The current server version of Windows is Windows Server 2008.

Macintosh clones

Several computer manufacturers over the years have made Macintosh clones capable of running Mac OS, notably Power Computing, UMAX and Motorola. These machines normally ran various versions of classic Mac OS. Steve Jobs ended the clone-licensing program after returning to Apple in 1997.

In 2008, a manufacturing company in Miami, FL called Psystar Corporation, announced a $399 clone that comes with a barebones system that can run Mac OS X v10.5. Threatened with legal battles, Psystar originally called the system OpenMac and have since changed it to Open Computer.

A/UX

In 1988, Apple released its first UNIX-based OS, A/UX, which was a UNIX operating system with the Mac OS look and feel. It was not very competitive for its time, due in part to the crowded Unix market. A/UX had most of its success in sales to the U.S. government, where UNIX was a requirement that Mac OS could not meet.

PowerPC emulation

At the time of 68000-emulator development PowerPC support was difficult to justify not only due to the emulation code itself but also the anticipated wide performance overhead of an emulated PowerPC architecture vs. a real PowerPC based Mac. This would later prove correct with the start of the PearPC project even years later despite the availability of 7th & 8th generation x86 processors employing similar architecture paradigms present in the PowerPC. Many application developers were also creating and releasing both 68000 Classic and PowerPC versions concurrently helping to negate the need for PowerPC emulation. PowerPC Mac users who could technically run either obviously chose the faster PowerPC applications. Soon Apple was no longer selling 68000-based Macs and the existing installed base started to quickly evaporate. Despite the eventual excellent 68000-emulation technology available they proved never to be even a minor threat to real Macs due to their late arrival and immaturity even several years after the release of much more compelling PowerPC based Macs.

The PearPC emulator is capable of emulating the PowerPC processors required by newer versions of the Mac OS (like Mac OS X). Unfortunately, it is still in the early stages and, like many emulators, tends to run much slower than a native operating system would.

During the transition from PowerPC to Intel processors, Apple realized the need to incorporate a PowerPC emulator into Mac OS X in order to protect its customers' investments in software designed to run on the PowerPC. Apple's solution is an emulator called Rosetta. Prior to the announcement of Rosetta, industry observers assumed that any PowerPC emulator running on an x86 processor would suffer a heavy performance penalty (e.g., PearPC's slow performance). Rosetta's relatively minor performance penalty therefore took many by surprise.

Another PowerPC emulator is SheepShaver, which has been around since 1998 for BeOS on the PowerPC platform, but in 2002 was open sourced with porting efforts beginning to get it to run on other platforms. Originally it was not designed for use on x86 platforms and required an actual PowerPC processor present in the machine it was running on similar to a hypervisor. Although it provides PowerPC processor support, it can only run up to Mac OS 9.0.4 because it does not emulate a memory management unit.

Other examples include ShapeShifter (by the same programmer that conceived SheepShaver), Fusion and iFusion. The latter ran classic Mac OS with a PowerPC "coprocessor" accelerator card. Using this method has been said to equal or better the speed of a Macintosh with the same processor, especially with respect to the m68k series due to real Macs running in MMU trap mode, hampering performance.

68000 emulation

Although the Star Trek software was never released, third-party Macintosh emulators, such as vMac, Basilisk II, and Executor, eventually made it possible to run the classic Mac OS on Intel-based PCs. These emulators were restricted to emulating the 68000 series of processors, and as such most couldn't run versions of the Mac OS that succeeded 8.1, which required PowerPC processors. Most also required a Mac ROM image or a hardware interface supporting a real Mac ROM chip; those requiring an image are of dubious legal standing as the ROM image may infringe on Apple's intellectual property.

A notable exception was the Executor commercial software product from Abacus Research & Development, the only product that exclusively used 100% reverse engineered code without the use of Apple technology. It ran extremely fast but never achieved more than a minor subset of functionality. Few programs were completely compatible and many were extremely crash-prone if they ran at all. Executor filled a niche market for porting 68000 classic Mac applications to x86 platforms; development ceased in 2002 and the project is now defunct.

Emulators using Mac ROM images offered near complete Mac OS compatibility and later versions offered excellent performance as modern x86 processor performance increased exponentially.

Unfortunately most of the Mac user base had already started moving to the PowerPC platform that offered excellent classic Mac backward compatibility on 8.xx & 9.xx operating systems along with faster PowerPC software support. This helped ease the transition to PowerPC-only applications while prematurely obsolescing 68000 emulators and the Classic-only applications they supported well before these emulators were refined enough to compete with a real Mac.

Star Trek

One interesting historical aspect of the classic Mac OS was a relatively unknown secret prototype Apple started work on in 1992, code-named "Star Trek" (as in "to boldly go"). The goal of this project was to create a version of Mac OS that would run on Intel-compatible x86 personal computers. The project was instigated by Novell, Inc., who were looking to integrate their DR-DOS with the Mac OS UI as a retort to Microsoft's Windows 3.0. The Apple/Novell team (fourteen engineers from the former, four from the latter) was able to get the Macintosh Finder and some basic applications, like QuickTime, running smoothly on a PC. Some of the code from this effort was reused when porting the Mac OS later to PowerPC.[3]

The project was short lived, being canceled only one year later in early 1993. There are two theories for the cancellation: the first is that Apple's board deep-sixed further development upon realising that going with Star Trek would mean an entirely new business model and one that would likely see a notable drop in Apple's lucrative hardware sales; and the second is that an x86 Mac OS was not commercially viable in the early nineties because Microsoft's contracts for Windows 3.1 forced PC manufacturers to pay a royalty to Microsoft for every computer shipped, regardless of what operating system it contained.

A further complication was that Star Trek was designed to be source-level compatible, not binary compatible, with the Mac OS. Mac applications would therefore have to be recompiled or rewritten by their developers to run on the x86 architecture, and there was much skepticism as to exactly how much work this would entail.

Fifteen years after Star Trek, support for the x86 architecture was officially included in Mac OS, and then Apple transitioned all desktop computers to the x86 architecture. This was not the direct result of earlier Project Star Trek efforts. The Darwin underpinning used for Mac OS X 10.0 and later included support for the x86 architecture. The remaining non-Darwin portion of the Mac OS was released officially with the introduction of x86 Macintosh computers.

Mac OS X (2000-present)

Mac OS X brought Unix-style memory management and pre-emptive multitasking to the Mac platform. It is based on the Mach kernel and the BSD implementation of UNIX, which were incorporated into NeXTSTEP, the object-oriented operating system developed by Steve Jobs' NeXT company. The new memory management system allowed more programs to run at once and virtually eliminated the possibility of one program crashing another. It is also the second Macintosh operating system to include a command line (the first is the now-discontinued A/UX, which supported classic Mac OS applications on top of a UNIX kernel), although it is never seen unless the user launches a terminal emulator.

However, since these new features put higher demands on system resources, Mac OS X only officially supported the PowerPC G3 and newer processors, and now has even higher requirements (the additional requirement of built-in USB (10.3) and later FireWire (10.4)). Even then, it runs somewhat slowly on older G3 systems for many purposes.

For over three years, Mac OS X has gotten faster with every release - faster on the same hardware. [2]

PowerPC builds of Mac OS X include a compatibility layer for running older Mac applications, the Classic Environment. This runs a full copy of the older Mac OS, version 9.1 or later, in a Mac OS X process. PowerPC-based Macs shipped with Mac OS 9.2 as well as Mac OS X. Mac OS 9.2 had to be installed by the user — it was not installed by default on hardware revisions released after the release of Mac OS X 10.4. Most well-written "classic" applications function properly under this environment, but compatibility is only assured if the software was written to be unaware of the actual hardware, and to interact solely with the operating system. The Classic Environment is not available on Intel-based Macintoshes due to the incompatibility of Mac OS 9 with the x86 hardware, and was removed completely on Mac OS X 10.5.

Users of the original Mac OS generally upgraded to Mac OS X, but many criticized it as being more difficult and less user-friendly than the original Mac OS, for the lack of certain features that had not been re-implemented in the new OS, or for being slower on the same hardware (especially older hardware), or other, sometimes serious incompatibilities with the older OS. Because drivers (for printers, scanners, tablets, etc.) written for the older Mac OS are not compatible with Mac OS X, and due to the lack of Mac OS X support for older Apple machines, a significant number of Macintosh users have still continued using the older classic Mac OS. But by 2005, it has been reported that almost all users of systems capable of running Mac OS X are doing so, with only a small percentage still running the classic Mac OS.[citation needed]

In June 2005, Steve Jobs announced at the Worldwide Developers Conference keynote that Apple computers would be transitioning from PowerPC to Intel processors. At the same conference, Jobs announced Developer Transition Kits that included beta versions of Apple software including Mac OS X that developers could use to test their applications as they ported them to run on Intel-powered Macs. In January 2006, Apple released the first Macintosh computers with Intel processors, an iMac and the MacBook Pro, and in February 2006, Apple released a Mac mini with an Intel Core Solo and Duo processor. On May 16, 2006, Apple released the MacBook, before completing the Intel transition on August 7 with the Mac Pro. To ease the transition for early buyers of the new machines, Intel-based Macs include an emulation technology called Rosetta, which allows them to run (at reduced speed) pre-existing Mac OS X native application software that was compiled only for PowerPC-based Macintoshes.