- An operating system is a system program that creates an interface between the user and the computer system.
- It provides an environment in which other programs can run smoothly and n efficient manner.
- Operating system manages and controls all the computer hardware and resources and provides efficient CPU utilization.
Basic Structure of Operating System:
The lowest layer contains physical devices. In this layer all the physical devices such as CPU, memory and other input-output devices comes under this layer. It provides the basic computing resources.
It may include command interpreter (shell), compiler, editor, and similar application independent program. This program deals with application program to run it efficiently..
- Beside this, operating system also performs following important tasks:
- Process Management
- Memory Management
- I/O Management
- File Management
- Resource Management
A process is a program which is currently in execution. The process management module manages process creation and termination operations. It also keeps track of all the currently running processes, how they interact with one another and what resources they are using.
The memory management module keeps track of allocation and de-allocation of the main memory used by various system programs and user programs for their execution. A program would require main memory for its execution. It would also need memory for reading and writing files from and to the disk.
A program would need different kind of input-output devices for reading and writing operations during its execution such as terminals, disk, printers, disk drives, keyboard, mouse etc. Operating system manages all these activities. It keeps track of I/O request from different programs and assigning them based on program’s priority.
This module takes care about file organizations, directory structures and operations on files and directories, sharing and protection of files. It also allows reading, writing and manipulation of the files.
The job of operating system is to provide controlled environment to the processor, memory and input/output devices among various programs, which are competing for them.
The operating system keeps track of which program is using which resource? how much time it will use that resources? and who will given a chance to utilize that resources based on its priority to solve conflicting request from different programs.