Software is the term for the programs that tell a computer what to do and how to do it. Software manages the computer's resources, including all hardware devices. Software programs work by issuing instructions to computers to perform actions in a certain order, allowing them to process data into information. Hardware is the term for the physical components of any computer system, such as the mother- board, circuitry, and peripheral devices. A popular expression in computer circles is that "software drives hardware," meaning that without software a computer can do little more than search for essential program files that direct the computer to load additional software. It is the software that launches information processing and puts the hardware to work.
Software is divided into two main categories: application software and system software.
Application software includes programs that perform a single task such as word processing, spreadsheet analysis, or database management.
System software includes those pro- grams that control the operations of a computer system, meaning the system unit as well as all components and devices that make up the computer system.
The System Software as a Gateway
System software serves as the gateway (interface) between the user, the user's application software, and the computer's hardware.
System software performs a number of essential functions, including starting the computer, formatting disks, copying files, and enabling applications to work smoothly with a computer. It thus serves as the gateway between the user, the user's application software, and the user's computer hardware. The three major categories of system software are operating systems, utility pro- grams, and language translators.
The Function of the Operating System
An operating system (OS) is the most important piece of software on a personal computer. The location of the operating system identifies the boot drive for the personal computer. Typically, this is the hard drive. When the computer is started (or booted), the operating system is loaded into random access memory (RAM) from the boot drive. Once started, the operating system manages the computer system and performs a variety of interdependent functions related to the input, processing, output, and storage of information, including:
- Managing main memory, or RAM
- configuring and controlling peripheral devices
- managing essential file operations, including formatting or copying disks, and renaming or deleting files
- monitoring system performance
- providing a user interface
Booting (Starting) the Computer
The procedure for starting or restarting a computer is called booting, because the operating system is housed in the boot drive. Starting a computer after power has been turned off is referred to as a cold boot. Restarting a computer while the power is still on is called a warm boot. Most computer systems allow users to perform a warm boot by pressing a combination of keyboard keys.
When a computer is booted an electrical current from the power supply sends signals to the motherboard and its components, including the processor chip. The electrical current resets the processor, which then looks for the read-only memory (ROM) chip containing the basic input/output system (BIOS)
The BIOS chip contains instructions that start the computer. The BIOS chip(s) also performs a series of tests, called power-on self test (POST) POST instructions check the computer's components and peripheral devices, including RAM, the system clock, keyboard, mouse, and disk drives. The POST checks determine whether the components and devices are connected and functioning properly. If problems are identified, many operating systems will notify the user to take corrective action. If components and devices are working properly, the BIOS searches the boot drive for operating system files.
The operating system then takes control of the computer and loads the system configuration and other necessary operating system files into methory. Portions of the operating system are automatically loaded from the hard disk into the computer's main memory, including the kernel and frequently used operating system instructions. The kernel is an operating system program that manages computer components, peripheral devices, and memory. It also maintains the system clock and loads other operating system and application programs as they are required. The kernel is memory resident, remaining in memory while the computer is in operation. Other operating system parts are nonresident and remain on the hard disk until they are needed. The loaded portion (memory resident) contains the most essential instructions for operating the computer, controlling the monitor display, and managing RAM efficiently to increase the computer's overall performance.
Managing Memory
An important operating system function is optimizing RAM so that processing occurs more quickly, an activity referred to as throughput. Throughput is a mea- sure of the computer's overall performance. Loading programs and data from secondary storage into RAM speeds up processing because it takes significantly less time for the processor to-access the programs from RAM than from second- ary storage. Processing cannot occur until the programs and data are moved from RAM to the processor. Users can add RAM chips or upgrade the processor if pro- grams, such as downloads from e-mail or Web pages, execute slowly.
To speed up the transfer of programs and data to the processor even further, some computers contain cache memory. Recall from Chapter 2 that cache memory may be contained on the CPU in the form of memory chips hardwired onto the motherboard
or as reserved space on a storage device such as a hard disk. Some operating systems also allow users to set aside a portion of RAM to be used as cache memory. As information is being processed, the operating system assigns application
programs and data to selected areas of RAM called buffers. A buffer holds infor mation and data waiting to be transferred to or from an input or output device. When the information or data residing in the buffers is no longer needed, it is erased (cleared) by the operating system. When a document is placed in a buffer, the CPU is free to begin executing the next computer instruction or carry out the user's next command.
Some output devices, such as printers, may contain their own buffer memory chips. A computer typically sends a document to a printer much faster than the printer can print it With print spooling, a document is held in a buffer until the printer is ready. Once printed, the buffer is cleared and ready to accept other printing jobs.
An important part of managing RAM is allowing an individual user to work on two or more applications at the same time. This capability is called multitasking. When using a multitasking operating system, such as Microsoft Windows, it is not necessary to quit one application before working in another. For example, if a Microsoft Word document and a Microsoft Excel spreadsheet are both loaded into RAM, users can switch back and forth between the two applications as often as they wish.
Configuring and Controlling Devices
Configuring and controlling computer components and attached devices is a major function of the operating system. Included with a computer's operating system are small programs called drivers. A driver enables the operating system to communicate with peripheral devices, including the keyboard, monitor, mouse, modem, printer, and disk drives. A keyboard driver recognizes input, while a monitor driver directs the display of text and images. If a user decides to add other devices, a driver will need to be installed for each new device. A driver program usually accompanies the device, and is contained on a disk with easy-to- follow instructions to guide users through the installation process. Many driver programs are also available on the device manufacturer's Web site.
Managing Essential File Operations
An operating system contains a program called a file manager to maintain a record of all stored files and their locations, allowing users to quickly locate and retrieve files. File managers also perform basic file management functions, such as keeping track of disk storage space; formatting and copying disks; and renaming. deleting, sorting, or viewing stored files. For example, users can copy, delete, and move files using Windows Explorer.
Monitoring System Performance
An operating system typically includes a performance monitor for checking the computer system's speed and efficiency, as well as the performance of the CPU. memory, and storage disks, In Microsoft Windows Vista, clicking the command sequence of Office Start button, Control Panel, System, and Performance opens a window from which system performance can be evaluated and improved.
Providing Basic Security Functions
An operating system can protect against unauthorized users gaining access to the computer and stored information. Many operating systems require users to enter a valid name and password before they can access a computer or network. A user name, also called a user ID, is a unique combination of characters (letters and numbers) identifying an individual user
A password is a unique combination of characters that allows a user to gain access to computer resources, such as data and files. When a password is typed, most operating systems display a series of characters (such as asterisks) that differ from those entered. This is to prevent other people from seeing the entered characters. The user ID and password combinations are compared with a list of authorized users. If the combination of user ID and password is on the list, the operating system allows access. The operating system denies access if the user ID and password combination does not match any of those on the list.
Computer network operating systems provide additional security measures, such as maintaining a record of attempts to access the network and its resources. The network administrator can determine which computer made the attempt and the time the attempt was made, allowing suspicious activity to be traced.
Software User Interfaces
All software, including operating systems, contains a user interface that allows communication between the software and the user. The interface controls the manner in which data and commands are entered, as well as the way informa tion and processing options are presented on the screen. Application programs are written for use with specific operating systems. The operating system and application software user interfaces must be able to work together (be compati- ble). Two types of user interfaces have been developed for personal computers:
command-line interfaces
graphical user interfaces (GUIS)