Hardware


Computer Hardware and Software
Introduction
The world of business has changed dramatically since the introduction of the first modern multipurpose computer over 50 years ago. The ENIAC (Electronic Numerical Integrator and Computer), designed by Drs. Mauchly and Eckert, two American engineers, was set up at the University of Pennsylvania in 1946. This 30-ton machine occupied a thirty-by-thirty room, contained 18,000 vacuum tubes linked by 500 miles of wiring, and could perform 100,000 operations per second. It consumed so much electricity that it dimmed the lights in the section of Philadelphia where it was housed. Thanks to the development of the integrated chip, the computer has evolved into a far smaller, more powerful, and less expensive machine. Today’s microcomputer is 3,000 times lighter than the ENIAC, performs 4000 times faster, and costs several million dollars less. Other innovations have made the computer easy enough for a child to use and versatile enough for applications ranging from astrophysics to arcade-style games. As a consequence of their decreasing size and cost, computers can be found today in virtually every corner of American society, from research facilities and corporate headquarters, to schools and homes.
You need only look around a business office to see evidence of the computer revolution. In a large office you might find a variety of computers, ranging in size from a mainframe computer housed in a room of its own, to a palm-sized “personal assistant” tucked into an executive’s briefcase. A growing number of professions rely on computers, and accounting is one of them. This introduction will provide you with the fundamentals of computer hardware and software to help you prepare for the material presented in the text.
                                         TYPES  OF COMPUTERS 
Computers can be grouped into categories in numerous ways. Table 1 below classifies the main types of computers according to their physical size, processing speed, cost, and number of users. A microcomputer, or personal computer (PC), might cost a few thousand dollars. It is a small computer that can fit on a desktop, and is appropriate for a single user. The next larger computer is the minicomputer. A minicomputer might cost tens of thousands of dollars. It is about the size of a refrigerator and, when combined with various peripherals, might fill a small room. Minicomputers often have several hundred users. Large businesses often have mainframe computers. These machines are housed in large rooms or even entire building floors. They cost up to several million dollars, and thousands of users can access the computer simultaneously. In a networked environment, minicomputers and mainframes are both frequently called servers. The largest and most expensive computer, the supercomputer, is often used in research settings and other environments that require a computer with extraordinary computing power. Some supercomputers are capable of performing several billion instructions per second.
Table 1: Types of Computers
Type
Physical Size
Processing Speed*
Cost
Number of Users
Microcomputer or 
Personal Computer (PC)
Fits in hand, on lap, or on desktop
Up to 400 MIPS
$1,000 to $4,000
One stand-alone or many may access it through a network
Minicomputer
Small cabinet; may fill a small room with accompanying peripherals
Up to 1000 MIPS
$5,000 to $200,000
Up to several hundred
Mainframe
Computer requires a partial room; may occupy several rooms with accompanying peripherals
Up to several thousand MIPS
$250,000 to $3,000,000
Hundreds to thousands
Supercomputer
Entire room of equipment
Up to 10,000 MIPS
Several million dollars and up
Hundreds to thousands
*Processing speed is commonly measured in millions of instructions per second (MIPS).  One instruction is a “basic task,” e.g., adding two 10-digit numbers or storing the result in specific location
. For comparison, the human brain is estimated to be capable of 100 million MIPS.

Computer systems can also be categorized as having either an open architecture or a closed architecture. An open architecture allows third-party vendors to develop and sell hardware and software that is compatible with the system. These vendors produce products that enhance the computer system. The IBM-compatible microcomputers are based on the open architecture design. In a closed architecture system, only one vendor makes all or nearly all of the support systems and does not allow other vendors into the market.
WHAT IS A COMPUTER? 
When we think of a computer, we generally picture computer hardware: the monitor, the keyboard, and the electronic circuitry contained within the rectangular case. There is more to a computer than this, however. The missing element is software–the instructions that tell the computer how to operate the hardware. All computers must have these two components to function. However, it is software that gives the computer one of its most distinguishing characteristics—the ability to program a single machine to perform many different functions.
In general terms, a computer is a machine operating under the control of instructions stored in its own memory. These operations and instructions enable the computer to receive data from a user (input), transform and manipulate the data according to specified rules (process), produce results (output). Additionally, data, instructions, and information are stored (storage) for future retrieval and use.  Many computers are also capable of another task: communicating directly with other machines.
The user performs the input task with a device such as a keyboard, mouse, or digital scanner. These devices allow the user to enter data and instructions into the computer. A secondary storage system stores and retrieves additional data and instructions that may also be used in the input and processing stages. This system might include magnetic or optical devices, such as CD-ROMs, hard disks, floppy disks, and tapes. The central processing system, which manipulates the data, is perhaps the most important part of the computer. This system is the “brain” of the computer in that it enables the computer to transform unorganized inputs into useful information. The central processing system includes the central processing unit (CPU) and the primary memory. The computer’s output system displays the results of the data manipulation. The output system might include a monitor, a printer, a plotter, a voice output device, or microfilm/microfiche equipment. A final element of a computer is the communication system, which passes information from computer to computer over communication media. Each of these systems is discussed in more detail below.
As noted above, computers come in many types. It would be difficult to adequately cover the variations in the components of these different computer types in a brief introduction. Therefore, we will confine the following discussion to personal computers (PCs). However, most of the discussion, especially as relating to basic computer operations, is easily transferable to other computer types.
Hardware
The term hardware refers to the tangible parts of a computer system, that is, the physical equipment of the computer. A keyboard, disk drive, and monitor are examples of computer hardware. (Software is discussed later.) Understanding the various physical components of a computer system will help you understand how the system works as a whole. As described above, the general model of a computer consists of an input system, storage system, process system, and output system. Our discussion of computer hardware will, therefore, be organized around these systems, along with communications as an additional function of which some computers are capable.
INPUT SYSTEM
An input system comprises one or more devices that the user employs to enter data or instructions into the memory of the computer so that the CPU can subsequently process them. Data, as discussed above, are unorganized facts that can become useful output by being transformed into information. Instructions may be input as programs (instructions that direct the performance of the computer), commands (instructions direct a program), and user responses (instructions from the user created by replying to a question posed by the computer). Input devices come in many forms. Some of the more common devices are described next.
Keyboard. The keyboard is one of the most common input devices. In addition to keys that represent letters, numbers, and special characters, keyboards often contain function keys, to which the user can assign personalized commands, and special-purpose keys, such as the enter key. Some keyboards contain a numeric keypad (a set of keys in the form of a calculator keypad) that is used for entering numbers conveniently and easily. Keyboards may also have Internet keys, CD/DVD controls, and multimedia keys.  While most keyboards are connected to the computer by a cable, there are wireless keyboards that transmit their input by means of infrared signals.
Mouse. Connected to many modern microcomputers is a hand-sized input device called a mouse, or pointing device. A mechanical mouse contains a ball that rolls along a flat surface, moving a cursor (pointer) on the computer screen. An optical mouse uses light signals to detect the movement of the mouse and thereby move the pointer on the screen.  Through the use of one to four buttons on top of the mouse (and a wheel on some versions of the mouse), the user can select and manipulate objects represented on the screen as icons (symbols). The mouse is a convenient and effective way to interact with the graphical user interfaces (GUIs) that dominate the current computer environment.
Touchpad. This input device is a small rectangular surface that operates by means of pressure and motion, and allows the user to perform all of the functions of a mouse by touch. Moving the fingertip across the touch pad moves the cursor across the screen. Tapping the touch pad acts as clicks and double-clicks. Touchpads are most commonly found on laptop computers.
Pointing Stick. Like the touchpad, this pressure-sensitive input device fills the role of the mouse in some laptops. It is shaped like a pencil eraser and fits between keys in the keyboard. Moving the pointing stick moves the cursor. This device is mostly found on laptop computers.
Trackball. The trackball is basically an upside-down mouse. Instead of rolling the ball on a surface as with the mouse, the user rotates the trackball with the hand directly to position the cursor on the screen.
Touch Screen. This input device is often used in public places, such as shopping centers, hotels, and airports, where users may not have much experience working with computers. The user simply touches the screen for the desired menu item.
Light Pen. This light-sensitive device is used for entering data by writing on a computer screen. Engineers, designers, and architects use light pens to draw and modify shapes on the screen.
Graphics Tablet. A graphics tablet is a flat rectangular board used to input drawings or other graphical data. The user draws on the graphics tablet with an electronic pen or a mouse-like device (called a puck). The drawing movements are converted into digital signals that are sent to the computer as input. Architects and mapmakers commonly use this input device.
Speech Recognition Devices. These devices recognize the words spoken by users. Sample voice patterns are analyzed, digitized, and stored in a database. Later, during operations, actual voice inputs are compared with the stored voice pattern. Speech or voice recognition technology is best suited to structured input applications in work environments where the user’s hands are occupied. For example, a receiving clerk may enter data about items received with the following phrases:
n            “Invoice 998810”
n            “Item 56213”
n            “Quantity 100”
n            “Condition Good”
From these inputs, the speech recognition system will create a record of items received by a receiving clerk.
                Audio Input Devices. In addition to speech recognition devices, sound may be entered into computers with audio input devices. These devices allow music, speech, and other sound effects to be used as input. Sound may be entered through a microphone, electronic piano keyboard, tape player, and CD player. For high quality sound recording, a sound card needs to be installed in the computer. For some electronic input devices a special serial port, called a musical instrument digital interface (MIDI), is required.
                Video Input Devices and Digital Cameras. Video input devices and digital cameras allow optical and graphical images to be entered into the computer for storage and processing. Digital cameras allow the user to store still-pictures as digital files (for example, .jpg’s and .gif’s) that can be used by the computer like other graphic images. They may be edited, e-mailed, printed, faxed, inserted into documents, and displayed on the monitor. Video input devices enable the user to store and process full-motion images generated from camcorders and VCRs.
Automatic Teller Machines (ATMs). ATMs have revolutionized banking by extending “bankers’ hours” to 24 hours a day. ATM users can borrow cash, transfer funds, and make deposits at their convenience. Most ATM devices employ some sort of card input that contains information about the user. The user inserts the card and is prompted to enter a personal identification number (PIN) to authorize access. If the user fails to enter the correct PIN after three attempts, the ATM will assume an unauthorized person is attempting an illegal access. It will then implement a predetermined action. This may be to lock the user out of the system or have the ATM destroy or confiscate the access card. In any case, the user will need to appear in person at the bank and reestablish access authority.
Point-of-Sale (POS) Devices. POS terminals are found in many kinds of retail businesses; for example, grocery stores. Most POS terminals use some type of optical scanning device, usually involving laser beams, for reading the product code on an item. The product code, sometimes called a bar code, is the primary key for retrieving the price and description data from the database.
Magnetic Ink Character Recognition (MICR) Devices. MICR devices read characters printed in magnetized ink on documents. The banking industry, in particular, has made extensive use of MICR for reading and processing checks and deposit slips.
Optical Scanning Devices. Optical scanning is the process of digitizing textual or graphic images. The scanner is a light-sensing device that converts an image into an analog signal that in turn is converted into a digital signal for computer storage and processing. The resulting file is called a bitmap (.bmp files). Optical scanning is a popular technique for capturing photographs for computer usage but it may also be effectively used with printed and handwritten text.
Optical Character Recognition (OCR) Devices. OCR devices convert typed and, in some cases, handwritten data into electronic input. This allows paper source documents to be converted to electronic form without rekeying. Although OCR devices can recognize handwritten characters and a variety of fonts and typefaces, this technology is not perfectly reliable. In spite of high error rates, OCR is a cost-effective means of converting large volumes of source documents that otherwise would need to be keyed manually.
Optical Mark Recognition. This input device is able to read the hand-drawn marks and darkened in fields placed on surveys, tests, and questionnaires.
One notable aspect of input devices is the degree to which a device eliminates the need for manual data entry. Manual data entry is a common source of error. Some input devices require fully manual data entry; e.g., keyboards. Others have done away with manual entry completely; e.g., optical scanners.
Storage system
Inputs are sent to either memory or storage, waiting subsequent processing by the computer. With regards to computers, there is a commonly accepted distinction between the terms memory (or primary memory) and storage (or secondary storage). Memory refers to the instructions, information, and data waiting for immediate processing. For this reason, memory is also referred to as working memory. Memory is saved electronically on memory chips. Storage, information and instructions are saved on magnetic or optical media. It is faster to access data and instructions from primary memory than from secondary storage media, but the information in memory is usually volatile; i.e., it disappears when the computer’s power is turned off. (Actually, the situation is a bit more complicated because there are also some types of memory that are nonvolatile. These will be discussed in the "Central Processing System" section below.) The information saved in storage media is nonvolatile and remains in the computer even when power is off. In general, data and instructions are kept in secondary storage when not needed for processing. When required for processing by the CPU, they are retrieved from storage, sent to memory, where kept until processed.
Storage systems have two components: the storage medium (e.g., a disk or a tape) that contains the saved information and the storage device or drive that reads from and writes onto the storage medium. Permanent, non-volatile storage media include floppy diskettes, installed hard disks, compact disks (CDs), magnetic tape cartridges, removable hard disks, and superfloppies. Storage and memory are usually measured in bytes, which consist of 8 bits (binary digits of 0 or 1).  A single byte is used to encode a single character (letter or number).  One thousand bytes are a kilobyte (KB). One million bytes are a megabyte (MB). One billion bytes are a gigabyte (GB). One trillion bytes are a terabyte (TB).  For comparison, the average book contains about 1 MB of information and the storage capacity of human memory is about 10 TB (or 1 million books).
Floppy diskettes employ magnetic storage technology. The disks are 3.5-inches in diameter and are easily portable. A single floppy can hold 1.44 MB.
Hard disks are also magnetic-based storage media. Both the hard drive and the hard disks are usually installed inside the computer. Portable external hard drives are connected to the computer by a cable. Current PC hard disks typically have a capacity from 2 to 50 GB. Hard drives have a faster data access time than floppy disks. Data access time is the time required to locate a piece of stored information in storage and retrieve it into primary memory or the CPU.
Compact disks are optical storage media that employ laser technology. CDs are 4.75 inches in diameter and can hold up to 680 MB (the equivalent of 450 floppies). CDs are often read-only, although many PCs are now equipped with CD drives that allow the user to record information on the CD. Some writable CDs can be recorded on only once. These are designated as CD-R (compact disc-recordable). Others CDs can be recorded on multiple times and are designate as CD-RW (compact disc-rewritable). Video data (e.g., movies) can be stored on a specialize type of CD called CD—DVDs (digital video discs). As with CDs, there is recordable variation of DVDs (DVD-R) that allows the user to record video data from his or her computer, provided that the computer is equipped with a DVD writer.
Magnetic tape cartridges use magnetically treated plastic ribbon to store information. Tape cartridges can hold large amounts of information, up to 80 GB. One disadvantage of tape storage is that information must be accessed sequentially. For example, to retrieve information storage in the middle of the tape, the entire first half of the tape must be run. Disks, on the other hand, allow for direct (or random) access, which means that a piece of information may be located immediately. Magnetic tape cartridges, of course, require magnetic tape drives.
Removable hard disks are magnetic-based hard disks that can be removed from the hard disk drive and easily transported. The disk drive that reads from and writes onto the removable hard disk is either installed in the computer or attached to the computer by a port. The portable hard disk is encased in a plastic or medal container for protection. The disks typically can store up to 2 GB. The Jazâ disk by Iomega is a popular example.
Superfloppy diskettes are magnetic-based high-capacity floppy diskettes. The disks are about the same size as the standard 3.5-inch disk, but require special disk drives for reading from and writing to the disks. Disk drives may be permanently built-in the computer or externally connected to the computer through a port. Three popular superfloppies are the Iomega Zipâ disk, which can store up to 250 MB, the Sony HiFDä disk, with a capacity of 200 MB, and the Imitation SuperDiskä, which can hold 120 MB.
PROCESSING SYSTEM
Once data has been input into the computer and stored, the computer must be able to retrieve and manipulate it in useful ways. This task is handled by the hardware that makes up the central processing system, which includes the primary memory, the central processing unit (CPU), expansion cards, ports, buses, and connectors. The various parts of the computer system are connected through a printed circuit board called the system board or motherboard. The system board contains the primary memory, the CPU, the system clock, expansion slots, and expansion ports. In a PC, the central processing system is housed a box-like case called the system case or system unit.
MEMORY. As discussed above, instructions and data needed for immediate processing are usually placed in memory.  A computer has two types of memory: volatile and nonvolatile. They are used for the long- and short-term retention of information, respectively. RAM and cache are examples of volatile memory—the primary memory. ROM and CMOS are examples of nonvolatile memory.
Random-access memory (RAM) temporarily holds data, the operating system (instructions that control the computer’s operation), and application software (instructions that manipulate data). The operating system resides in RAM only while the computer is turned on. The application software remains in RAM only while it is being used. Unless there is enough RAM to hold the application software for more than one program at a time, when new application software is retrieved from secondary storage, it is loaded into RAM, replacing the application software that was previously residing there. Most current computers have enough RAM to run several applications simultaneously, a process called multitasking. Data and instructions about to be processed are in RAM, as are the output of the processes. Recall that the data and instructions in working memory (i.e., RAM) are electronically stored, as opposed to being magnetically or optically stored. Thus, when the computer is shut down, all instructions and data in RAM are lost because the flow of electricity ceases. In RAM, any address can be randomly accessed at any time; hence the name random-access memory.
Cache memory is very fast RAM. It is used to store frequently used instructions. Computers that have cache memory process data faster than computers without it because data travels faster from cache to the CPU than from RAM to the CPU. Some cache is built directly in the processor chip, while other cache is in a chip external to the processor chip.
Read-only memory (ROM) contains instructions that the computer uses to operate various aspects of the hardware. Unlike RAM, the information stored in the ROM chip is not lost when the computer is turned off. However, this information is written in the factory and cannot be altered by the user. ROM, for example, contains the instructions the computer follows to load the operating system when first turned on.
Complementary metal-oxide semiconductor (CMOS), like ROM, is also nonvolatile memory. Unlike ROM, the user can change CMOS. For example, CMOS contains date and time information that the user can update.
CENTRAL PROCESSING UNIT (CPU). The CPU consists of two components—an arithmetic/logic unit (ALU) and a control unit. The ALU performs arithmetic calculations (addition, subtraction, multiplication, and division), comparisons (greater than, less than, and equal to), and logical operations (and, or, and not). All transformations of "meaningless" data into "useful" information ultimately are the result of these three functions. The control unit retrieves instructions and data from primary memory and determines which instructions the ALU will carry out. The CPU also contains registers, which are temporary holding areas where data resides before an instruction is executed. Note the multiple layers of information retention required by the computer: storage (where information is kept long-term), memory (where information is kept short-term), and registers (where information is kept during processing). In a PC, the CPU is usually contained in one chip, called the microprocessor or simply, processor; e.g., the Intel Pentiumâ III and the AMD Athlonä. In larger computers, several chips are required.
The processing or transformation of data into information is called the Processing or Machine cycle. The Machine cycle consists of two subsidiary cycles called the Instruction cycle and the Execution cycle, each performing two processes, for a total of four stages. The ALU, primary memory, and the control unit are involved in these cycles. In the Instruction cycle, the control unit first (1) fetches—the technical term—instructions from the registers, where the data to be processed is also being kept. The control unit next (2) decodes the instruction and sends it to the ALU, the thinking part of the processor. Now the Execution cycle begins. The ALU (3) executes the instructions by performing an arithmetic, comparison, or logical operation on the data in the registers.  The result is then (4) stored or written to the registers where it will eventually be displayed and saved in memory or storage. The time to complete the both the Instruction cycle and Execution cycle is called machine time.
One measurement of the capacity of a computer system is how much RAM can be addressed. This depends on the number of bits in an address. In the 1970s, microcomputers had a 16-bit address, or 65,536 bytes of addressable memory. Today’s microcomputers have a 32-bit address, which is over four billion bytes of addressable memory.
A RAM address location stores either data or instructions. The size of the address—that is, the number of bits at a specific address location—is called the word size. A computer address can have a word size of 8, 16, 32, or 64 bits. The CPU chip is considered to be an 8-, 16-, 32-, or 64-bit CPU, according to its capacity to receive data from RAM. The larger the word size, the more data the control unit can fetch from RAM.
SYSTEM CLOCK. The system clock, a vibrating quartz crystal chip that emits pulses, synchronizes the operations of the CPU. The frequency of these pulses is the CPU’s clock speed, which is measured in megahertz (MHz). (One megahertz equals one million cycles per second.) A CPU requires a fixed number of clock cycles to execute an instruction. Thus, the faster the clock speed, the faster the computer can process instructions. The newest Intel Pentiumâ III and the AMD Athlonä microprocessors have clock speeds over 1000 MHz (or 1 GHz).
Another way to describe the CPU’s speed is by how many instructions it can process per second. This measurement is given in millions of instructions per second (MIPS). Megahertz is a better benchmark than MIPS because a computer’s system clock is constant, whereas instructions vary in their difficulty and thus in the number of cycles required for their completion. A computer performing simple instructions would be faster in terms of MIPS than the same computer performing more complex instructions. For such reasons, IBM no longer advertises the MIPS capability of its computers.
In addition to increasing clock speed, processing may also be enhanced by pipelining, coprocessing, and parallel processing.  Traditionally, the entire Machine cycle (fetch, decode, execute, and store) has to be completed before the next one can start. Pipelining allows the CPU to begin a second Machine cycle before the first cycle is complete. With full pipelining, up to four cycles may be processed in a CPU simultaneously. Coprocessors increase computer performance by the use of a specialized chip that handles specific tasks, thereby freeing up the main processor to do other work. Common examples are graphics coprocessors for displaying images on the monitor and floating-point coprocessors for handling arithmetic calculations. Parallel processing enables a computer to use multiple processors to solve a single problem. Special software divides the problem in to several parts, assigns the parts to different processors where that parts are solve simultaneously, resembles the partial solutions, and completes any remaining problem solving. Not all problems can be solved by this method and it is not usually found in PCs.  
EXPANSION SLOTS. Peripheral devices, such as keyboards, disk drives, and monitors, are connected to the computer through expansion circuit boards (also called expansion cards, adapter cards, add-ins, add-ons, and interface cards) plugged into the expansion slots provided on the motherboard. Types of expansion cards include:
  1.                                                  n          A disk controller card connecting a disk drive
  2.                                                       n     An accelerator card increasing CPU speed
  3.               n              A video graphic card connecting a monitor
  4.                                               n     A fax/modem card connecting a telephone line
  5.                                                 n     A memory card for adding memory
  6.                                                    n     A PC-TV card for connecting to a television
  7.                                                    n     A sound card connecting external speakers
  8.                                                n          A game card connecting a joystick
  9.                                                n          An interface card connecting peripherals such as mouse devices and scanners
  10.                                                    n     A local area network card connecting other computers
      Laptops and notebooks have a special type of expansion card called a PC card. Unlike desktop-type expansion cards, you can add or change a PC card without opening the system case of the computer. The PC card is simply plugged into the appropriate opening in the laptop or notebook. PC cards can be used to add memory, fax/modem, disk drives, and sound capabilities.  Most PC cards follow standards developed by the Personal Computer Memory Card International Association (PCMCIA). Following the PCMCIA standards allow various PC cards to be interchanged between laptops and notebooks produced by different manufacturers.
BUSES. Data in the form of electric on-off signals (bits) travel along pathways called buses that connect the various parts of the computer. There are two types of buses: system buses and expansion buses. The system bus connects the CPU to primary memory, allowing instructions and data to be exchanged. Expansion buses connect the CPU to peripheral devices, allowing data to travel from the CPU to the expansion slots and out through the expansion cards to the peripheral devices attached to the computer.
Buses consist of sets of parallel wires or lines. Each line carries one bit. (Eight bits equal one byte.) Thus, a bus is measured by how many bits it can carry simultaneously. The wider the bus, the more information it can carry. Most current computers have either 32-bit or 64-bit bus width. Another measure of buses is their clock speed, measured in MHz. Like the processor, the bus clock speed determines how fast the bus functions. Bus speeds are typically less than 200 MHz, much less than current processor clock speeds.
Expansion buses are usually slower at transferring information than system buses. The expansion buses also determine the types of expansion cards that can be added to the computer. Three of the most common expansion buses, listed in order of speed, are:
n     Industry Standard Architecture (ISA). This bus is the slowest and most common expansion bus. It is used to connect mouse devices, modems, sound cards, and some network cards.
n     Accelerated Graphics Port (AGP). This expansion bus is faster than the ISA, and is used to connect video cards and memory.
n     Peripheral Component Interconnect (PCI). A high-speed expansion bus used to connect hard disks, video cards, and network cards.
                The Universal Serial Bus (USB) uses a new approach to connecting peripheral devices to the computer. It does away with the need to install new expansion cards for each new device. Instead, USB-capable devices are connected to each other in a daisy chain, and only one device is actually connected to the computer through a cable attached to the USB port. The USB port feeds into the USB, which in turn connects to the PCI, and then on to the motherboard.
                BUFFERS AND CHANNELS. Peripheral devices are very slow compared to the speed of the CPU. To keep the computer running efficiently, data traveling to and from peripheral devices are placed in a buffer. A buffer is a storage area where data reside before being processed.
Microcomputers have buffers in RAM and in peripheral devices such as printers. The CPU coordinates data being transferred to and from peripheral devices by using buffers. When the buffer is empty, the CPU is interrupted and a special request is made to fill the buffer with more data.
On mainframe computers, channels are used to send data to and from peripheral devices. Channels are small computers that control the flow of data to and from peripheral devices. Buffers hold the data while the channels coordinate the sending of the data.  Together, channels and buffers adjust for the differences in speed of peripheral devices. As a result, they increase throughput, which is the time a computer system requires to complete tasks.
PORTS. Peripheral devices, such as keyboards, monitors, printers, and mouse devices, must be connected to the PC system case. This connection is made by attaching a cable from the device to an interface point called a port. Most ports and cables have connectors that either male, with exposed pins, or female, with matching holes for the exposed pins. The number of holes and pins ranges from 5 to 36.
There are three main types of ports. Serial ports transmit and receive data one bit at a time. One wire in the cable is used to send a single bit stream of data, while another wire receives a single bit stream of data. Serial ports are the slowest of the three types of ports for data transmission. Parallel ports are capable of transmitting and receiving more than one bit at a time. Most parallel ports are able to send and receive streams of 8 bits (1 byte) data simultaneously. These ports achieve this higher transfer rate by having 8 wires dedicated for sending data and 8 wires dedicated for receiving data. Parallel ports are much faster than serial ports. Universal Serial Bus (USB) ports can connect up to 127 different external devices at a once with a single connector by means of a daisy chaining the devices together.
There are also several types of special purpose ports. Three of the most popular are:
·         Musical instrument digital interface (MIDI) ports for connecting musical instruments, such as an electronic keyboard
·         Small computer system interface (SCSI) ports for connecting peripheral devices that require high-speed data transfer; e.g., printers and disk drives. SCSI-equipped devices can also be daisy chained together, similar to USB-capable devices.
·         Infrared Data Association (IrDA) ports for connecting external devices without cables by means of infrared transmission of data
OUTPUT SYSTEM
Like the input system, the output system provides an interface through which computers and humans can interact with one another. However, now the human is on the receiving end of the process. Output devices are used to display input data that has been processed by the computer into useful output information. Through its output system, the computer presents the data it contains in a form that the user can understand.  The presentation is typically in one of four forms: graphics (e.g., charts and photographs), text (e.g., words and numbers), video (e.g., photographic images in motion), or audio (e.g., music and speech). Probably the most common output devices are monitors for producing temporary displays (soft copies) and printers for producing paper copies of documents (hard copies).
MONITORS. A monitor, or screen, can display graphics, text, and video output. To display video in the monitor, the computer needs a video card (or graphics card) for converting the digital signal (i.e., data in the form of 0s and 1s) from the processor to an analog signal (i.e., data in the form of a continuous electrical wave) that the monitor can interpret.
Monitors are described in two ways. The first is by the number of colors that the screen can display. This can range from 4 to 65,536. The second is by the quality, or resolution, of the screen, which is measured in picture elements (pixels). Pixels are tiny dots of light that combine to form images on the screen. Typical screens have 320 × 220 pixels, 640 × 480 pixels, or 1,024 × 768 pixels. The more pixels a screen has, the greater its resolution. Both color and resolution are important for determining the performance and quality of a computer monitor.
The IBM-compatible color/graphic monitors have evolved from the Color Graphic Adapter (CGA) technology, which featured 4 colors and a resolution of 320 × 220, through the Enhanced Graphic Adapter (EGA) and the Video Graphics Array (VGA) technologies. The current state-of-the-art for the personal computer is the Super Video Graphics Array (SVGA); for these monitors, the number of colors varies from 256 to 65,536, and the resolution varies from 800 × 600 to 1,600 × 1,200.
Monitors come in three main varieties: cathode-ray tubes (CRT), flat-screen liquid-crystal displays (LCD), and gas-plasma displays. All of these are now capable of either monochrome (black-and-white) or color displays. Desktop PCs usually come with CRTs, although flat-screen LCDs are becoming more common. Flat-screen LCDs are generally used in notebooks and laptops. The common desktop CRT sizes range from 15 to 21 inches. Laptop LCDs sizes are commonly 14.1 to 15.1 inches. Gas-plasma displays are capable of larger displays with good resolution and can be in excess of 42 inches.
PRINTERS. It was once thought that as computers became more common in business and in the home, we would move toward a “paperless society.” That is, all data would be circulated and used in electronic form, eliminating the need for printed material. This vision has yet to be realized. In businesses, homes, and most settings where computers are found, users still produce hard copy (information in printed form). For most applications, soft copy (information in electronic form) is not adequate.
To produce hard copy, a computer must be connected to a printer. This is typically done through a parallel port, which enables the computer to communicate with the printer one byte at a time. Microcomputers may have one or more parallel ports.
When microcomputers first invaded the workplace, the most popular type of printer was the dot-matrix printer, which can still be found in service today. These inexpensive printers are appropriate for tasks that do not require high-quality images. As its name implies, the dot-matrix printer produces a series of dots in a matrix to form both characters and images. A print head containing 9, 18, or 24 tiny pins strikes an inked ribbon to create the dots that make up the image on paper. The number of pins determines the quality of the output; the greater the number, the smoother the output.
In the 1980s, business people who wanted better-quality output than a dot-matrix printer could provide began to use daisy-wheel printers. The printing element of this type of printer is a round plastic disk that resembles a daisy, with petals protruding from the center. The “petals” each contain a letter, number, or other character. When printing, the daisy wheel rotates to bring the desired character into position, and a “hammer” strikes the wheel, forcing the character to press against an inked ribbon and mark the paper. Daisy-wheel printers do not produce graphic images.
Thanks to its decreasing cost and very high image quality, the laser printer has become the printer of choice for most microcomputer applications. The laser printer can produce both characters of any size and high-quality graphic images. A laser beam draws the desired image on the printer’s metal drum. The drum attracts toner (powdered ink) where the light strikes it, and the image is transferred from the drum to the paper using heat.
A fourth type of printer used with microcomputers is the ink-jet printer, which produces letter-quality images by spraying droplets of ink onto the surface of the paper. It has many of the advantages of the laser printer, including high-quality output and the ability to produce both characters and graphic images. In addition, ink-jet printers are often less expensive than laser printers and can produce color images of very good quality.
The resolution quality of both laser printers and ink-jet printers is measured in the number of dots per inch (dpi) the printer is able to produce when generating characters: the higher the dpi, the greater the resolution of the characters. The average PC printer today provides 300 to 600 dpi. High-quality laser printers go up to 1200 dpi, while high-quality ink-jet printers range up to 1440 dpi. 
Chain printers are often used with mainframe computers. Chain printers are extremely fast, producing up to 3,000 lines per minute. A chain with characters on it revolves in front of the paper; when the desired character passes by, the hammer in that position presses the paper and inked ribbon against the chain.
OTHER OUTPUT DEVICES. Plotters are used in some settings to produce architectural drawings, bar charts, and high-quality graphic images. They often use paper that is larger than most printers can handle. There are three types of plotters. Pen plotters use colored pens positioned so that a mechanical arm can access them. The mechanical arm draws the graphic image with one colored pen, then selects another, repeating the process until the image is complete. Pen plotters are widely used and produce very high quality images. Electrostatic plotters use electrostatic charges to create images on specially treated paper. This paper must then be developed like a photograph to produce high-resolution images. Direct-image plotters, also called thermal plotters, create images on heat sensitive paper. This process is limited to two-color output.
Speakers and headsets are the two most common devices used for audio output.  A voice output device produces voice commands by imitating phonic sounds. These prerecorded phonic sounds produce synthetic-sounding words. Some telephone companies use voice output to automate directory assistance, and some automobiles contain voice output devices that remind drivers to fasten their seat belts.
Projectors are used to display graphics, text, video output from a computer. In the case of projectors, the output is displayed onto a screen for an audience to view instead of into a monitor for a single user's viewing.  Like monitors, projectors are attached to the computer through a parallel port. Projector technology varies widely, but the two most common types are LCDs projectors and digital light processing (DLP) projectors. 
COMMUNICATION SYSTEM
                It is sometimes helpful to link two or more computers together so that they can communicate with one another directly without a human intermediary. To accomplish this task, a computer draws on its communication system. Communications is, thus, the third main function of which computers are capable, the other two being data storage and data processing.
                In order for two or more computers to communicate, specialized hardware is required. First, the multiple computers must be connected together through transmission media over which the data are transmitted. Second, there must be communication processors that put the data in a form that can be transmitted through the transmission media and convert the received signals into a form the computers can use. (Networks are a distinct and highly important aspect of computer communications but will not be covered in this appendix. Chapter 12 gives an overview of networks.)
                Transmission media can either be physical or wireless. The three most common types of physical transmission media are discussed next.
·         Twisted-pair cable is the type of wiring used in telephone systems, and transmits data as electric signals. This is the least expensive media but is the most prone to interference that can distort the signal.
·         Coaxial cable, the type used in cable TV systems, is less likely to distort the signal being transmitted, but is more expensive. Data is transmitted in electric form.
·         Fiber optic cable transmits a signal in the form of light. Fiber optic technology is much faster, can transmit data at higher rates, and is less prone to interference. However, it is not widely available and is more expensive.
                The two most common types of wireless media are radio signals and microwave signals. These signals differ in the frequency ranges they cover (referred to as bandwidth), with microwaves going above 1 GHz and radio signals covering below 1 GHz. Both types of signals are limited to being line-of-sight (LOS). Because of the curvature of the earth, this limits signal transmission to a range of approximately 30 miles. To overcome the LOS problem, repeaters are used to retransmit a signal. Repeaters can either be towers or satellites. 
                The transmission media have a wide range of transmission speeds (or transfer rates). Table 2 provides the upper end speeds of the media discussed above. These high-end transfer rates may not be achievable in practice because of the particular technologies in use for transmitting, receiving, and processing signals.
Table 2: Transfer Rates of Selected Transmission Media
Transmission Medium
Upper-end of Transfer Rate
Twisted-pair telephone lines
128 Mbps
Coaxial cable TV lines
200 Mbps
Fiber optics lines
2 Gbps
Radio waves
2 Mbps
Microwave
45 Mbps
Mbps (megabits per second) refers to a transfer rate of millions of bits per second and Gbps (gigabits per second) refers to a transfer rate of billions of bits per second.

Communications processors for PCs are generally referred to as modems (from the term modulator-demodulator). Most communication systems operate by having the sending computer’s modem convert (or modulate) the computer’s digital information into analog format (continuous wave), which is then sent over the transmission medium. The receiving computer’s modem changes the analog signal back into digital form (demodulation). Some more current modems do not translate the digital information into analog form. Keeping the information digital throughout the entire communications process can vastly increase the transmission speed. For example, telephone modems use twisted-pair telephone lines and operate by digital-to-analog modulation. They typically have a maximum transmission speed of 56 Kbps (kilobits per second; i.e., thousands of bits per second). Digital Subscriber Line (DSL) modems, which still use ordinary telephone line, remain digital throughout the communications cycle and have a typical transmission speed of 512 Kbps to 1.544 Mbps. On the other hand, cable modems, using TV coaxial cable as the transmission medium and advanced digital-to-analog technology, achieve typical transmission speed of 2.5 Mbps.
Modems can be either internal (built-in) or connected externally. An internal modem can be installed on an expansion card in the computer. An external modem is connected to the computer either through a serial port, or a communication port, through which the computer communicates with the modem one bit at a time.
Software
A computer system needs more than the hardware described above in order to function.  The hardware by itself, even when powered-up, is incapable of producing useful output. It must be instructed how to direct its operations in order to transform input into output of value to the user. This is the role of software; i.e., to provide the detailed instructions that control the operation of a computer system. Just as hardware comprises the tangible side of the computer, so software is the intangible side of the computer.  If the CPU is the physical brain of the computer, then software is its mind.
Software instructions are programmed in a computer language, translated into machine language, and executed by the computer. Between the user and the hardware (specifically, the memory), generally stand two layers of software: system software and application software.
SYSTEM SOFTWARE
System software directly controls the computer’s hardware, whereas application software is one level removed from hardware. System software manages the computer’s resources, enables the various components of the computer to communicate, runs application software, and makes the hardware respond to the user’s needs. When the system software operates efficiently, the difficult operations of controlling the hardware are transparent to the user. System software includes four main types:
·         The operating system provides an interface between the computer hardware and the user or the application software. Because of its central importance, the operating system will be discussed in more detail below.
·         Language translators convert application programs and any other software programs into the machine language (discussed below) that actually controls the computer's operations.
·         Network and communications software operates the communications hardware in a computer so that it can transmit and receive information from other computers. Network and communications software requires two types of software: software for the PC operating system and software for the network operating system. In some cases, the latter comes built-in the former.
·         Utility programs perform various specialized "housekeeping" tasks, such as file management, virus protection, disk defragmentation, program installation and uninstallation, file and disk back up, disk formatting, and providing screen saver programs. This list is far from exhaustive. The user directly controls most utility programs, although some utility programs can be set to run automatically (e.g.; screen savers and anti-virus scanning).
Computers of all types require system software to coordinate their resources. The system software for a single-user PC is not nearly as complex as the system software for a multiuser mainframe computer. However, as the PC’s system capacity has increased, the sophistication of its system software also has increased. Many of the features once found only in mainframe and minicomputer systems have been incorporated into PCs.
            OPERATING SYSTEMS  The operating system has two primary functions. First, it manages the computer's resources—the computer's hardware and any external devices. For example, the operating system controls the CPU, accesses RAM, executes programs, receives input from the keyboard or other input device, retrieves and saves data to and from secondary storage devices, displays data on the monitor, and controls the printer. Second, the operating system contains instructions for running application software.
                The operating system contains two types of instructions. System-resident commands are active in primary memory at all times to coordinate input/output requests and execute programs. This core of the operating system, critical to the functioning of the computer, is called the kernel and is the first set of instructions to be loaded (booted) from secondary storage in the hard disk on to primary memory in RAM when the computer is first turned-on. Disk-resident commands reside in secondary storage until a request is made to execute special-purpose programs, at which type they are loaded into working memory.
                To make microcomputer systems easy to use, the interface (link) between the user and the hardware has become simpler and more intuitive. Particularly important for the development of “user-friendly” computers is the graphical user interface (GUI). The GUI allows the user to interact with the computer through icons (graphic symbols) on the screen. These icons can represent a variety of things, including computer disks, folders, documents, and software programs. The user instructs the computer to perform particular tasks by pointing to and manipulating the appropriate icons with a mouse. Operating systems not GUI-capable, e.g., UNIX, require the user to input commands by typing in words or pressing specially defined keys. This set-up is called a command-line interface.
                The computer’s operating system defines the family of additional software—primarily applications—that the computer can use. For this reason the operating system software is frequently called the software platform. Most application software is written for one particular operating system. For example, the user of an IBM-compatible PC with a DOS operating system must select programs from the available software written for that operating system. The user of an IBM-compatible PC with an OS/2 operating system must select from a different set of software. (DOS and OS/2 will be discussed below.) Some applications, however, are capable of running on multiple operating systems and are referred to as cross-platform applications.
                Application programs can be very large. They might take up many millions of bytes on a secondary storage device. For this reason, the operating system does not load all of a large application program into RAM at one time. Instead, it loads only a portion of the application program; when the program requires other code, it accesses that code from secondary storage. The operating system’s ability to divide the computer program into variable-length portions and to store only a small portion at a time in primary memory (RAM) is called virtual storage. Some operating systems also have virtual memory, which enables a small portion of the hard disk to function as additional RAM by storing the portions of the program not being used in the RAM on the hard disk but in such a fashion that they can be very quickly accessed (a process called paging).
                In addition to managing memory and application programs, operating systems also perform functions relating to the peripheral devices connected to the computer. For example, the operating system handles the requests for print jobs sent to the printer. When more print requests are sent to the printer than can be handled at once, the operating system assigns them an order and places them in a buffer, an area of memory, awaiting printing. This process is called spooling. Another important function of the operating system is that of configuring the external devices. Each device must communicate to the computer, a process requiring a device to have its own program, referred to as the device driver. The operating system coordinates the installation of this software and ensures its proper functioning. These procedures are often done manually but in some cases the process is automatically perform by the operating system (called Plug and Play).
                Operating systems that allow only one user to run one program at a time are called single user or single tasking operating systems. Most current operating systems and computers have moved beyond this stage to multitasking. In multitasking, the operating system allows more than one task or program to be executed at a time in a single-user computer. Operating systems that address more memory can run several tasks simultaneously. A computer’s multitasking capability is also limited by the amount of RAM it contains.
                With the advent of networks, much focus has been placed on the multiuser capabilities of operating systems, although the multiuser environment has long been present in supercomputers, mainframes and minicomputers. With a mainframe, for example, a thousand or more users may need to access the computer simultaneously. In all of these architectures, the operating system must coordinate system requests from many users. The operating system manages these requests by allocating to each user a portion of primary memory where the programs reside and executing the programs when an input is received or an output is requested. Because the processors in supercomputers, mainframes and minicomputers are extremely fast compared to the speed of input and output, the operating system can handle many programs in RAM simultaneously. The processor handles a portion of each program in series, coordinated by the operating system. This is called multiprogramming.
                Another feature of the operating systems in supercomputers, mainframes and minicomputers, called timesharing, assigns to each user a fraction of the processor’s time. An efficient operating system controls the multiuser environment in such a way that the user feels as though he or she is the only person using the computer.
                Computers, especially mainframe and minicomputer systems, can also employ multiprocessing. In this process, the operating system uses more than one processor or CPU to execute the commands of a single program. The operating system sends instructions to several processors in parallel, which results in the faster processing of instructions.
                There are numerous operating systems. Several of the most popular are discussed below:
·         DOS (Disk Operating System) is for single-user IBM-compatible computers. Microsoft Corporation sells this product under the name MS-DOS (Microsoft Disk Operating System) and licenses another version, called PC-DOS, to IBM for use in its personal computers. DOS was written for the microcomputer technology of the early 1980s. An enormous number of microcomputers still run under DOS. Even though there have been numerous improvements to the software since its introduction, limitations still exist. It is not GUI-capable. Nor can it take full advantage of today's 32-bit processors (e.g., Intel's Pentiumâ series). That is, application programs running on DOS computers have direct access to only 640,000 bytes of primary memory.
·         Macintosh Operating Systems (Mac OS) was introduced in the 1984 and was the first commercial GUI platform. The latest version supports multitasking, includes multiple Web browsers, and has built-in networking capability. It also is able to open, edit, and save files created in DOS and Windows platforms.
·         Microsoft Windows 95 and 98 are GUI-capable, multitasking operating systems. Unlike the earlier Windows 3.x series, Windows 95 and 98 are true operating systems, and do not require DOS to run. Windows 95 and 98 have broken the 640,000-byte barrier, providing direct access to millions of bytes of memory. These operating systems take advantage of todays more powerful microprocessor chips, such as the Intel Pentiumâ, which address more memory and run faster than the older microprocessors. Windows 98 is an upgraded version of Windows 95. Windows 98 is user-friendlier than Windows 95 and has more Internet features; e.g., Windows 98 includes Microsoft Internet Explorer.
·         Microsoft Windows NT is designed for client-server networks (discussed in chapter 12). It provides the user with the other features of Windows 98.
·         Linux is an interesting operating system because it is not proprietary software. Its code has been made publicly available (called open-source software). This allows users to customize the software to meet their personal needs and to share improvements made with others. Applications that run on Linux are commercially available; for example, from Red Hat Software and Corel Corporation.
·         UNIX was developed by Bell Laboratories in the 1970's, and is one of the few small-scale operating systems that is both multiuser and multiprocessing capable. This allows computers running on UNIX to process a high volume of inputs from multiple users by using multiple CPUs simultaneously.
APPLICATION SOFTWARE
Application software enables the user to direct the computer’s processing system in the tasks of manipulating and transforming input data into useful output information. Furthermore, it allows the user to alter the information generated by the processing system; e.g., how the information is presented. This is the type of software with which most users interact. It is the usual interface between user and computer.  Rarely do users directly manipulate systems software, especially the operating systems software.
Application software can be written for a specific user’s application (custom software), or it can be mass-produced for general use (commercial or packaged software). Naturally, custom software is usually far more expensive than commercial software. An accounting package written for a specific company might cost many thousands of dollars, whereas a commercial accounting package might cost only a few hundred dollars at a retail store. The advantage of custom software is that it is tailored to the user’s specific needs and can be seamlessly integrated into the user’s existing software. Not only is commercial software less costly, it is also available immediately, and the package can be evaluated before being purchased.
Application software comes in an incredible variety. It is available for business, personal, educational, communication, and graphic design purposes—to name the more usual categories. There is almost certainly a software package somewhere available to suit any need. If not, there are programmers ready to be hired to build it. For our purposes, we will limit our discussion to the four types of application software most likely to be useful to accounting and business students: word processing, spreadsheet, database, and presentation graphics.  These four applications are frequently sold together in a single software package. Three of the most popular packages are Corel WordPerfect Suite, Microsoft Office 2000, and Lotus SmartSuite. In addition to the four "standard" applications, these packages usually include email, Internet, video processing, and desktop publishing applications.  
                Word processing programs allow the user to quickly and easily create and revise texts on the computer screen. By using word processing applications, the user can format documents with ease, changing font size, margins, color, etc.  Different types of documents—e.g., letters, memos, and reports—are often preformatted in the application. PC-based word processing software is so capable and inexpensive that, in most businesses, it has become the usual tool for creating documents, even when more powerful mainframes and minicomputers are available.
                Spreadsheet programs are especially useful in business and accounting. The electronic spreadsheet consists of rows and columns of data, which the user can easily edit, copy, move, or print. Using numeric data entered in the spreadsheet, the computer can perform numerous mathematical calculations automatically, many of impressive sophistication (e.g., statistical, logical, and engineering functions). One of the spreadsheet program’s most powerful features for business purposes is that it enables the user to do “what-if” analyses on existing data and to input different data for various scenarios. Non-numeric data (e.g., names and dates) may also be entered in a spreadsheet. Spreadsheets can perform some non-mathematical operations (e.g., sorting and filtering) on this data, although this type of analysis is not a spreadsheet's strength.
                Database software allows the user to enter, store, maintain, retrieve, and manipulate data. In some ways, databases pickup where spreadsheets leave off, although a fairer assessment is probably that the relationship between the two types of software is reciprocal. Database software is certainly more efficient and effective at handling non-numeric data than is spreadsheet software. Conversely, numeric data is usually easier to manipulate in a spreadsheet. In most databases, data is entered to tables of rows and columns, similar to spreadsheets. Unlike spreadsheets, these tables can be connected into relationships that allow users incredible versatility in what they can do with that data. For example, data—both numeric and non-numeric—from several individual tables may be retrieved and used together in calculations, with the results presented in a business-style report.
                Presentation graphics software enable users to design professional-quality presentations for business and educational purposes. The presentations usually consist of formatted slides for projecting onto a screen from a computer projector or overhead projector, or for display on a large monitor.  These presentations may also be used for online meetings and Web broadcasts.  The slides can be designed to include backgrounds, graphic images, charts, clipart, shading, animation, and audio effects—and, of course, text, which can sometimes get lost in all of the embellishments. 

PROGRAMMING LANGUAGES AND LANGUAGE TRANSLATORS

Computer programmers use artificial languages, known as programming languages, to write the instructions that tell computers what to do. Programming languages have evolved over time to become more like the natural languages that human beings speak. This section traces the evolution from machine language to fifth-generation language.
MACHINE LANGUAGE.  Programs for the first computers were written in strings of binary digits ("bits," consisting of 0s and 1s). Thus, this first programming language is often referred to as the first-generation language (or 1GL). It is also called the machine language because computers—past and present—require this type of instruction in order to perform their operations as machines. Instructions (and data) are represented ultimately as bits because these strings of 0s and 1s correspond to the actual binary on-off flow of electrical current through the computer's circuitry. Because machine language is so far removed from natural language, it has a number of inherent problems as a programming language. It is time-consuming and tedious for humans to work in machine language, and errors in machine-language programs are difficult to find.
ASSEMBLY LANGUAGE. Assembly language (also referred to as the second-generation language or 2GL) was the next step in the evolution of programming languages. In assembly language, commands are written with mnemonic codes rather than numerical codes. These commands are translated from the source language (the programmer’s code) into an object module (machine language). The translation process can be done in two ways. Either an interpreter converts the program line by line as it is being run, or a compiler converts the entire program at one time before it is run. Interpreters are often used with beginning programmers who are learning a language for the first time. Compilers are used in professional settings where speed and security are important.
Interpreters and compilers are operating system programs that fall under the general category of language translators. Each programming language requires a specific language translator to convert it to machine language.
Assembly languages are specific to a particular processor and give the programmer control over the lower-level operations of the computer. Compared to third-generation languages, discussed next, assembly language requires more detail in programming.
THIRD-GENERATION LANGUAGESThe evolution of programming languages toward user-friendliness continued with the development of third-generation languages (3GL). Third-generation languages, such as FORTRAN, COBOL, Pascal, Java, PL/1, and C, are procedural languages. Program instructions are executed in a precise sequence to accomplish a task. These languages use recognizable statements like PRINT, INPUT, SORT, and IF, which must be compiled into detailed machine language instructions. The linkage editor inserts pre-written routines called library programs after compilation to produce an executable program called the load module.
Some of the most common third-generation programming languages are described next.
BASIC (Beginner’s All-purpose Symbolic Instruction Code) was designed as a programming language for novices. The language uses an interpreter that evaluates each line for syntax errors, which helps beginning programmers. The language became very popular for microcomputer use in the late 1970s and early 1980s.
FORTRAN (Formula Translation) was developed in 1956 to provide scientists, engineers, and mathematicians a programming language that is rich in scientific and mathematical operations.
COBOL (Common Business Oriented Language) was designed for such business applications as inputting records from a data file and manipulating, storing, and printing them. A tremendous number of programs have been written in COBOL since its inception in the early 1960s. COBOL still maintains a significant presence. Each business day, billions of lines of COBOL code are executed.
IBM developed PL/1 (Programming Language 1) in 1964. This language combines the mathematical features found in FORTRAN with the record-processing features found in COBOL.
Pascal was written to take advantage of the programming technique called structured programming, in which programs are divided into modules that are controlled by a main module. The language was very popular in the 1980s for teaching structured programming and advanced programming techniques in computer science courses.
In the 1970s, AT&T Bell Labs developed a programming language called C that could be run on various types of computers. Source code written for a microcomputer could thus easily be converted into source code for a mainframe.
Java was developed in the mid 1990s by Sun Microsystems. It is based on a new programming technique called object-oriented programming. Object-oriented programming allows the programmer to define not only the characteristics of data but also the data's associated procedures. This type of programming is especially beneficial in a networked environment because it allows computers to quickly transmit computations to each other, not just data requiring subsequent computation.
FOURTH-GENERATION LANGUAGES. The development of applications written in third-generation languages takes a considerable amount of time, often several months to several years. Increasingly users need software that allows them to develop simple applications quickly. Fourth-generation languages (4GL) were developed to meet this need. They are declarative, not procedural, languages. With the earlier generations of procedural languages, the user/programmer had to delineate the step-by-step procedures for the computer to follow to achieve a certain result. With fourth-generation language, however, the user simply tells the computer what end result is desired and the computer to decides the steps needed to achieve that goal. Also, fourth generation languages have been designed to be easy to learn and use. In addition, they relieve professional programmers from increasing demands to develop new programs and maintain existing ones.
Fourth-generation languages are found in a variety of applications, including statistical packages, data base management systems, and graphical packages. Statistical packages perform a full range of statistical analyses and enable the user to produce reports of the results. Statistical Package for the Social Sciences (SPSS) and Statistical Analysis System (SAS) are examples of powerful statistical packages that are available on mainframe computers, minicomputers, and microcomputers.
Data base management systems usually contain a 4GL query language that allows the user to retrieve data from and store data to the database. Relational data base management systems have been standardized on a query language called Structured Query Language (SQL). By using either a menu-driven interface or simple commands, the end user can develop advanced queries to the database without a programmer’s assistance.
FIFTH-GENERATION LANGUAGES. Fifth-generation languages (5GL) are attempting to make the task of programming even user-friendlier than did the 4GLs. This is achieved by removing most of the verbal aspects from programming. Instead, 5GLs use a visual or graphical environment that allows the user to design the program with minimal use of programming words. For example, visual programming allows the user to drag icons together in a windows environment in order to assemble a program component. The 5GL development interface then automatically creates the source language that is typically compiled with a 3GL or 4GL language compiler. Enabling users to design something as complex as a computer program by means of graphical symbols is a difficult undertaking. Not all attempts at developing a workable 5GL have been successful. Currently, however, Microsoft, Borland and IBM make 5GL visual programming products for developing Java applications that appear successful. The amazing evolution of computer languages from strings of 0s and 1s to graphical icons says a lot about the ability of computers to inspire us with creativity and genius.


Related Posts Plugin for WordPress, Blogger...