The original "PC" (Personal Computer) was an IBM idea to make computing available to individuals via relatively inexpensive construction, using off-the-shelf parts. IBM did this in Boca Raton, Florida, 1982. IBM and other large computer makers initially underestimated demand for individual access to computers, principally because, previously, time-sharing and waiting in queue for batch processing was required to access computers.
Waiting in queue for computing access was so frustrating that the promise of one’s own computer inspired huge demand.
A PC is quite modular, consisting of about a dozen components:
System board a.k.a. the motherboard
Central processing unit (cpu)
Memory (a.k.a. Random Access Memory ... RAM)
Floppy disk drive
CD or DVD drive
Hard disk drives
Network Interface Card (NIC) or modem
The source of PC market-share strength and influence comes from PC standards. Production volume of standard components lowers costs to users. Significant user demand lowers design and production risk to manufacturers.
Many of the standard items in a computer (storage drives and plug-in
cards) are referred to as “devices”. Physically
constructing a PC is usually trivial, compared to installing the operating
system, configuring the communications and installing software
applications. The components plug into standard slots and are connected
with standard cable fittings, designed to only connect one (proper) way.
So, you should not fear opening the computer case to add components etc.;
in fact, it would pay you to get used to doing so.
Devices communicate with the central processing unit (CPU) via an electronic network, called a communication bus. The CPU is orders of magnitude faster than the supporting devices in a PC. Much of PC design involves working around bottlenecks, presented by differences in device speeds. For instance, the CPU can execute millions of instructions per second (MIPS); but, memory takes nanoseconds (ns) and permanent storage devices take milliseconds (ms) to feed instructions to the
cpu. The table below illustrates relative access-time differences between typical devices from slowest to fastest.
50-500 milliseconds (ms) - CD-ROM drives
125 ms - floppy disk drives
12 ms - hard disk drives
8 - 70 nanoseconds (ns) - RAM - DRAM (SIMMs)
20 - 100 MIPs Cpu
The cpu is so much faster than the storage devices that the cpu has to wait for storage devices to catch up - in order to keep the cpu busy i.e. to fully utilize the cpu. To prevent these cpu wasteful "wait states", engineers employ memory reservoir pools for storage-device output, called "cache" memory. The next illustration shows how cache storage memory is used to minimize the cpu waiting for slower devices. Despite these engineering optimization efforts, most PC cpu’s
spend 99% of their time idle! … waiting for instructions. What is important for you to get out of this perspective is that anything that can be done to enhance performance of supporting devices, especially disk storage, contributes dramatically to the perceived performance of the PC.
Memory vs storage
Many people, who have been using PC’s for years, incorrectly interchange the terms memory and storage. Understanding the difference is central to understanding PC’s. When the power to a PC is turned off, memory goes blank i.e. is “forgotten”; storage is “persistent” (i.e. not “forgotten”) when the power is turned off. Hard disks, floppy disks, tapes, CD’s and DVD’s are examples of storage media, which retain their files when the power button turns the PC off. Random Access
Memory (RAM) does not retain its contents (is not “persistent”) when the power button turns the PC off.
Computer cpu’s use transistors, which switch either on or off, to process this binary (on/off) language of computers, expressed as zeros or ones in compiled programs. CPU's employ millions of transistors to process millions of instructions per second. Programs are predefined files of instructions. Since binary computer language, called assembly language, executes quickly in the computer, but takes forever to program anything useful to an end-user, higher-level languages are
used to call previously-defined routines. Intermediate level languages, like C, C++ or Pascal are nearly as fast as assembly language. Higher-level languages, like Visual Basic or Java, trade off speed for faster programming. Everything, including the operating system, programs and user data, is stored in files for processing by the cpu in memory (remember, not storage); in fact, even folders/directories are files! (The previous sentence is, perhaps, the single most important thing to
understand about computers; it is well worthwhile for you to re-read it, memorize it and ponder it until you fully understand what it implies.)
The lowest-level program in the computer is the Basic Input Output System (BIOS), which detects and presents the various devices in a PC to the operating system. The process during which the BIOS detects what devices are available is called Power On Self Test (POST).
The operating system manages the PC devices, detected by the BIOS, for the end-user programs, such as the office suite (word processor, spreadsheet etc.) and communications programs (web browser, e-mail etc.).
Starting a PC is called “booting” the PC. First, the BIOS POSTs; then, the operating system starts. Upon completing the boot process, a computer is ready to run programs for a user.
Memory Addressing Modes
The original PC operating system by Microsoft was called the Disk Operating System (DOS), because floppy disks had to be inserted each time the computer was turned on. DOS permitted applications to address memory directly, called operating in real mode. Unfortunately, real mode applications can inadvertently write to another application's addresses, which will crash the operating session. New PC operating systems, like NT, Windows 2000, Windows XP and Linux, control memory
addressing for applications, preventing them from writing on one another's addresses and crashing the system (as much); this is called operating in protected mode.
Which type operating system should I use?
When DOS was first written, 640 kilo-bytes of memory was more than early programs needed. DOS was designed with a memory limitation of one megabyte, thinking that one megabyte was far more than anyone had in their PC or needed. The Microsoft 3.x and 9.x operating system families, including Windows Millenium, use memory manager programs to point to additional memory. These operating systems run all user applications in a single memory-managed environment. When one application
misbehaves or crashes, all open programs are affected, crashing the whole system and requiring a re-boot. Commercial-grade operating systems such as Unix, Linux, Windows NT, Windows 2000 and XP run each user application in a separate memory space. If one application misbehaves or crashes, only that application need be shut down and re-started. The whole computer doesn’t lock up and need re-booting. Because these more-stable operating systems are preferable, Microsoft has been trying
hard, since the mid-90’s, to move users to these superior operating systems.
Graphical User Interfaces (Windows)
Only a small portion of the population has time for the arduous challenge of dealing with cryptic command-line programming syntax. Graphical user interfaces (GUI), permit point & click computer-human interaction with a pointing device, called a mouse. Graphical user interfaces require more megabytes of memory; however, memory prices have declined with volume production advances. Graphical user interfaces present buttons (to be single-clicked) and icons (to be double-clicked)
on the “desktop” of the monitor. When a users clicks a button or icon, a command (often long and cryptic, including “switches” and other parameters) is executed without the user having to type that command. This convenience and speed has lowered the level of complexity to acceptable levels for many users, who would, otherwise, not use computers.
There are infinite reasons to access information (e.g. data files) on other computers. In commercial settings, computers are often directly connected by wire (Category 5 standard cable) forming networks. When computers cannot be directly connected, phone lines are used. However, since computers communicate in digital terms (zeros and ones) and the phone system was designed for voice communication,
using analogue (non-digital) amplitude modulation, a device, called a modem (to
modulate/demodulate), is needed to convert between digital and analogue standards.
Academic, government and commercial computers are connected in a network of networks, called the Internet. If one doesn't have an institution connection, a number of Internet providers (e.g. Earthlink, America Online and telco cable-modem firms) make Internet services available, such as electronic mail (e-mail), newsgroups, website browsing, as well as local access dialup phone numbers. The analog nature of phone line standards limits modem speeds to approximately 6 kilobytes per second.
While this is adequate for text, it is woefully slow for graphics. The rate of data transmission is referred to as bandwidth. Alternatives with higher bandwidth are becoming available, such as DSL (Digital Subscriber Lines) and cable modem service. The following table illustrates differences in bandwidth communication speeds.
Networking Technology - Bandwidth speed
Analog modem - 6 kilobytes per second (K-bytes)
DSL 40-50 K-bytes/second
cable-modem 300 – 800 K-bytes/second
Ethernet network 10 Megabytes per second - 100 Megabytes per second
Fiber-optic network - Gigabytes per second
When someone addresses mail to you (e.g. to Mary Smith 100 Main Street, SomeWhereIn, Nebraska, USA), the sender implicitly relies upon that address as being a unique place in the world; therefore, that mail should not be delivered to Australia, for example. When computers are connected to the network of networks, that we refer to as the Internet, unique addresses are required to get communications (such as Email) to the intended computer. This is done with four numbers,
separated by periods, sometimes called a dotted quartet or an IP (Internet Protocol) address. For example, 220.127.116.11 is a Microsoft.com IP address. Each of the four numbers can range up to 256 (2 to the 8th power). Note that because computers work by turning transistors on/off, represented in compiled program code by zero’s or one’s, many computing standards are expressed in base 2 arithmetic.
A domain is a group of networked computers. In the previous example, Microsoft.com is an example of a domain name. For us humans, domain names are more intuitive than IP addresses (those numbers). To translate IP addresses to domain names, databases tables are used and stored on computers called Domain Name Servers (DNS). For most users, IP addresses are assigned dynamically (i.e. the IP address can change each time to computer joins the network) via Dynamic Host Control
Protocol (DHCP); computers supporting a domain name (e.g. a web site) require static IP addresses - so the IP address won't be changing on the DNS server.