Systems Software

Systems software controls the operation of the computer and makes it possible for the other types of software to execute their tasks. The primary component of systems software is known as the operating system. The operating system manages the many tasks that are going on concurrently within a computer, such as handling the input and output operations and managing the transfer of infor­mation between internal memory and the secondary storage. On mainframes, the operating system manages the allocation of processing capability to each of the numerous persons who may be using the computer simultaneously. In this envi­ronment, the operating system must also handle all of the requests for different types of operations that come from each of the users.

On a personal computer, the operating system deals with only one user, so an important operation is managing the transfer of information between the internal memory and secondary storage. Since all PCs in use today have the capability of using magnetic disks as secondary storage, the term disk operating system (DOS)is commonly used to describe a PC's operating system. Several different brands and types of computers can use the same operating system, so it has been possible to achieve some degree of standardization among personal computers through the operating systems. Three commonly used generic oper­ating systemsthat are not machine specific are MS-DOS (Microsoft DOS), OS/2 (Operating System/Two), and UNIX, all of which run on a variety of makes and models of PCs. In addition, there are several machine-specific or proprietary operating systemsfor machines such as the Apple II series and the Macintosh series of PCs.

These three generic PC operating systems are differentiated by the number of tasks and users they can control. MS-DOSis directed toward the use of a single machine to run a single piece of applications software. It is currently the most popular of the three operating systems, with millions of PCs using it. The capability of a personal computer to run MS-DOS software is usually considered the criterion for determining whether or not it is an IBM compatible PC,that is, a PC that runs software written for the original IBM PC or one of its suc­cessors, the IBM PC XT, PC AT, or PS/2 series of computers. Computers that are not IBM compatible include the Apple II and Apple Macintosh series.

OS/2 is a single-user, multitasking operating system that was jointly devel­oped in 1987 by IBM and the world's largest PC software developer, Micro­soft. With OS/2, a user can run multiple tasks concurrently. For example, the user can work with a word processing package and, at the same time, run a mathematical model that requires several hours to complete its calculations. Finally, UNIX, which was originally developed by AT&T for use on minicomputers, has been converted to run on PCs and can direct multiple machines run­ning multiple tasks in a network.

Operating system is an interface between hardware and user; it is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for computing applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers (including handheld computers, desktop computers, supercomputers, video game consoles) as well as some robots, domestic appliances (dishwashers, washing machines), and portable media players use an operating system of some type. Some of the oldest models may however use an embedded operating system that may be contained on a compact disk or other data storage device.

Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. Users may also interact with the operating system with some kind of software user interface (UI) like typing commands by using command line interface (CLI) or using a graphical user interface (GUI, commonly pronounced “gooey”). For hand-held and desktop computers, the user interface is generally considered part of the operating system. On large multi-user systems like Unix and Unix-like systems, the user interface is generally implemented as an application program that runs outside the operating system. (Whether the user interface should be included as part of the operating system is a point of contention.)

Common contemporary operating system families include BSD, Darwin (Mac OS X), Linux, SunOS (Solaris/OpenSolaris), and Windows NT (XP/Vista/7). While servers generally run Unix or some Unix-like operating system, embedded system markets are split amongst several operating systems.