It is a program with following features:
An operating system is a program that acts as an interface between the software and the computer hardware.
It is an integrated set of specialised programs that are used to manage overall resources and operations of the computer.
To make a computer system convenient to use in an efficient manner
To hide the details of the hardware resources from the users
To provide users a convenient interface to use the computer system
To act as an intermediary between the hardware and its users and making it easier for the users to access and use other resources
To manage the resources of a computer system
To keep track of who is using which resource, granting resource requests, according for resource using and mediating conflicting requests from different programs and users
To provide efficient and fair sharing of resources among users and programs
Memory Management -- keeps tracks of primary memory i.e. what part of it is in use by whom, what part is not in use etc. and allocates the memory when a process or program requests it.
Processor Management -- allocates the processor(CPU) to a process and deallocates processor when it is no longer required.
Device Management -- keeps track of all devices. This is also called I/O controller that decides which process gets the device, when, and for how much time.
File Management -- allocates and de-allocates the resources and decides who gets the resources.
Security -- prevents unauthorized access to programs and data by means of passwords and similar other techniques.
Job accounting -- keeps track of time and resources used by various jobs and/or users.
Control over system performance -- records delays between request for a service and from the system.
Interaction with the operators -- The interaction may take place via the console of the computer in the form of instructions. Operating System acknowledges the same, does the corresponding action and informs the operation by a display screen.