Operating system is the most important system software. It is a collection of system software and is stored on the storage device such as hard disk, CD-ROM, floppy disk (or in ROM). When a computer is switched on, the operating system is transferred from the storage device into main memory. Some handheld devices have the entire operating system in the ROM chips. This type of operating system is difficult to update.

An operating system controls and co-ordinates the overall operations of a computer system. It manages the computer hardware, controls the execution of application programs and provides the set of services to the users. The operating system acts as an interface between user and the computer. The users interact with, the operating system indirectly through application program. For a computer to operate, an operating system must be loaded in the main memory.

Operating system performs the following basic tasks;

Accepts input from input devices.
Sends output to output devices.
Manages the application programs in memory.
Manages the flies on the storage devices.
Manages & controls the I/O devices etc.

The operating system is responsible for managing hardware resources. An application program cannot access input/output devices or execute program instructions itself, the operating system performs these tasks through CPU on behalf of application programs. The operating system acts as a platform on which various application programs are executed. The user requests the application program to perform a particular task and the application program refers the request of user to operating system.

Initially, operating system is divided into two main parts;

1. Resident part: This part of operating system is known as kernel. Basically, it is a core part of operating system. It is responsible for hardware control, memory and process management and inter-process communication. It contains the critical functions. It is loaded into the main memory during the booting process of computer and performs its functions residing in the main memory. The kernel will be discussed in the next topic.

2. Non-resident part: This part of operating system is loaded into main memory only when required.

Functions of Operating System:

An operating system performs different functions in the computer system. It is difficult to perform these functions without operating system. The major functions of, a typical operating system are;

1. The Operating System as Extended Machine:

The operating system acts as an extended machine by translating the user commands, into machine language code. The processor executes the machine language code and operating system re-translates the output back into the user y readable form. Similarly, for I/O operations on files, the files are read or modified by the users. The files are presented in a form that a user can easily understand them, i.e. in readable form. The details about how I/O operations are performed on disk are hidden from the users. The operating system presents the files in simple view, so that user can easily perform read and write operations.

2. The Operating System as User/Computer Interface:

The operating system provides interface to the user to perform different operations on the computer, but it hides the details about the hardware. Different users use the computer for different purposes.

The end-user interact with the computer through application program to solve his problems. He is not concerned with the details of hardware. Thus, an end-user, views a computer system in terms of a set of applications.

The operating system provides facilities and services to the programmer to develop computer programs. These services are editor and debugger programs that are provided in the form of system programs. These are not part of the operating system. But these are supplied with the operating system and an referred to as application program development tools. The programmer develops the application programs using these programs through operating system. The operating system hides the details of the hardware from the programmer and provides the interface to the programmer for using the system. The programmer can develop an application on one computer and execute on another computer.

3. The Operating System as Resource Manager:

A computer system may consist of many resources. These resources include CPU, memory, storage devices, I/O devices etc. The operating system is responsible for allocating and managing various resources to different processes.

Resource allocation is very important in mainframe system. In these systems, multiple users work on the same system simultaneously. In this case, there may be many requests of different users to access different resources of the system. These requests may be conflicting. The operating system must decide how to allocate resources to specific programs and users.

For example, if multiple programs are running on a computer and all are trying to print their output simultaneously on the same printer. In this case, the operating system manages these tasks by buffering all the output for the printer into files on a disk. The operating system sends the output from the disk files to the printer one by one.

The operating system also manages and controls the flow of data between user programs and I/O devices. The processor itself is a resource, and the operating system must determine how much processor time is to be devoted to the execution of a particular user program. In case of multiprocessor system, the operating system manages the execution of programs on different processors and flow of data between different processors and I/O devices.

Author's Bio: 

Imran Zafar writes articles about computer basics and database management such as
elements of communication, history of database and advantages of database management system.