A computer system can be divided into five components; the hardware, the operating system, the utilities, the application programs and the end users. Following diagram shows the actual position of an operating system among these components.
Computer Hardware provides basic computing resources like as CPU, memory and I/O devices. Each hardware component plays an important role in computing. The input devices accept data and instructions and convert them to a form that the computer can understand. The CPU processes the data and instructions submitted by the input devices and turn this data into meaningful information.
The primary storage (i.e. RAM) temporarily stores the data and program instructions during processing. It also stores intermediate results of the processing. Finally, the output devices present the data in a form that can be understood. To show the output result of processes to the user output devices like monitors and printers are used.
The output on a monitor is usually called soft-copy and the output on a printer is usually called hard-copy, Sometimes you may need to store your data and information permanently so that you can refer it again for the later use. For this purpose, interchangeable devices like floppy disk drives, CD:-ROM drives and pen drives, or permanently installed devices like hard disks are used as permanent storage mediums.
Operating System controls the hardware components and coordinates for an efficient use of these hardware components for the various users. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers. Operating system is system software that works as an extended machine as well as a resource manager.
As an extended machine, the operating system hides all the details about the underlying hardware and presents the users with a virtual machine that is easier to use, For example, although the approach in saving a file in a floppy disk, hard disk or magnetic tape is physically different but the OS does not let the users aware about the issues like how to save, where to save and at what speed to write. Rather these issues are handled by the OS.
As a resource manager, the operating system is responsible for managing the resources in a computer and decides which program runs at what time, how much memory to be allocated for the program, how to manage the concurrent processes etc. The main functions of an operating system include process management, memory management, I/O device management, disk management etc.
Utilities are the small programs that provide an addition to the capabilities provided by an operating system. Generally utilities perform a specific task related to managing the system resources. Operating systems contain a number of utilities for managing disk drives, printers, and other devices. Utilities are installed as memory resident programs that assist in system management. These utilities are essential and critical to modern computer environments. They perform the important tasks such as disk optimization and anti-virus protection. Most system utilities are installed, configured and periodically updated for a specific computer configuration.
Application programs are the computer programs which are used for the purpose of performing specific tasks using a computer. Application programs define the ways in which the system resources are used to solve the computing problems of the users. Examples of the application programs include word processors, accounting packages, interpreters, web browsers, computer games, database systems, business oriented software etc.
End users interact with the computer system to get response of their inputs. There are different types of users who interact with the computer system; these are programmers, native users and the database administrators. The term 'end user' usually implies an individual with a relatively low level of computer expertise. Unless you are a programmer or engineer, you are almost an end user.
System software is usually the low level software required to manage computer resources and to support the execution of application programs. Whereas application software is software that performs specific functions needed directly by the end users.
Dynamic view of computer system components
As shown in above figure, the operating system directly interacts with the computer hardware as well as it controls the use of hardware among different types of application programs. A dynamic view of the computer system components can be seen in figure.
The user directly interacts with an application program/ software like as MS-Word and submits the requests (e.g. saving a file on the hard disk). This process is an input from the user.
The application program accepts the request from user and passes it to the operating system; it is a service request from an application program.
The operating system accepts a service request and performs the controls over hardware accordingly. So in this case it is the actual responsibility of an operating system to write the contents on hard disk i.e. a hardware instruction from operating system.