IBM PC–compatible: Difference between revisions
Pantergraph (talk | contribs) |
Pantergraph (talk | contribs) |
||
Line 84: | Line 84: | ||
<!-- Deleted image removed: [[Image:Win1XP1.png|thumb|right|175px|Windows XP running [[Desk accessory|desk accessories]] from [[Windows 1.0]]]] --> |
<!-- Deleted image removed: [[Image:Win1XP1.png|thumb|right|175px|Windows XP running [[Desk accessory|desk accessories]] from [[Windows 1.0]]]] --> |
||
The term 'IBM PC compatible' is not commonly used today because all current mainstream computers are based on the PC architecture, and IBM no longer makes PCs. The competing platforms have either died off or, like the [[Amiga]], been relegated to niche, enthusiast markets. One notable exception is [[Apple]], whose [[Power Macintosh]] line of computers used the [[PowerPC]] architecture until 2006, when Apple adopted the Intel x86 architecture. Today's Macs are, for all intents and purposes, "IBM PC compatibles". |
The term 'IBM PC compatible' is not commonly used today because all current mainstream computers are based on the PC architecture, and IBM no longer makes PCs. The competing platforms have either died off or, like the [[Amiga]], have been relegated to niche, enthusiast markets. One notable exception is [[Apple]], whose [[Power Macintosh]] line of computers used the [[PowerPC]] architecture until 2006, when Apple adopted the Intel x86 architecture. Today's Macs are, for all intents and purposes, "IBM PC compatibles". |
||
The processor speed and memory capacity of modern PCs are many [[Order of magnitude|orders of magnitude]] greater than they were on the original [[IBM Personal Computer|IBM PC]] and yet backwards compatibility has been largely maintained - a 32-bit operating system {{As of|2008|alt=published in the 2000s}} can still run many of the simpler programs written for the OS of the early 1980s without needing an [[emulator]], though an emulator like [[DOSBox]] now has near-native functionality at full speed. |
The processor speed and memory capacity of modern PCs are many [[Order of magnitude|orders of magnitude]] greater than they were on the original [[IBM Personal Computer|IBM PC]] and yet backwards compatibility has been largely maintained - a 32-bit operating system {{As of|2008|alt=published in the 2000s}} can still run many of the simpler programs written for the OS of the early 1980s without needing an [[emulator]], though an emulator like [[DOSBox]] now has near-native functionality at full speed. |
Revision as of 22:05, 1 December 2010
This article needs additional citations for verification. (January 2007) |
IBM PC compatible computers are those generally similar to the original IBM PC, XT, and AT. Such computers used to be referred to as PC clones, or IBM clones since they almost exactly duplicated all the significant features of the PC architecture, facilitated by various manufacturers' ability to legally reverse engineer the BIOS through clean room design. Columbia Data Products built the first clone of an IBM personal computer through a clean room implementation of its BIOS. Many early IBM PC compatibles used the same computer bus as the original PC and AT models. The IBM AT compatible bus was later named the ISA bus by manufacturers of compatible computers. The term "IBM PC compatible" is now a historical description only since IBM has withdrawn from personal computer sales.
Descendants of the IBM PC compatibles make up the majority of microcomputers on the market today, although interoperability with the bus structure and peripherals of the original PC architecture may be limited or non-existent.
Origins
The origins of this platform came with the decision by IBM in 1980 to market a low-cost single-user computer as quickly as possible in response to Apple Computer's success in the burgeoning market. On 12 August 1981, the first IBM PC went on sale. There were three operating systems (OS) available for it but the most popular and least expensive was PC DOS, a modified version of 86-DOS that Microsoft acquired full rights from Seattle Computer Products. In a crucial concession, IBM's agreement allowed Microsoft to sell its own version, MS-DOS, for non-IBM platforms. The only proprietary component of the PC was the BIOS (Basic Input/Output System).
A number of computers of the time based on the 8086 and 8088 processors were manufactured during this period, but with different architecture to the PC, and which ran under their own versions of DOS and CP/M-86. However, software which addressed the hardware directly instead of making standard calls to MS-DOS was faster. This was particularly relevant to games. The IBM PC was sold in high enough volumes to justify writing software specifically for it, and this encouraged other manufacturers to produce machines which could use the same programs, expansion cards and peripherals as the PC. The 808x computer marketplace rapidly excluded all machines which were not functionally very similar to the PC. The 640 kB barrier on "conventional" system memory available to MS-DOS is a legacy of that period; other non-clone machines did not have this limit.
The original "clones" of the IBM Personal Computer were created without IBM's participation or approval. Columbia closely modeled the IBM PC and produced the first "compatible" PC (i.e., more or less compatible to the IBM PC standard) in June 1982 closely followed by Eagle Computer. Compaq Computer Corp. announced its first IBM PC compatible a few months later in November 1982—the Compaq Portable. The Compaq was the first sewing machine-sized portable computer that was essentially 100% PC-compatible. The company could not directly copy the BIOS as a result of the court decision in Apple v. Franklin, but it could reverse-engineer the IBM BIOS and then write its own BIOS using clean room design.
Compatibility issues
At the same time, many manufacturers such as Xerox, HP, Digital, Sanyo, Texas Instruments, Tulip, Wang and Olivetti introduced personal computers that were MS DOS compatible, but not completely software- or hardware-compatible with the IBM PC.
Microsoft's intention, and that of the industry from 1981 to as late as the mid-1980s, was that application writers would write to the APIs in MS-DOS or the firmware BIOS, and that this would form what would now be called a hardware abstraction layer. Each computer would have its own OEM version of MS-DOS, customized to its hardware. Any software written for MS-DOS would run on any MS-DOS computer, despite variations in hardware design. A similar trend was with the MSX home computer series.
This expectation seemed reasonable in the computer marketplace of the time. Until then Microsoft was primarily focused on computer languages such as BASIC. The established small system operating software was CP/M from Digital Research which was in use both at the hobbyist level and at the more professional end of those using microcomputers. To achieve such widespread use, and thus make the product economically viable, the OS had to operate across a range of machines from different vendors that had widely varying hardware. Those customers who needed other applications beyond the starter pack could reasonably expect publishers to offer their products for a variety of computers, on suitable media for each.
Microsoft's competing OS was initially targeted to run on a similar varied spectrum of hardware, although all based on the 8086 processor. Thus, MS-DOS was for many years sold only as an OEM product. There was no Microsoft-branded MS-DOS: MS-DOS could not be purchased directly from Microsoft, and each OEM release was packaged with the trade dress of the given PC vendor. The different versions were in general incompatible with different hardware. Bugs were to be reported to the OEM, not to Microsoft. However, as "compatibles" became widespread, it soon became clear that the OEM versions of MS-DOS were virtually identical, except perhaps for the provision of a few utility programs.
MS-DOS provided adequate support for character-oriented applications such as those that could have been implemented on a text-only terminal. Had the bulk of commercially important software fallen within these bounds, low-level hardware compatibility might not have mattered. However, in order to provide maximum performance and leverage hardware features (or work around hardware bugs), PC applications very quickly evolved beyond the simple terminal applications that MS-DOS supported directly. Spreadsheets, WYSIWYG word processors, presentation software and remote communication software established new markets that exploited the PC's strengths, but required capabilities beyond what MS-DOS provided. Thus, from very early in the development of the MS-DOS software environment, many significant commercial software products were written directly to the hardware, for a variety of reasons:
- MS-DOS itself did not provide any way to position the text cursor (except to advance it after printing each letter). While the BIOS video interface routines were adequate for rudimentary output, they were inefficient; they did not have "string" output (only output by individual character) and they inserted delay periods to compensate for CGA hardware "snow" (a display artifact of CGA cards produced when writing directly to screen memory)-- an especially bad artifact since they were called via IRQs, thus making multitasking very difficult. A program that wrote directly to video memory could achieve output rates 5 to 20 times faster than making standard calls to the BIOS and MS-DOS. Turbo Pascal used this technique from its earliest incarnations.
- Graphics capability was not taken seriously in the original IBM design brief; it was considered to be an exotic or novelty function. MS-DOS did not have an API for graphics, and the BIOS only included the most rudimentary of graphics functions (such as changing screen modes and plotting single points). To make a BIOS call for every point drawn or modified also increased overhead considerably, making the BIOS interface notoriously slow. Because of this, line-drawing, arc-drawing, and blitting had to be performed by the application to achieve acceptable speed, which was usually done by bypassing the BIOS and accessing video memory directly.
- Games, even early ones, mostly required a true graphics mode. They also performed any machine-dependent trick the programmers could think of in order to gain speed. Though initially the major market for the PC was for business applications, games capability became an important factor in driving PC purchases as prices fell. The availability and quality of games could mean the difference between the purchase of a PC compatible and a different though somewhat interoperable platform like the Amiga.
- Communications software directly accessed the UART chip, because the MS-DOS API and the BIOS did not provide full support for the chip's capabilities and was far too slow to keep up with hardware which could transfer data at 19200 baud.
- Even for standard business applications, speed of execution was a significant competitive advantage. This was shown dramatically by Lotus 1-2-3's competitive knockout of rival Context MBA in the then-popular genre of integrated software. Context MBA, now almost forgotten, preceded Lotus to market and included more functions; it was written in standard Pascal, making it highly portable but, given the compilers of the day, too slow to be truly usable on a PC. Lotus was written in pure assembly language and performed some machine-dependent tricks. It was so much faster that Context MBA was dead as soon as Lotus arrived.
- Disk copy-protection schemes, in common use at the time, worked by reading nonstandard data patterns on the diskette to verify originality. These patterns were difficult or impossible to detect using standard DOS or BIOS calls, so direct access to the disk controller hardware was necessary for the protection to work.
At first, few compatibles other than Compaq's offered compatibility beyond the DOS/BIOS level. Reviewers and users developed suites of programs to test compatibility; the ability to run Lotus 1-2-3 or Microsoft Flight Simulator became one of the most significant stress tests. Vendors gradually learned not only how to emulate the IBM BIOS but also where to use identical hardware chips to perform key functions within the system. Eventually, the Phoenix BIOS and similar commercially-available products permitted computer makers to build essentially 100%-compatible clones without having to reverse-engineer the IBM PC BIOS themselves.
Over time, IBM damaged its own market by itself failing to appreciate the importance of "IBM compatibility", introducing products such as the IBM Portable (which was outperformed and outsold by the earlier Compaq Portable) and the PCjr (which had significant incompatibilities with the original PC and was soon discontinued).
By the mid to late 1980s buyers began to regard PCs as commodities, and doubted that the security blanket of the IBM brand warranted the higher price. Meanwhile, MS-DOS-compatible (but not hardware-compatible) systems did not succeed in the marketplace. Being unable to run off-the-shelf high-performance software packages that the IBM PC and true compatibles could made for poor sales and the eventual extinction of this category of systems. Because of hardware incompatibility with the IBM PC design, the 80186 processor released only a year after the IBM PC was never popular in general-purpose personal computers.
The declining influence of IBM
After 1987 IBM PC compatibles dominated both the home and business markets of commodity computers[1], with other notable alternative architectures being the Macintosh computers offered by Apple Inc., the 8-bit Commodore 64 which eventually became the world's best-selling computer, and the 32-bit Commodore Amiga line used in television and video production. However, IBM itself lost the leadership role in the market for IBM PC compatibles by 1990. A few events in retrospect are likely turning points:
- Compaq's introduction in 1982 of the Compaq Portable, the first 100% IBM PC compatible computer, providing portability unavailable from IBM at the time. The compatibility and performance of the Portable legitimized the PC clone in the eyes of many businesses.
- Compaq beating IBM to the market in 1986 with the first 80386-based PC.
- IBM's 1987 introduction of incompatible technologies, such as its proprietary MicroChannel Architecture (MCA) computer bus, in its PS/2 line.
- The 1988 introduction by the "Gang of Nine" companies of a rival bus, Extended Industry Standard Architecture, aimed at competing with, rather than copying, MCA.
- The duelling Expanded memory and Extended memory standards of the late 1980s, both developed with no input from IBM.
- The availability by 1989 of sub-$1000 PC XT compatibles, including early offerings from Dell Computer, reducing demand for IBM's latest technology.
However, as the market evolved, despite the failure of MCA, IBM derived a considerable income stream from license fees from companies who paid for licenses to use IBM patents that were in the PC design, to the extent that IBM's focus changed from discouraging PC clones to maximizing its revenue from license sales. IBM finally relinquished its role as a PC manufacturer in April 2005, when it sold its PC division to Lenovo for $1.75 billion.
As of October 2007, Hewlett-Packard and Dell hold the largest shares of the PC market in North America. They are also successful overseas, with Acer, Lenovo, and Toshiba also notable. Worldwide, a huge number of PCs are "white box" systems assembled by a myriad of local systems builders. Despite advances in computer technology, all current IBM PC compatibles remain very much compatible with the original IBM PC computers, although most of the components implement the compatibility in special backward compatibility modes used only during a system boot.
Expandability
One of the strengths of the PC compatible platform is its modular hardware design. End-users could readily upgrade peripherals and to some degree, processor and memory without modifying the computer's motherboard or replacing the whole computer, as was the case with many of the microcomputers of the time. However, as processor speed and memory width increased, the limits of the original XT/AT bus design were soon reached, particularly when driving graphics video cards. IBM did introduce an upgraded bus in the IBM PS/2 computer that overcame many of the technical limits of the XT/AT bus, but this was rarely used as the basis for IBM compatible computers since it required licence payments to IBM both for the PS/2 bus and any prior AT-bus designs produced by the company seeking a license. This was unpopular with hardware manufacturers and several competing bus standards were developed by consortiums, with more agreeable license terms. Various attempts to standardize the interfaces were made, but in practice, many of these attempts were either flawed or ignored. Even so, there were many expansion options, and despite the confusion of its users, the PC compatible platform advanced much faster than other competing platforms of the time, even if only because of its market dominance.
"IBM PC compatible" becomes "Wintel"
In the 1990s, IBM's influence on PC architecture became increasingly irrelevant. An IBM-brand PC became the exception not the rule. Instead of focusing on staying compatible with the IBM PC, vendors began to focus on compatibility with the evolution of Microsoft Windows. In 1993, a version of Windows NT was released that could run on processors other than x86. (It did require that applications be recompiled, a step most developers didn't take.) Still, its hardware independence was taken advantage of by SGI x86 workstations - thanks to NT's HAL, they could run NT (and its vast application library). No mass-market personal computer hardware vendor dared to be incompatible with the latest version of Windows, and Microsoft's annual WinHEC conferences provided a setting in which Microsoft can lobby for and —in some cases— dictate the pace and direction of the hardware side of the PC industry. Microsoft and Intel had become so important to the ongoing development of the PC hardware that industry writers began using the portmanteau word Wintel to refer to the combined hardware-software platform. This terminology itself is becoming a misnomer, as Intel had lost absolute control over the direction of the hardware development with AMD's AMD64 and other operating systems like Mac OS X and Linux have started to establish a notable presence on the x86 architecture.
Design limitations and more compatibility issues
Although the IBM PC was designed for expandability, the designers could not anticipate the hardware developments of the '80s, nor the size of the industry they would engender. To make things worse, IBM's choice of the Intel 8088 for the CPU introduced several limitations which were hurdles for developing software for the PC compatible platform. For example, the 8088 processor only had a 20-bit memory addressing space. To expand PCs beyond one megabyte, Lotus, Intel, and Microsoft jointly created expanded memory (EMS), a bank-switching scheme to allow more memory provided by add-in hardware, and seen through a set of four 16-Kilobyte "windows" inside the 20-bit addressing. Later, Intel CPUs had larger address spaces and could directly address 16- MiBs (80286) or more, leading Microsoft to develop extended memory (XMS) which did not require additional hardware.
"Expanded" and "extended" memory have incompatible interfaces, so anyone writing software that used more than one megabyte had to support both systems for the greatest compatibility until MS-DOS began including EMM386, which simulated EMS memory using XMS memory. A protected mode OS can also be written for the 80286, but DOS application compatibility was harder than expected, not only because most DOS applications accessed the hardware directly, bypassing BIOS routines intended to ensure compatibility, but also that most BIOS requests were made via interrupt vectors that were marked as "reserved" by Intel.
Video cards suffered from their own incompatibilities. Once video cards advanced to SVGA the standard for accessing them was no longer clear. At the time, PC programming used a memory model that had 64 KB memory segments. The most common VGA graphics mode's screen memory fitted into a single memory segment. SVGA modes required more memory, so accessing the full screen memory was tricky. Each manufacturer developed their own ways of accessing the screen memory, even going so far as not to number the modes consistently. An attempt at creating a standard called VBE was made, but not all manufacturers adhered to it.
Because of the wide number of third-party adapters and no standard for them, programming the PC could be difficult. Professional developers would run a large test-suite of various hardware combinations. Even the PC itself had no clear application interface to the flat memory model the 386 and higher could provide in protected mode.[clarification needed]
When the 386 arrived, again a protected mode OS could be written for it. This time, DOS compatibility was much easier because of virtual 8086 mode. Unfortunately programs could not switch directly between them, so eventually, some new memory-model APIs were developed, VCPI and DPMI, the latter becoming the most popular.
Meanwhile, consumers were overwhelmed by the competing, incompatible standards and many different combinations of hardware on offer. To give them some idea of what sort of PC they would need to run their software, the Multimedia PC (MPC) standard was set in 1990. A PC that met the minimum MPC standard could be considered, and marketed as, an MPC. Software that could run on the most minimal MPC-compliant PC would be guaranteed to run on any MPC. The MPC level 2 and MPC level 3 standards were later set, but the term "MPC compliant" never caught on. After MPC level 3 in 1996, no further MPC standards were established.
Challenges to Wintel domination
By the early 21st century, the success of Microsoft Windows had driven nearly all other rival commercial operating systems into near-extinction, and had ensured that the “IBM PC compatible” computer was the dominant computing platform. This meant that if a manufacturer only made their software for the Wintel platform, they would be able to reach the vast majority of computer users. By the late 1980s, the only major competitor to Windows with more than a few percentage points of market share was Apple Inc.'s Macintosh. The Mac started out billed as "the computer for the rest of us" but the DOS/Windows/Intel onslaught quickly drove the Macintosh into an education and desktop publishing niche, from which it has only recently begun to emerge. By the mid 1990s the Mac's market share had dwindled to around 5% and introducing a new rival operating system had become too risky a commercial venture. Experience had shown that even if an operating system was technically superior to Windows, it would be a failure in the marketplace (BeOS and OS/2 for example). In 1989 Steve Jobs said of his new NeXT platform, "It will either be the last new hardware platform to succeed, or the first to fail." In 1993 NeXT announced it was ending production of the NeXTcube and porting NeXTSTEP to Intel processors.
On the hardware front, Intel initially licensed their technology so that other manufacturers could make x86 CPUs. As the "Wintel" platform gained dominance Intel abandoned this practice. Companies such as AMD and Cyrix developed alternative CPUs that were functionally compatible with Intel's. Towards the end of the 1990s, AMD was taking an increasing share of the CPU market for PCs. AMD even ended up playing a significant role in directing the evolution of the x86 platform when its Athlon line of processors continued to develop the classic x86 architecture as Intel deviated with its "Netburst" architecture for the Pentium 4 CPUs and the IA-64 architecture for the Itanium line of server CPUs. AMD developed AMD64, the first major extension not created by Intel, which Intel later adopted. In 2006 Intel began abandoning Netburst with the release of their line of "Core" processors that represented an evolution of the earlier Pentium III.
The IBM PC compatible today
The term 'IBM PC compatible' is not commonly used today because all current mainstream computers are based on the PC architecture, and IBM no longer makes PCs. The competing platforms have either died off or, like the Amiga, have been relegated to niche, enthusiast markets. One notable exception is Apple, whose Power Macintosh line of computers used the PowerPC architecture until 2006, when Apple adopted the Intel x86 architecture. Today's Macs are, for all intents and purposes, "IBM PC compatibles".
The processor speed and memory capacity of modern PCs are many orders of magnitude greater than they were on the original IBM PC and yet backwards compatibility has been largely maintained - a 32-bit operating system published in the 2000s[update] can still run many of the simpler programs written for the OS of the early 1980s without needing an emulator, though an emulator like DOSBox now has near-native functionality at full speed.
See also
- AT (form factor)
- ATX form factor
- Baby AT form factor
- Computer hardware
- Computer software
- Computing platform
- History of computing hardware (1960s-present)
- Homebuilt computer
- IBM Personal Computer
- Influence of the IBM-PC on the PC market
- PC speaker
- Personal computer
- x86 architecture
- MS-DOS
References
- ^ Reimer, Jeremy. "Total share: 30 years of personal computer market share figures". Ars Technica. Retrieved 13 September 2008.
External links
- http://www.allgame.com/cg/agg.dll?p=agg&sql=5:2
- http://www.ibscorporation.com/pc2.htm
- http://oldcomputers.net/compaqi.html