An operating system (OS) is a software, that manages the computer hardware, and provides common services for execution of various application software or in other words, it works as an intermediator between the hardware and the Application software. Every computer possesses an operating system to run other programs present in it.
Types of Operating System
* Microsoft Windows
* Apple iOS
* Google’s Android OS
* Apple macOS
* Linux Operating System
Important Functions of an Operating System
* Memory Management − Keeps track of the 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 the processor when it is no longer required.
* Device Management − Keeps track of all the 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 other similar techniques.
* Job Accounting − Keeps track of time and resources used by various jobs and/or users.
* Control Over System Performance − Records delays between the request for a service and from the system.
* Interaction with the Operators − Interaction may take place via the console of the computer in the form of instructions. The Operating System acknowledges the same, does the corresponding action and informs the operation by a display screen.
* Error-detecting Aids − Production of dumps, traces, error messages, and other debugging and error-detecting methods.
* Coordination Between Other Software and Users − Coordination and assignment of compilers, interpreters, assemblers, and other software to the various users of the computer systems.
The Objectives of the Operating System are:
* To make the 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, 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, and mediating conflicting requests from different programs and users.
* To provide an efficient and fair sharing of resources among users and programs.