Operating system supports the basic functions of the computer and is a low-level software. The functions of operating systems are as described below:
1. I/O management:
OS manages I/O devices and makes the I/O process effective. OS accepts the input from the input device, stores it in the main memory, ask the CPU to process it and finally provides the result to the output devices for output.
2. Command interpreter:
Command interpreter is one of the part of operating system which reads the commands that user types in at a terminal, interprets them and translate them into a detailed set of instructions that the computer hardware can understand. It varies widely from one OS to other OS. Every OS must provide command interpreter for its operation.
3. Memory management:
Memory is the large array of words or bytes, each with its own address. When user requests CPU for read/write operation, OS determines the amount of memory required for the program instructions and data. Then, OS allocates required memory to load the program and data into RAM. When program terminates its memory area is free and the same memory area is allocated for other programs.
4. Process management:
OS finds the status of processor and processes, chooses a job, chooses processer in the job, allocates the processor to the process and frees the processor when the process is executed.
5. Time sharing:
OS manages the time of CPU. The kernel OS checks frequency for other processes requesting CPU time. Time-sharing checks for CPU request from higher priority processes that are made every 10 milliseconds. When two or more processes at the same priority level are competing for the CPU time, CPU time is sliced into segments, defined by time slice and passed from process to process in a round robin fashion, preventing a single process from monopolizing the CPU until it blocks or terminates.
OS makes sure that only authorized users get access to the computer and its data and the users only do things they are authorized to do.
7. Deadlock prevention:
During processing, a situation can arise in which a resource shared by two or more processes cannot continue because the resource required by one process is held by the other. This situation is called deadlock. OS ensures that the above condition do not hold by carefully allocating resources.
8. Interrupt handling:
Interrupt is a signal generated from a device or program when they need attention of the CPU. OS determines the type of interrupt and priority of the interrupt, stops the execution process of CPU, preserves the initial state of the CPU, perform the requested operation and brings the CPU at the same state when it was stopped.
9. Virtual storage:
If there are programs larger than main memory (RAM) of the computer, OS uses the reserved space in the secondary memory which is termed as virtual memory. It makes the execution of larger program (than RAM) possible but at the same times the operation becomes slower.