IBM PC–compatible
IBM PC compatible is a class of computers which make up the vast majority of small computers (microcomputers) on the market today. They are based on the IBM PC design originated by International Business Machines (IBM).They use the Intel x86 architecture (or an architecture made to emulate it). Such computers used to be referred to as PC clones, though from the early 1990's on this has been contracted to simply PC.
At least the original clones of the IBM PC were created without IBM's participation, or approval. As the market evolved however, IBM derived a considerable income stream from licence fees that companies who cloned the PC paid for licences to use IBM patents incorporated in the PC design, to the extent that IBM's focused changed from discouraging PC clones, to maximising its revenue from licence sales.
Most modern x86 server-class machines are essentially more robust versions of the modern desktop IBM PC compatible.
History
Origins
The origins of this platform came with the decision by IBM in 1980 to market a personal computer as quickly as possible in response to Apple Computer's rapid success in the burgeoning market for low-cost single-user computers—what later came to be known as the "personal computer market." On 12 August 1981, the first IBM-PC went on sale. There were several operating systems (OS) available for it but the best remembered is DOS (the cheapest). IBM licensed DOS from Microsoft; IBM's version was called PC-DOS and was sold as an "add-on" to the IBM PC. In a crucial concession almost unnoticed by either party at the time, IBM's agreement also allowed Microsoft to sell its version, MS-DOS, for non-IBM platforms. Also, in creating the platform, IBM used only one proprietary component: the BIOS (Basic Input/Output System).
Columbia copied the IBM PC and produced the first 'compatible' (i.e., more or less compatible to the IBM PC standard) PC in 1982. Compaq Computer Corp. produced its first IBM PC compatible a few months later in 1982—the Compaq Portable. The Compaq was not only the first "sewing machine-sized" portable PC but, even more important, was the first essentially 100% PC-compatible computer. 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. Compaq became a very successful PC manufacturer, but was bought out by Hewlett-Packard in 2002.
Compatibility issues
Simultaneously, many manufacturers such as Xerox, Digital, Sanyo, and Wang introduced personal computers that were -- although x86 and MS-DOS-based -- not completely hardware-compatible with the IBM PC. While such decisions seem foolish in retrospect, it is not always appreciated just how fast the rise of the IBM clone market was, and the degree to which it took the industry by surprise.
Microsoft's intention, and the mindset of the industry from 1981 to as late as the mid-1980s, was that application writers would write to the Application programming interfaces (or APIs) in MS-DOS, and in some cases to the firmware BIOS, and that these components would form what would now be called a hardware abstraction layer. Each computer would have its own Original Equipment Manufacturer (OEM) version of MS-DOS, customized to its hardware. Any piece of software written for MS-DOS would run on any MS-DOS computer, regardless of variations in hardware design.
This expectation seemed reasonable, in the light of the computer marketplace as it existed then. At that time, Microsoft was primarily focused on computer languages, such as BASIC. The established model for 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 the microcomputer spectrum. To achieve this spectrum of use, the OS had to operate across a range of machines that had widely varying hardware, though all based on the 8080 architecture. Microsoft's competing OS was initially targeted to run on a similar varied spectrum of hardware, though all based on the 8086 architecture.
During this time MS-DOS was sold only as an OEM product. There was no Microsoft-branded MS-DOS, MS-DOS could not be purchased directly from Microsoft, and the manual's cover had the corporate color and logo of the PC vendor. Bugs were to be reported to the OEM, not to Microsoft. However, in the case of the clones, 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 minicomputer and a Digital VT100 terminal. Had the bulk of commercially important software fallen within these bounds, hardware compatibility might not have mattered. However, very early in the development of the PC, its applications 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 pieces of popular commercial software wrote directly to the hardware, for a variety of reasons:
- 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.
- Graphics capability was not taken seriously in the original IBM design brief. It was considered to be an exotic or novelty function. MS-DOS didn't 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); having 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; this 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 PC prices fell.
- 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 [1]. The latter, now almost forgotten, preceded Lotus to market, included more functions, was written in Pascal, and was highly portable. It was also too slow to be really 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, popular 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, other than Compaq's models, few "compatibles" really lived up to their claim. "95% compatibility" was seen as excellent. Reviewers and users developed suites of programs to test compatibility, generally including Lotus 1-2-3 and Microsoft Flight Simulator, the two most popular "stress tests." Gradually vendors discovered not only how to emulate the IBM BIOS, but the places where they needed 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.
Meanwhile, IBM damaged its own franchise by failing to appreciate the importance of "IBM compatibility", when they introduced products such as the IBM Portable (essentially a Compaq Portable knockoff), and later the PCjr, which had significant incompatibilities with the mainline PCs. By the mid-to-late 1980s, buyers began to regard PCs as commodity items, and became skeptical as to whether the security blanket of the IBM name warranted the price differential. Meanwhile, the incompatible Xeroxes and Digitals and Wangs were left in the dust. Nobody cared that they ran MS-DOS; the issue was that they did not run off-the-shelf software written for the IBM PC and true compatibles.
The declining influence of IBM
Since 1981, IBM PC compatibles have grown to dominate both the home and business markets of commodity computers, with the only notable alternative architecture being the Apple Macintosh computers, which have a market share of only a few percent. (Even Apple seem to have bowed to the inevitable, and the Apple line is moving to a hardware architecture derived from the PC.) However, IBM itself lost the leadership role in the market for IBM PC compatibles at least fifteen years before its complete withdrawal from the PC market in April 2005. Three events in retrospect are likely turning points:
- 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 Extended Industry Standard Architecture (EISA) bus aimed at toppling, rather than copying, MCA.
Dell and Hewlett-Packard hold the largest shares of the PC market in North America. They are also successful overseas, with Acer, Lenovo, and Toshiba also notable. Worldwide though a huge number of PC's 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. This meant that if a component became obsolete, only an individual component had to be upgraded and not the whole computer as was the case with many of the microcomputers of the time. As long as applications used operating system calls and did not write to the hardware directly, the existing applications would work. However, MS-DOS (the dominant operating system of the time) did not have support for many calls for multimedia-hardware, and the BIOS was also inadequate. Various attempts to standardise the interfaces were made, but in practice, many of these attempts were either flawed or ignored. Even so, there were many expansion options, and the PC compatible platform advanced much faster than other competing platforms of the time.
"IBM PC Compatible" becomes "Wintel"
In the 1990s, IBM's influence on PC architecture became increasingly irrelevant. Instead of focusing on staying compatible with the IBM PC, vendors began to focus on compatibility with the evolution of Microsoft Windows. No vendor dares to be incompatible with the latest version of Windows, and Microsoft's annual WinHEC conferences provide 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 Windows has become so important to the ongoing development of the PC hardware that industry writers have taken to using the term "Wintel architecture" ("Wintel" being a portmanteau combination of "Windows" and "Intel") to refer to the combined hardware-software platform. This terminology itself is becoming a misnomer though as Intel has lost absolute control of the direction of the development of this hardware platform as AMD has become a major player, and at least for the higher end server versions of PC hardware Linux compatability has become a factor.
Entertainment software
The original IBM PC was not designed with games as its primary focus. Although color graphics adapters and joystick adapters were available from the beginning, the more widely-adapted monochrome adapter and simple sound capabilities made it unsuitable for multimedia applications such as entertainment. It was also priced as a business computer (its primary design focus), well outside of the entertainment market.
The games that were available for the dawn of the PC used the real strength of the machine, 16-bit processing at a faster clock speed, to overcome the lack of multimedia capabilities. One of the most impressive titles for the machine, available less than a year after launch, was Microsoft Flight Simulator. Although Flight Simulator was available for other platforms, it ran at a faster framerate and with more detail on the PC.
As the technology of the PC advanced, more advanced games were developed. As early as 1988, VGA cards were available for PC clones. These offered 256-colour graphics out of a palette of 262,144. Also in 1988, sound cards such as the Adlib and Creative Music System (precursor to the Sound Blaster) were available. These developments brought the PC up to a sufficient level such that it could support arcade games ported to the platform as well as other home computers of the time. Another advantage was that many consumers opted to equip their PCs with a hard drive, whilst relatively few home computer platforms were so equipped. This allowed PC games to be more ambitious in their use of resources, and made playing games faster and more convenient.
By 1990, the PC had comparable hardware to competing entertainment platforms of the time, such as the Commodore Amiga, but was still was not taken "seriously" as a games machine. This could have been caused by the higher price, or that the hardware was very awkward to program for, and required the development of different drivers for all the multimedia hardware options available to the consumer. As before, the PC's main strength -- raw processing power -- was used as leverage, and this led to impressive 3D or pseudo-3D titles such as Wing Commander, Ultima Underworld, Stunts, and of course Doom. Doom in particular had the most wide-spread success, with awareness crossing over into mainstream media.
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. 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. One example was the DOS 640 kB barrier (memory below 640 kB is known as conventional memory). This was due to the 20-bit memory addressing space of the 8088. In order to expand PCs beyond one megabyte, Lotus, Intel, and Microsoft jointly created EMS, a scheme to allow access to additional memory provided by add-in hardware, available via a 64 kB "window" inside the 20-bit addressing. Later Intel CPUs had larger address spaces and could directly address 16 MB (80286) or more, leading Microsoft to develop an additional specification that did not require additional hardware, XMS. EMS and XMS have incompatible interfaces, so anyone writing software that used more than one megabyte had to support both systems for the most compatibility.
Graphics cards suffered from their own incompatibilities. Once graphics cards advanced to SVGA level, the standard for accessing them was no longer clear. At the time, PC programming involved using a memory model that had 64 kB memory segments. The most common VGA graphics mode's screen memory fit 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 to not number the modes consistently. An attempt at creating a standard called VESA was made, but not all manufacturers adhered to it.
Due to the wide number of third-party adapters for the PC and no standard for interfacing with them, programming the PC could be difficult. When developing for the PC, a large test-suite of various hardware combinations was needed to make sure the software was compatible with as many PC configurations as possible. Even the PC itself had no clear application interface to the flat memory model the 386 and higher could provide in protected mode. Eventually, some new memory-model APIs were developed, VCPI and DPMI, the latter becoming the most popular.
Meanwhile, consumers were overwhelmed by the many different combinations of hardware on offer. To give the consumer some idea of what sort of PC would be needed to run a given piece of software, the Multimedia PC standard (or MPC) was set in 1990. It meant that a PC that met the minimum MPC standard could be considered an MPC. Software that could run on a minimalistic 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 set.
The rise of Windows
Microsoft announced Windows 1.0 in November 1983, but wasn't able to get it out the door until 1985. It wasn't successful. The same thing happened in 1987 with the launch of Windows 2.0; followed by the launch of Windows/286 and Windows/386 in 1988.
It is probably the lack of success of these early versions of Windows that threw IBM and Microsoft together to produce their version of the future with OS/2 in 1987 (it was launched with IBM's PS/2). At the launch Bill Gates is quoted as saying "DOS is dead." OS/2 had been written from scratch by Microsoft and IBM (with IBM taking the lion's share) and was vastly superior to the DOS based Microsoft Windows.
But OS/2 had a problem (amongst many, it turned out); it was written for the 80286 processor. The 80386 had been launched the year before and, according to Intel Chairman Gordon Moore, Intel had told IBM that the 386 would be ready in time for OS/2 shipping, Moore says IBM didn't believe him and carried on writing OS/2 for the 286. When the 386 was launched in September 1986 it left OS/2 seriously underpowered.
Then, making things worse, IBM and Microsoft didn't deliver OS/2's various 'extra bits' (namely Presentation Manager - the Windows like front end for OS/2). Despite Microsoft and IBM saying "DOS was dead" users wholeheartedly stuck with it.
Thus by 1990 the market — and the technology on the PC platform — was ready for something new. Microsoft was still working with IBM when it launched Windows 3.0 and — according to Gates — it sold twice as many copies as Microsoft had expected. Windows 3.0 sat 'on top' of DOS; thus users would load DOS on their machine and then load Windows. This allowed users to swap between DOS and Windows rather than picking just one environment, making the gradual move to Windows possible.
Windows 3.0 resembled Apple Computer's System 7 (Microsoft went as far as hiring Apple employees in its Windows design team) and revolutionised the way users 'used' their PCs. In the past, users had typed in commands into the MS-DOS interface (a Command line interface or CLI) where now they had a Graphical User Interface GUI which used a mouse to point to small pictures of tasks icons to 'make things happen'. Windows 3.0 was followed by Windows 3.1 in 1991 and eventually Microsoft, realising that users wanted to network their PCs, included standard network protocols into a newer 3.11 version.
With the two companies still working together in the early 1990's the success of Windows 3.0 — and the relative failure of OS/2 — caused some friction. According to Gates, IBM said to Microsoft that it should drop Windows and work solely on OS/2. Microsoft declined and eventually the two split; Microsoft took its code for OS/2 3.0 — codenamed OS/2 NT (for New Technology) with it. OS/2 NT would mutate into Windows NT and eventually into Windows 2000 and XP.
Windows NT was launched in 1993. It was a parallel development to Windows for DOS, aimed at the server market it was supposed to be a fully professional system that wouldn't rely on DOS. At this time take up was very small, the system was power hungry and had few applications.
Development of the traditional Windows platform continued, adding more features, standardised protocols and building on hardware support, and in 1995 Windows 95 was born. Before Windows 95, games and gaming were a totally MS DOS experience. Users had to tolerate rebooting into DOS, fiddling with memory (see the 640k barrier) and reconfiguring their PC every time they wanted to load a game. Windows 95 provided a system called DirectX which allowed programmers access to a standard API to perform video and sound card calls from Windows, revolutionising the games arena. For the first time, a PC programmer could benefit from Windows 95's memory management capabilities and extended functionality, and have API access to the graphics and sound cards - of which there were many versions and drivers. 3D graphics were possible from within Windows, (for those with 3Dfx cards) and now Network Multiplayer 3D graphics games were in the realms of possibility to almost every programmer.
Windows 95 was replaced with Windows 98 in 1998 then with Windows 98SE (Second Edition) in 1999. It was Microsoft's intention to combine its Windows NT and Windows 9x (as the various versions of Windows 95 to ME were called) operating systems and the phasing out of the Windows 9x operating systems. At first Microsoft were to finish the 9x line with Windows 98SE but when it was apparent that its NT line needed more power than the average 9x PC could deliver, the phasing out was delayed and Microsoft launched an 'interim' version of Windows: Windows ME in 2000.
In February 2000 the latest version of Windows NT was released called Windows 2000 and finally began to show signs that it could survive on the PC desktop. And in October 2001 Windows XP was launched, this was to replace all previous versions of Windows and, at time of writing (April 2006), has had two service pack updates and is not expected to be replaced by the next version of Windows — called Windows Vista — until 2007.
Challenges to Wintel domination
The success of Microsoft Windows had driven nearly all other rival commercial operating systems into near-extinction, and had ensured that the PC 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 out to the vast majority of computer users. By the mid to late 1990s, introducing a rival operating system had become too risky a commercial venture. Experience had shown that even if an operating system was superior to Windows, it would be a failure.
However, a free operating system was being developed by enthusiasts — Linux. Because they were doing it for fun, they were unafraid of taking risks. Despite the fact that Microsoft programmers were programming for a living and the programmers working on Linux were programming in their spare time, Linux became used by a great number of people in a vast number of settings. The sheer number of contributors to the Linux project allowed development effort comparable to that of the Microsoft programmers. After a couple of years, Linux had become a very powerful operating system and, because it was free, it spread widely.
By the late 1990s, Linux was being taken seriously. It was seen as an example of what could be achieved by the open source movement. While initially lacking in software and being incompatible with Windows, Linux (like Windows NT) did solve one of the main problems with Windows — stability issues. Despite this, Windows still remains the dominant desktop operating system.
On the hardware front, Intel decided to license their technology so that other manufacturers could make x86 compatible CPUs. In other cases, companies such as AMD and Cyrix produced alternative CPUs compatible with Intel's. Towards the end of the 1990s, AMD was taking a huge chunk of the CPU market for PCs and even ended up playing a significant role in directing the evolution of the 'x86 platform when its Athlon processors were released in 1999, two years before the comparable Intel Pentium 4 architecture was released.
DirectX, while solving many of the problems in programming the PCs, was only compatible with Windows. OpenGL, which was available for several platforms, was ported to Windows, and offered a means of rapidly developing cross-platform 3D applications.
The PC today
The original IBM PC is long forgotten and the term 'PC compatible' is not used. The processor speed and memory are many orders of magnitude greater than they were on the original IBM PC, yet any well-behaved program for the original IBM PC that does not call the hardware directly can still run on a modern PC. Some say that the desire for backward compatibility might have hindered the development of the PC, but many believe the ability to run legacy software is what helped keep the PC alive.
The modular design makes it possible to choose every component of a PC from a variety of different manufacturers and to buy only what is needed for the tasks the computer is intended to carry out. Upgrades are easy. It is also possible to choose the operating system to run on the PC, and what software to run.
Software and compatibility amongst different PCs and hardware compatibility is no longer a major issue. There are other platforms in existence today (mostly the Apple Macintosh), but they are a minority.
Thanks to intuitive user interfaces and the information-gathering and communications capabilities of the Internet, the computer has finally escaped from the domain of computer professionals and computer hobbyists, and has become mainstream.
The design of computer cases has become more elaborate and users can modify the cases themselves (this is known as case modding), but even so, the plain beige box case design that has been around since the 80s is still common.
There is a thriving demo scene, and a huge community of people willing to write free software.
Hardware configurations
A PC can come in one of the following configurations:
A computer that sits on the top of a desk (or often under the desk, with its peripherals on top of the desk). Portability is not part of the design, so the desktop computers tend to be too heavy and too large to carry. This has the advantage that the components do not need to be miniaturised, and are therefore cheaper.
Not long after the first IBM-PC came out, Compaq produced the Compaq Portable — one of the first portable PC compatible computers. Weighing in at 28 pounds, it was more of a "luggable" than a "portable".
The portable computer evolved into the laptop. Unlike laptops, portable computers usually do not run on batteries.
A Laptop (also known as a Notebook) is a PC that has been miniaturised so that it is easy to carry and can fit into a small space. It uses a flat-screen LCD which is folded onto the keyboard to create a slab-shaped object. Carrying a laptop around is easy, but this increased portability comes at a cost. To reduce size and mass, a special design is used with smaller components. These components are more expensive than regular components. The design is more integrated meaning that it is less expandable, although the RAM and the hard drive can be upgraded. Laptops are also battery powered, so as well as being smaller, the components need to have a low power-usage.
In 1996, Toshiba produced the Libretto range of sub-notebooks (mini-notebooks). The first model (the Libretto 20) had a volume of 821.1 cm3 and weighed just 840 grams. They were fully PC compatible (unlike PDAs). There were several models produced in the Libretto range. In 2005, Toshiba announced a new model, the Libretto U100.
Operating systems
Over the years, there have been many operating systems for the PC:
- CP/M from Digital Research.
- DOS and its derivatives,
- PC-DOS from IBM - no longer commercially available.
- MS-DOS from Microsoft - no longer commercially available.
- DRDOS from Digital Research - Still commercially available from DeviceLogics.
- OpenDOS derived from DRDOS
- Enhanced Dr-DOS Open source derivative of OpenDOS - development continues.
- FreeDOS free software rewrite of DOS from scratch under the GPL - development continues.
- FreeDOS-32 extended version of FreeDOS with restricted backward compatability - development continues.
- Microsoft Windows in various forms,
- Windows 3.1
- Windows 95 and derivatives
- Windows NT and its derivatives
- OS/2 from IBM
- BeOS
- ReactOS GPL Licenced NT compatible kernel - development continues.
- Unix varients,
There were also many other OSs that however weren't well known.
See also
- Computer hardware
- Computer software
- IBM PC
- Personal computer
- Homebuilt computer
- History of computing hardware (1960s-present)
- PC speaker
Notes
- ^ Lotus 1-2-3 and Context MBA belonged to a now-mostly-forgotten genre known as "integrated software", today exemplified by Microsoft Works and AppleWorks. Before GUIs, user interfaces were mediated mostly by command keys, and every program had a unique user interface, making it difficult for a user to master more than one or two programs. And the lack of hard disk drives made programs slow to launch, making it inconvenient to use more than one program to accomplish a task. In response to this, monolithic multifunction "integrated" packages arose. Lotus 1-2-3 was built as a three-function "integrated" program: spreadsheet, database, and chart-making. Context MBA included these functions plus a spreadsheet and terminal emulator, the same five functions to be included years later in Lotus Symphony
External links
PC Resources
- Build Your Own PC – A guide to building your own PC.
- The PC Guide! – Contains detailed historical and technical information. Many resources about PCs and some links.
- WiredGuide Resources Page – A collection of links to PC resources.