Q2. Explain how each operating system service provides convenience to the users.
Ans. An operating system provides an environment for the execution of programs. It provides certain services to programs and to the users of the programs. These operating system services are provided for the convenience of the programmer, to make the programming task easier.
Figure: Operating System Services
- Program execution
The system must be able to load a program into memory and to run the program. The program must be able to end its execution, either normally or abnormally (indicating error).
- Input/Output Operation
A running program may require input/output, which may involve a file or an input/output device. For efficiency and protection, users usually cannot control input/output devices directly. Therefore, the operating system must provide a means to do input/output.
- File-System Manipulation
Programs need to read and write files and directories. They also need to create and delete them by name, search for a given file, and list file information. Finally, some programs include permissions management to allow or deny access to files or directories based on file ownership.
- Resource Allocation
Where there are multiple users or multiple jobs running at the same time, resources must be allocated to each of them.
For instance, in determining how best to use the CPU, operating system have CPU-scheduling routines that takes into account the speed of the CPU, the jobs that must be executed, the number of registers available and other factors. There may also be routines to allocate printers, modems, USB storage drives, and other peripheral devices.
We want to keep track of which users use how much and what kinds of computer resources. This record keeping may be used for accounting or simply for accumulating usage statistics.
- Protection and Security
The owners of information stored in a multiuser or networked computer system may want to control use of that information. When several separate processes execute concurrently, it should not be possible for one process to interface with the others or with the operating system itself.
Protection involves ensuring that all access to system resources is controlled.
Security of the system from outsiders is also important. Such security starts with requiring each user to authenticate himself or herself to the system, usually by means of a password, to gain access to system resources.