Operating System Services
An operating system provides services to programs and to the users of those programs. It provided by one environment for the execution of programs. The services provided by one operating system is different than other operating system. Operating system makes the programming task easier. The common service provided by the operating system is listed below.
1. Program execution
2. I/O operation
3. File system manipulation
4. Communications
5. Error detection
Program execution:
Operating system loads a program into memory and executes the program. The program must be able to end its execution, either normally or abnormally.
I/O Operation:
I/O means any file or any specific I/O device. Program may require any I/O device while running. So operating system must provide the required I/O.
File system manipulation:
Program needs to read a file or write a file. The operating system gives the permission to the program for operation on file.
Communication:
Data transfer between two processes is required for some time. The both processes are on the one computer or on different computer but connected through computer network. Communication may be implemented by two methods:
a.Shared memory
b. Message passing.
Error detection:
error may occur in CPU, in I/O devices or in the memory hardware. The operating system constantly needs to be aware of possible errors. It should take the appropriate action to ensure correct and consistent computing.
Operating system with multiple users provides following services.
1. Resource Allocation
2. Accounting
3. Protection
Resource Allocation :
If there are more than one user or jobs running at the same time, then resources must be allocated to each of them. Operating system manages different types of resources require special allocation code, i.e. main memory, CPU cycles and file storage. There are some resources which require only general request and release code. For allocating CPU, CPU scheduling algorithms are used for better utilization of CPU. CPU scheduling algorithms are used for better utilization of CPU. CPU scheduling routines consider the speed of the CPU, number of available registers and other required factors.
Accounting :
Logs of each user must be kept. It is also necessary to keep record of which user how much and what kinds of computer resources. This log is used for accounting purposes. The accounting data may be used for statistics or for the billing. It also used to improve system efficiency.
Protection :
Protection involves ensuring that all access to system resources is controlled. Security starts with each user having to authenticate to the system, usually by means of a password. External I/O devices must be also protected from invalid access attempts. In protection, all the access to the resources is controlled. In multiprocess environment, it is possible that, one process to interface with the other, or with the operating system, so protection is required.