System software consists of programs that manage and support a computer system and its information processing activities. These programs serve as a vital software interface between computer system hardware and the application programs of end users.
- System management programs. Programs that manage the hardware, software, network, and data resources of the computer system during its execution of the various information processing jobs of users. Examples of important system management programs are operating systems, network management programs, database management systems, and system utilities.
- System development programs. Programs that help users develop information system programs and procedures and prepare user programs for computer processing. Major development programs are programming language translators and editors, other programming tools, and CASE (computer-aided software engineering) packages.
1. Operating Systems
The most important system software package for any computer is its operating system. An operating system is an integrated system of programs that manages the operations of the CPU, controls the input/output and storage resources and activities of the computer system, and provides various support services as the computer executes the application programs of users.
The primary purpose of an operating system is to maximize the productivity of a computer system by operating it in the most efficient manner. An operating system minimizes the amount of human intervention required during processing. It helps your application programs perform common operations such as accessing a network, entering data, saving and retrieving files, and printing or displaying output. If you have any hands-on experience on a computer, you know that the operating system must be loaded and activated before you can accomplish other tasks. This emphasized the fact that operating systems are the most indispensable component of the software interface between users and the hardware of their computer systems.
Operating System Functions
An operating system performs five basic functions in the operation of a computer system: providing a user interface, resource management, task management, file management, and utilities and support services.
- The User Interface. The user interface is the part of the operating system that allows you to communicate with it so you can load program, access files, and accomplish other tasks. Three main types of user interfaces are the command driven, menu driven, and graphical user interfaces. The trend in user interfaces for operating systems and other software is moving away from the entry of brief end user commands, or even the selection of choices from menus of options. Instead, the trend is toward an easy-to-use graphical user interface (GUI) that uses icons, bars, buttons, boxes, and other images. GUIs rely on pointing devices like the electronic mouse or trackball to make selections that help you get things done.
- Resource Management. An operating system uses a variety of resource management programs to manage the hardware and networking resources of a computer system, including is CPU, memory, secondary storage devices, telecommunications processors, and input/output peripherals, For example, memory management programs keep track of where data and programs are stored. They may also subdivide memory into a number of sections and swap parts of programs and data between memory and magnetic disks or other secondary storage devices. This can provide a computer system with a virtual memory capability that is significantly larger than the real memory capacity of its primary storage unit. So a computer with a virtual memory capability can process larger programs and greater amounts of data than the capacity of its memory circuits would normally allow.
- File Management. An operating system contains file management programs that control the creation, deletion, and access of files of data and programs. File management also involves keeping track of the physical location of files on magnetic disks and other secondary storage devices. So operating systems maintain directories of information about the location and characteristics of files stored on a computer system’s secondary storage-devices.
- Task Management. The task management programs of an operating system manage the accomplishment of the computing tasks of end users. They give each task a slice of a CPU’s time and interrupt the CPU operations to substitute other tasks. Task management may involve a multitasking capability where several computing tasks can occur at the same time. Multitasking may take the form of multiprogramming, where the CPU can process the tasks of several programs at the same time, or time sharing, where the computing tasks of several users can be processed at the same time. The efficiency of multitasking operations depends on the processing power of a CPU and the virtual memory and multitasking capabilities of the operating system it uses.
New microcomputer operating systems and most midrange and mainframe operating systems provide a multitasking capability. With multitasking, end users can do two or more operations (e.g., keyboarding and printing) or applications (e.g., word processing and financial analysis) concurrently, that is, at the same time. Multitasking on microcomputers has also been made possible by the development of more powerful microprocessors and their ability to directly address much larger memory capacities. This allows an operating system to subdivide primary storage into several large partitions, each of which can be used by a different application program.
In effect, a single computer can act as if it were several computers, or virtual machines, since each application program is running independently at the same time. The number of programs that can be run concurrently depends on the amount of memory that is available and the amount of processing each job demands. That’s because a microprocessor (or CPU) can become overloaded with too many jobs and provide unacceptably slow response times. However, if memory and processing capacities are adequate, multitasking allows end users to easily switch from one application to another, share data files among applications, and process some applications in a background mode typically, background tasks include large printing jobs, extensive mathematical computation, or unattended telecommunications sessions.
Popular Operating Systems
MS-DOS (Microsoft Disk Operating System), along with the Windows operating environment, has been the most widely used microcomputer operating system. It is a single-user, single-tasking operating system, but was given a graphical user interface and limited multitasking capabilities by combining it with Microsoft Windows. Microsoft began replacing its DOS/Windows combination in 1995 with the Windows 95 operating system. Windows 95 is an advanced operating system featuring a graphical user interface, true multitasking, networking, multimedia, and many other capabilities. Microsoft plans to ship a Windows 98 version during 1998.
Microsoft introduced another operating system, Windows NT (New Technology), in 1995. Windows NT is a powerful, multitasking, multi-user operating system that is being installed on network servers to manage local area networks and on desktop PCs with high-performance computing requirements. New Server and Workstation versions were introduced in 1997. Some industry experts are predicting that Windows NT Workstation will supplant Windows 95 and 98 in a few years.
OS/2 (Operating System/2) is a microcomputer operating system from IBM. Its latest version, OS/2 Warp 4, was introduced in 1996 and provides a graphical user interface, voice recognition, multitasking, virtual memory, telecommunications, and many other capabilities. A version for network servers, OS/2 Warp Server, is also available. Originally developed by AT&T, UNIX now is also offered by other vendors, including Solaris by Sun Microsystems and AIX by IBM. UNIX is a multitasking, multiuse, network-managing operating system whose portability allows it to run on mainframes, midrange computers, and microcomputers. UNIX is a popular choice for network servers in many client/server computing networks. The Macintosh System is an operating system from Apple for Macintosh microcomputers. Now in version 8.0, the system has a popular graphical user interface as well as multitasking and virtual memory capabilities.
2. Network Management Program
Today’s information systems rely heavily on the Internet, intranets, extranets, local area networks, and other telecommunications networks to interconnect end user workstations, network servers, and other computer systems. This requires a variety of system software for network management, including network operating systems, network performance monitors, telecommunications monitors, and so on. These programs are used by network servers and other computers in network to manage network performance. Network management programs perform such functions as automatically checking client PCs and video terminals for input/output activity, as signing priorities to data communications requests from clients and terminals, and detecting and correcting transmission errors and other network problems. In addition, some network management programs function as middleware to help diverse networks communicate with each other.
Examples of network management programs include Novell NetWare, the most widely used network operating system for complex interconnected local area networks. Microsoft’s Windows NT Server and IBM’s OS/2 Warp Server are two other popular network operating systems. IBM’s telecommunication monitor CICS (Customer Identification and Control System) is an example of a widely used telecommunications monitor for mainframe-based wide area networks. IBM’s NetView and Hewlett-Packard’s Open View are examples of network management programs for managing several mainframe-based or midrange-based computer networks.
3. Database Management Systems
A DBMS program helps organization use their integrated collections of data records and files known as databases. It allows different user application programs to easily access the same database. For example, a DBMS makes it easy for an employee database to be accessed by payroll, employee benefits, and other human resource programs. A DBMS also simplifies the process of retrieving information from databases in the form of displays and reports. Instead of having to write computer programs to extract information, end users can ask simple questions in a query language. Thus, many DBMS packages provide fourth-generation language (4GLs) and other application development features. Examples of popular mainframe and midrange packages are DB2 by IBM and Oracle 8 by Oracle Corporation.
4. Other System Management Programs
Several other types of system management software are marketed as separate programs or are included as part of an operating system. Utility programs, or utilities, are an important example. Programs like Norton Utilities perform miscellaneous housekeeping and file conversion functions. Examples include data backup, data recovery, virus protection, data compression, and file defragmentation. Most operating systems also provide many utilities that perform a variety of helpful chores for computer users.
Other examples of system support programs include performance monitors and security monitors. Performance monitors are programs that monitor and adjust the performance and usage of one or more computer systems to keep them running efficiently, Security monitors are packages that monitor and control the use of computer systems and provide warning messages and record evidence of unauthorized use of computer resources. A recent trand is to merge both types of programs into operating systems like Microsoft’s Windows NT Server, or into system management software like Computer Associates’ CA-Unicenter, that can manage both mainframe systems and servers in a data centre.