Functions of Operating System
- Input / Output (I/O) Management:
OS manages the input and output of computer. It applies to the flow of the data among the computers. It is the process of managing the input / output devices and their operations. It allows computer to interact with the peripheral devices.
- Command Interpreter:
OS is responsible for reading the command from the user, interpreting it to identify the task to be done and instructing to the hardware component to execute the task. The main function of command interpreter is to get and execute the user specified command. In the MS-DOS, command.com is command interpreter.
- File Management:
A file is the collection of data. File management creates a mechanism creating files, storing data in the files, update, delete operations in the file, managing file attributes, keeping track of all file information. This is responsible for handling way data is stored and retrieved for use in the computer.
- Memory Management:
Computer System includes number of storage devices like registers, cache memory, primary memory, secondary memory etc. Whenever processor needs some data or instructions, it is first searched in registers and then in cache memory, and if still it is not available then it searches in RAM and lastly at Hard Disk. It is the process managing both primary and secondary memory of the computer. It includes allocating memory space for the process while creating the process while creating the process and freeing it after the processing is over.
- Job Management:
It identifies the jobs, finds out their priorities, determines whether the appropriate main memory and secondary memory capability they require is available or not. Then it schedules the job and finally runs each job at the appropriate format with scheduling. Several jobs are kept in memory at one tie. When one job has to wait, the OS takes the CPU away from the job and gives to another job. Some Scheduling algorithm are: First Come First Serve, Shortest Job First, Priority Scheduling, Round Robin Scheduling etc.
The technique of maximum utilization of processor is termed as CPU scheduling.
- Process Management:
It refers to the management of CPU and its processing task. It includes creating process, allocating resources for the process, scheduling, executing and terminating the process after the execution is over.
It deals with running multiple processes. Most operating system allow a process to be assigned a priority which affects its allocation of CPU time. Interactive operating systems also employ some level of feedback in which the task with which the user is working receives higher priority. In many systems there is a background process which runs when no other process is waiting for the CPU.
- User Interface:
An interface is a set of commands or menus through which a user communicates with a program. A command –driven interface is one in which you enter commands whenever by using menu-driven we can select command from various menu displayed on the screen. There are two types of Interface. Graphical User Interface (GUI) and Character User Interface (CUI).
- Interrupt handling:
An interrupt is a signal generated by hardware or software components when they require time of CPU. Interrupts are usually given high priority by OS. When an interrupts occurs, processing task of CPU is stopped interrupts occurs, processing task will resume.
Hardware interrupt: It is the interrupting signal generated from hardware components like I/O devices, CPU memory device
Software interrupt: It is the interrupting signal generated from software components like programs, OS itself, process scheduling.
- Deadlock Prevention:
Deadlock is a situation in which, neither the processing task of CPU is completed nor the CPU is released to execute other task. In this case, CPU remains in idle state. OS is responsible to prevent the deadlock to occur. However , if deadlock occurs, OS detects and recovers from the dead lock.
- Virtual Storage Management:
In multi programming environment, when we multi program at the same time, and the program is larger than main memory(RAM) then the entire job cannot be loaded at once inside the memory . So in this case the OS uses free space of secondary memory which is known as virtual memory.
- Security Management:
OS provides security mechanism on the resources of the computer so that the resources are used only by the authorized users. OS protects resources and information of a computer against destruction an unauthorized access.