When Hardware No Longer Defines the Computer
Foundations of Computation: Part 13 of 13
Last week, we looked at how the server emerged as a role as formerly isolated computers became connected through local networks. A server was not necessarily a new class of computer in the same sense as a mainframe, minicomputer, microcomputer, or supercomputer. Instead, the term increasingly described what a computer did within a network: it provided files, applications, printers, databases, or other resources to other computers.
That distinction creates a problem for the computer classifications we have been using throughout this series. Mainframe, minicomputer, microcomputer, and supercomputer are useful categories because they describe real differences in architecture, scale, cost, access, and intended use. For much of computing history, those characteristics were also closely connected to what a computer was expected to do.
Networking began to weaken that relationship. A computer could still be classified according to its hardware and architecture, but those characteristics no longer necessarily described its function within a larger system. Two computers built around similar hardware could perform very different jobs depending upon their operating systems, software, configuration, and relationship to other computers.
The older classifications did not disappear. Instead, another way of understanding computers became increasingly important. We could still ask what kind of computer a machine was, but we also needed to ask what role it performed.
When Hardware Suggested Function
The computer classifications discussed earlier in this series developed because hardware, economics, and use were closely related. A computer’s architecture and resources placed practical limits on what it could do, while its cost helped determine who could afford to own and operate it. Those constraints contributed to recognizable classes of computers that tended to be used in recognizable ways.
Knowing that a system was a mainframe, minicomputer, microcomputer, or supercomputer told us more than what hardware it contained. The classification also suggested who used the machine, how it was operated, and what kinds of work it was likely to perform.
Hardware and Use Were Closely Connected
Mainframes were expensive centralized systems designed to support institutional workloads and many users. Minicomputers brought shared computing into departments, laboratories, businesses, and smaller organizations. Microcomputers reduced the scale further, placing relatively inexpensive computing resources directly in front of an individual user. Supercomputers followed a different path by concentrating substantial resources on specialized computational workloads.
These distinctions involved more than raw performance. Each class represented a combination of characteristics that influenced how the machine could reasonably be used:
- processor and memory architecture,
- storage and I/O capabilities,
- number of simultaneous users,
- physical size and supporting infrastructure,
- purchase and operating costs,
- reliability requirements,
- and the workloads for which the system was designed.
A machine’s class also carried expectations about its function. A personal computer was generally expected to serve the person sitting in front of it. A mainframe or minicomputer provided computing resources to multiple users. A supercomputer performed computational work that justified its specialized architecture and expense.
Useful Categories, Not Absolute Boundaries
These classifications were never absolute. Their boundaries changed as technology improved, and individual systems did not always fit neatly within them. A powerful microcomputer could overlap with the capabilities of lower-end minicomputers, while newer generations of smaller machines could outperform older systems from supposedly larger classes.
That overlap did not make the categories useless. Hardware characteristics and operational function remained closely related enough that the classification provided a reasonable starting point for understanding the system.
Networking made that starting point less complete. A computer no longer needed to contain all of the resources used by the person sitting in front of it, and the resources contained within a computer no longer needed to be used only by that person.
The Workstation Complicates the Picture
The workstation illustrates this transition particularly well. It provided substantial computing resources directly to an individual user while commonly operating as part of a larger networked environment. Computing could occur locally without requiring the machine to remain operationally isolated.
The workstation combined characteristics of two earlier computing models. It retained the local independence associated with the microcomputer while taking advantage of shared resources traditionally associated with larger systems.
More Than a Terminal
A traditional terminal primarily provided an interface to computing resources located elsewhere. The processor, programs, storage, and operating environment belonged to the central system. The terminal allowed the user to interact with those resources but did not normally provide an independent general-purpose computing environment of its own.
A workstation did. It contained its own processor, memory, storage, operating system, and applications. A user could perform substantial work without sending every operation to another computer.
In this respect, the workstation shared an important characteristic with the personal computer. Meaningful computation happened locally.
Local and Remote Resources
The workstation, however, was commonly intended to participate in a network. Files might reside locally or on another machine. Printers could be shared. Data could be retrieved from remote systems. Programs could execute locally while relying upon resources provided elsewhere.
The difference can be summarized through four general models:
- Terminal: primarily accesses computing resources located elsewhere.
- Standalone personal computer: primarily uses its own local computing resources.
- Networked workstation: provides substantial local computing resources while also consuming resources and services provided by other systems.
- Server: primarily provides resources and services for use by other computers and users.
The boundaries between these models were not absolute. What mattered was that networking allowed local and shared computing to coexist within the same environment.
These models describe where computing resources are located and how they are used. They do not necessarily describe four different kinds of hardware.
When Workstation Describes Both Machine and Use
Workstations from companies such as Sun, Apollo, DEC, HP, and SGI formed a recognizable market. They often provided hardware and capabilities that distinguished them from ordinary personal computers of the same period, so workstation could legitimately describe a class of computer.
At the same time, the term said something about how the machine was used. A workstation provided an individual computing environment while remaining part of a larger networked system.
As personal-computer hardware became more capable, the distinction became less obvious. PC-compatible machines increasingly performed work that had previously justified specialized workstation hardware. The hardware still mattered, but hardware alone was becoming less useful for determining the machine’s place within the larger system.
Networking Separates the Machine From Its Function
A standalone personal computer primarily provides resources to its local user. Its processor executes that user’s programs, its storage contains the user’s files, and its peripherals exist primarily for that user’s use. The machine can perform many different kinds of work, but its operation remains centered upon the person sitting in front of it.
Networking allows those resources and functions to cross machine boundaries. The physical location of a resource no longer needs to correspond with the physical location of the person using it.
Resources Move Across Machine Boundaries
A file does not necessarily need to reside on the user’s local disk. A printer does not need to be attached directly to the computer sending it a document. Applications and databases can operate on another system. Authentication and other shared functions can be provided centrally.
Functions can be divided among machines:
- one computer can provide shared storage,
- another can provide printing,
- another can host applications or databases,
- while individual computers consume those services and continue performing their own local computation.
The network becomes more than a connection between otherwise independent computers. The machines begin forming a larger computing system in which resources can be provided and consumed across computer boundaries.
Similar Hardware, Different Jobs
A PC-compatible machine might sit on someone’s desk and operate primarily as an individual’s computer. Another machine based upon similar hardware might sit elsewhere and provide files, applications, or other resources to everyone on the network.
The underlying hardware lineage has not necessarily changed. The job assigned to the machine has.
The hardware may remain substantially the same while the machine’s role changes.
The server role discussed in the previous article illustrates the same change from another direction. If server describes a role rather than a fundamental hardware class, knowing the hardware class alone cannot tell us whether a particular machine is acting as a server.
Operational Roles Describe Relationships
Terms such as client, workstation, file server, print server, and database server describe computers according to what they do and how they relate to other computers.
That differs from describing a system as a microcomputer, minicomputer, mainframe, or supercomputer. Those classifications tell us something about the machine itself. Operational roles tell us something about its function within a larger computing environment.
The same computer can be described in both ways. It belongs to a hardware lineage while also performing one or more operational roles.
The Operating System Helps Define the Role
Hardware places limits on what a computer can do, but hardware capability alone does not determine how effectively a machine can perform a particular role. The operating system determines how the processor, memory, storage, processes, users, and network connections are managed. As PC hardware became increasingly capable, the operating environment became an important part of determining how that hardware could be used.
PC operating systems provide a useful example.
DOS and the Standalone Personal Computer
MS-DOS reflected the personal-computer environment from which it emerged. Its operating model assumed one person using one computer, with programs and resources primarily located on that machine.
DOS computers could participate in networks. Network software allowed them to communicate with other systems and access shared resources, and specialized software could make PC hardware provide resources to other machines. Networking itself was not the problem.
DOS had not been designed around the multi-user and multitasking environment traditionally associated with systems providing shared services. A capable PC might possess the processor, memory, storage, and network interface needed for a particular role while its operating environment made that role difficult to implement effectively.
Hardware capability does not guarantee that the operating environment is well suited to every role the hardware could theoretically perform.
Windows Builds on the Personal Computer
The first generations of Microsoft Windows 1.x, 2.x, and 3.x did not replace DOS. They provided a graphical and increasingly capable environment that operated with DOS underneath it. They expanded how the personal computer could be used, but they remained connected to an operating model that originated with the standalone PC.
Windows 95, 98, and Me moved considerably further. Windows increasingly appeared to the user as the operating system itself, while networking, multitasking, hardware support, and resource sharing became normal parts of the environment. These systems could participate effectively in networks and provide some resources to other machines, but they still retained substantial architectural ties to DOS and the earlier Windows lineage.
Windows NT represented a different approach. Rather than continuing the DOS architecture, NT was designed as an independent operating system with preemptive multitasking, protected memory, user accounts, security, networking, background services, and support for workstation and server operation. Its early POSIX subsystem also reflected an effort to support established operating-system standards beyond the DOS and Windows environment.
The distinction became visible even in Microsoft’s product names. Windows NT Workstation and Windows NT Server used closely related operating-system technology on PC-derived hardware while explicitly identifying different intended roles.
Windows NT Workstation and Windows NT Server made the distinction visible in their names: closely related technology could be configured around different operational roles.
UNIX Follows a Different Path
UNIX did not emerge from this development of DOS and Windows. It belonged to the older world of shared computing that we examined earlier in this series.
UNIX developed in the world of shared computing, initially on minicomputer hardware, and spread across larger systems and technical workstations. Multi-user operation, simultaneous processes, permissions, shared resources, and remote access were not additions to a personal-computer model. They were part of an operating tradition that had developed while computing resources were commonly shared among users.
As hardware became smaller, faster, and less expensive, that operating model could move with it. UNIX systems appeared on workstations, BSD-derived systems became available on increasingly accessible hardware, and Linux eventually brought a UNIX-like operating environment directly into the rapidly expanding world of PC-compatible machines.
While Microsoft was developing its own operating-system lineage, UNIX and UNIX-like systems were moving onto increasingly accessible hardware. Different operating traditions could now operate on similar classes of machines.
Microcomputer-derived hardware was moving upward in capability while an operating model developed for shared computing was moving onto smaller and less expensive machines. Networking gave those developments a place to meet.
Why UNIX fit this environment so naturally is a larger question. For now, its movement onto increasingly accessible hardware demonstrates how far the relationship between hardware class and operational function had changed.
Role Becomes Another Layer of Classification
The older computer taxonomy had not disappeared. A mainframe remained different from a PC-compatible computer, and a supercomputer remained different from a workstation. Those classifications continued to describe meaningful architectural and practical differences.
They no longer described the whole system.
Networked computing increasingly required looking at a system in layers. The physical hardware remained one part of the system, while the operating environment determined how that hardware was managed. Above that, applications and services determined what the computer actually provided, while the network defined how those functions became available to other systems. Each layer described something different, but all of them contributed to the behavior of the computer as a whole.
| Layer | What It Helps Describe |
|---|---|
| Hardware classification | What kind of physical and architectural system the computer is |
| Operating environment | How hardware, processes, users, storage, and networking are managed |
| Operational role | What functions the computer performs |
| Network relationship | Which resources the computer provides to or consumes from other systems |
These layers interact. Hardware constrains which operating systems and workloads are practical. The operating system manages capabilities that allow the machine to perform particular roles. Those roles help determine how the computer participates in the network around it.
Hardware describes the machine. The operating environment manages its capabilities. Operational roles describe what it does. Network relationships describe how those functions connect it to other systems.
One Machine Can Perform Multiple Roles
Operational roles do not necessarily correspond one-to-one with physical machines. A computer might provide file storage while also handling authentication, printing, or remote access. Another might function as someone’s workstation while simultaneously making some of its own resources available to other computers.
Calling a machine a server does not necessarily tell us that it performs only one function. It tells us that at least some of its resources or services are being provided for use elsewhere.
The same applies in the other direction. A workstation can consume network services while still providing substantial local computing resources. Client and server describe relationships that can coexist with other descriptions of the same machine.
Different Machines Can Perform Similar Roles
Role does not erase differences between hardware classes. A PC-compatible computer and a mainframe might both provide applications, storage, or other services to users without becoming equivalent systems.
Their architectures, capacities, reliability characteristics, I/O capabilities, and expected scales can remain substantially different. What they share is a function within their respective environments.
Hardware classification and operational role answer different questions. One describes the machine. The other describes what that machine is doing.
Hardware Still Matters
The emergence of operational roles does not make hardware irrelevant. Processor performance, memory capacity, storage, I/O bandwidth, reliability, expandability, and architecture continue to place practical limits on what a system can reasonably accomplish.
A PC providing files to several users does not become equivalent to a mainframe merely because both machines are acting as servers. Likewise, calling two systems workstations does not imply that their capabilities are identical. Operational role describes function, not equivalence.
Hardware tells us what kind of machine we have. The operating environment helps determine what that machine can do. Operational role tells us what it is doing within the larger system.
These descriptions become increasingly useful together because networked computers are no longer understandable solely as isolated physical machines.
Understanding Computers as Parts of Systems
Earlier computer classifications encourage us to begin with the machine. We examine its architecture, resources, scale, and capabilities and use those characteristics to understand what kind of computer it is. That perspective remains useful, but networking requires us to widen the frame.
A networked computer exists in relation to other computers. It may provide resources, consume resources, or do both. Its local hardware matters, but so do its operating system, software, configuration, and connections. Understanding the machine increasingly means understanding its place within the system around it.
We can still ask, What kind of computer is this? But that question is no longer sufficient by itself. We must also ask what the computer does, which resources it provides, which resources it consumes, and how it interacts with the other systems around it.
This is one consequence of the transition from isolated personal computers to networked computing. Mainframes, minicomputers, microcomputers, and supercomputers remain useful classifications, but networking adds another perspective.
The computer is both a machine and a participant in a larger computing system.
Summary
Traditional computer classifications developed because architecture, scale, economics, and expected use were closely related. Mainframes, minicomputers, microcomputers, and supercomputers described more than physical machines; the categories also suggested how those machines would normally be operated and what kinds of work they would perform.
Workstations and networked personal computers began weakening that connection. A computer could possess substantial local resources while also consuming resources from other systems, and increasingly similar hardware could be configured for very different purposes. The machine’s place within the network became another important part of understanding what the computer was doing.
Operational role became an additional way of describing computers rather than a replacement for the older taxonomy. Hardware classification describes characteristics and lineage of the machine, while operational role describes what that machine does within a larger system. The operating system sits between those ideas, helping determine which roles the available hardware can effectively perform.
That relationship brings us to another development in networked computing. If similar hardware can perform very different roles depending partly upon its operating environment, then the design of the operating system becomes increasingly important. UNIX and the systems derived from its model were particularly well suited to this environment, bringing ideas developed for shared multi-user computing into a world increasingly built from networked computers.
More from the "Foundations of Computation" Series
- Foundations of Computation: From Mechanical Systems to Early Electronic Computers
- Interfaces, Storage, and Early System Structure
- Mainframes, Minicomputers and Microcomputers
- Cray Supercomputers
- Computing History and Shared System Design
- 8-Bit Personal Computing and Fragmentation
- IBM PC Platform and Early Standardization
- The Technologies We Carry: Why Some Computers Become Part of Our Story
- BBS to Internet: Local to Global
- Experiencing DOS Today with FreeDOS and VirtualBox
- From Isolated Computers to Local Area Networks
- The Server Emerges as a Role
- When Hardware No Longer Defines the Computer