An operating system is an interface which provides services to both the user and to the programs. It provides an environment for the program to execute. It also provides users with the services of how to execute programs in a convenient manner. The operating system provides some services to program and also to the users of those programs. The specific services provided by the OS are off course different.
Following are the common services provided by an operating system:
- Program execution
- I/O operations
- File system manipulation
- Communication
- Error detection
- Resource allocation
- Protection
1) Program Execution
An operating system must be able to load many kinds of activities into the memory and to run it. The program must be able to end its execution, either normally or abnormally.
A process includes the complete execution of the written program or code. There are some of the activities which are performed by the operating system:
The operating system Loads program into memory
It also Executes the program
It Handles the program’s execution
It Provides a mechanism for process synchronization
It Provides a mechanism for process communication
2) I/O Operations
The communication between the user and devices drivers are managed by the operating system.
I/O devices are required for any running process. In I/O a file or an I/O devices can be involved.
I/O operations are the read or write operations which are done with the help of input-output devices.
Operating system give the access to the I/O devices when it required.
3) File system manipulation
The collection of related information which represent some content is known as a file. The computer can store files on the secondary storage devices. For long-term storage purpose. examples of storage media include magnetic tape, magnetic disk and optical disk drives like CD, DVD.
A file system is a collection of directories for easy understand and usage. These directories contain some files. There are some major activities which are performed by an operating system with respect to file management.
The operating system gives an access to the program for performing an operation on the file.
Programs need to read and write a file.
The user can create/delete a file by using an interface provided by the operating system.
The operating system provides an interface to the user creates/ delete directories.
The backup of the file system can be created by using an interface provided by the operating system.
4) Communication
In the computer system, there is a collection of processors which do not share memory peripherals devices or a clock, the operating system manages communication between all the processes. Multiple processes can communicate with every process through communication lines in the network. There are some major activities that are carried by an operating system with respect to communication.
Two processes may require data to be transferred between the process.
Both the processes can be on one computer or a different computer, but are connected through a computer network.
5) Error handling
An error is one part of the system that may cause malfunctioning of the complete system. The operating system constantly monitors the system for detecting errors to avoid some situations. This give relives to the user of the worry of getting an error in the various parts of the system causing malfunctioning.
The error can occur anytime and anywhere. The error may occur anywhere in the computer system like in CPU, in I/O devices or in the memory hardware. There are some activities that are performed by an operating system:
The OS continuously checks for the possible errors.
The OS takes an appropriate action to correct errors and consistent computing.
6) Resource management
When there are multiple users or multiple jobs running at the same time resources must be allocated to each of them. There are some major activities that are performed by an operating system:
The OS manages all kinds of resources using schedulers.
CPU scheduling algorithm is used for better utilization of CPU.
7) Protection
The owners of information stored in a multi-user computer system want to control its use. When several disjoints processes execute concurrently it should not be possible for any process to interfere with another process. Every process in the computer system must be secured and controlled.