next up previous
Next: Booting Up: Personal Computers Previous: Personal Computers

Hardware and Software

A computer is a collection of hardware, including a processor (CPU), memory (RAM), storage space (disk drives, including removable media like floppies and CD-ROM's), and peripheral devices (external devices such as a keyboard and mouse, monitor, printer; internal devices such as video, sound, and network cards, and a modem). The peripheral devices are, generally, the hardware you interact with directly, and the ones that make a computer enjoyable or useful. To a computer scientist, though, the CPU (central processing unit), RAM (random access memory), and storage device(s) (disk drives) are the central elements of a computer.

There is no harm in opening up your computer's case as long as all the external cables are disconnected and no dirt or moisture gets into the case. You must electrically ground yourself (by touching the metal frame of the case) before touching any components; a static discharge from your finger can permanently damage the electronics. Here is the rough anatomy you will find inside the case. The physical devices inside your computer's case are connected via the motherboard, a printed circuit board about the size of a piece of letter paper. The CPU is a silicon chip the size of a large postage stamp, embedded in a socket directly on the motherboard; it is hidden beneath a ``heat sink,'' which looks like a miniature radiator and may have a small fan attached. The RAM is on one or more ``memory modules''; a modern DIMM (Dual Inline Memory Module) has sixteen small chips embedded on a circuit board the size of a mailing label. A row of pins (electrical connections) runs down one side, and plugs directly into the motherboard. The disk drives are mounted on brackets inside the case, and are connected to the motherboard by ribbon cables. The hard drive itself is smaller than a paperback novel, and usually has a solid metal case with few external features other than cable and power connectors. The internal peripheral devices (video, sound, and network cards, modem) are circuit boards about the size of an index card4 that are plugged into sockets on the motherboard; the connectors in the back of the case are the back edges of these devices. The keyboard and mouse plug directly into the motherboard, also via connectors in the back of the case.

By itself (even if properly connected to a power supply), plain hardware is inert. The instructions ( programs) that make a computer run are generally called software. Most of the software you see is ``application software,'' such as web browsers, word processors, spreadsheets, and games. On a GNU/Linux system, you will interact frequently with a shell, a program that provides you with a prompt and waits for you to type commands. Other programs, whose operation is one level removed from the user, include the display manager, which translates between running application programs and the low-level software that controls the video card and draws on the monitor, and daemons (or  servers), which run silently, waiting for input (such as printer jobs, email, or incoming network requests) or monitoring the state of the system. Underlying everything is the operating system, comprising a core program called the kernel and a collection of system utilities and device drivers, which tell peripheral devices how to work. In GNU/Linux, drivers (usually called ``kernel modules'') are small parts of the kernel that are loaded into memory as needed.5 The operating system manages the hardware and all running processes, especially allocating memory and processor cycles to various programs, and conveying data between devices and programs. Windows, MacOS, and GNU/Linux are examples of operating systems for home computers.

Computer hardware comes in a variety of architectures. This note focuses on the Intel PC architecture, a type of personal computer based upon the x86 family of processors (the Intel Pentium and AMD Athlon are the common examples). Most home desktop systems (and almost all that run Windows) are of this type. The Apple Power PC is a distinct architecture, based upon a Motorola CPU. In theory, any software can be implemented on (``ported to'') a particular architecture, but in practice this is difficult, and is not done unless the program is extremely useful or popular. Even if a program has been ported, software compiled on an Apple will not run on an Intel-type PC (and vice versa). GNU/Linux has been ported to the PowerPC (with superlative results, by most accounts), but is relatively poorly-supported.

The operating system determines the ``personality'' of your computer. Aside from the choice of hardware, the choice of operating system (OS) is the greatest taxonomic division among desktop computer systems. The Windows family of operating systems is by far the most widely used on Intel systems. Other operating systems are available (OS/2, BeOS, BSD, and GNU/Linux, to name a few). In the past few years, GNU/Linux has matured into a commercial-grade product, and is currently experiencing a period of explosive growth in popularity.


next up previous
Next: Booting Up: Personal Computers Previous: Personal Computers
hwang
2001-10-31