An Operating System (OS) is a software program. The OS is an interface between a computer user and computer hardware. An operating system is a software which performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.
EX : Windows(Windows 10, Windows 8, Windows 7, Windows Vista, and Windows XP), DOS, Linux, Mac OS X.
Classification of Operating systems :
- Multi-user: Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users.
- Multiprocessing : Supports running a program on more than one CPU.
- Multitasking : Allows more than one program to run concurrently.
- Real-time: Responce to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time.
Objectives of Operating System :
- 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 efficient and fair sharing of resources among users and programs.
Characteristics of 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 processor 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.