Type of Operating System Services
Type of Operating System Services
1) Program Execution
The purpose of computer system is to allow the users to execute programs in an efficient
manner. The operating system provides an environment where the user can conveniently run
these programs. The user does not have to worry about the memory allocation or de-
allocation or any other thing because these things are taken care of by the operating system.
To run a program, the program is required to be loaded into the RAM first and then to assign
CPU time for its execution. Operating system performs this function for the convenience of
the user. It also performs other important tasks like allocation and de-allocation of memory,
CPU scheduling etc.
2) I/O Operations
Each program requires an input and after processing the input submitted by user it produces
output. This involves the use of I/O devices. The operating system hides the user from all
these details of underlying hardware for the I/O. So the operating system makes the users
convenient to run programs by providing I/O functions. The I/O service cannot be provided
by user-level programs and it must be provided by the operating system.
4) Communication
Operating system performs the communication among various types of processes in the form
of shared memory. In multitasking environment, the processes need to communicate with
each other and to exchange their information. These processes are created under a
hierarchical structure where the main process is known as parent process and the sub
processes are known as child processes.
5) Error Detection
Operating system also deals with hardware problems. To avoid hardware problems the
operating system constantly monitors the system for detecting the errors and fixing these
errors (if found). The main function of operating system is to detect the errors like bad
sectors on hard disk, memory overflow and errors related to I/O devices. After detecting the
errors, operating system takes an appropriate action for consistent computing.
This service of error detection and error correction cannot be handled by user programs
because it involves monitoring the entire computing process. These tasks are too critical to be
handed over to the user programs. A user program, if given these privileges; can interfere
with the corresponding operation of the operating systems.
6) Resource allocation
In the multitasking environment, when multiple jobs are running at a time, it is the
responsibility of an operating system to allocate the required resources (like as CPU, main
memory, tape drive or secondary storage etc.) to each process for its better utilization. For
this purpose various types of algorithms are implemented such as process scheduling, CPU
scheduling, disk scheduling etc.
7) Accounting
Operating system keeps an account of all the resources accessed by each process or user. In
multitasking, accounting enhances the system performance with the allocation of resources to
each process ensuring the satisfaction to each process.
8) Protection System
If a computer system has multiple users and allows the concurrent execution of multiple
processes, then the various processes must be protected from one another's activities.
3. File Management
A file is a collection of related information defined by its creator. Computer can store files on
the disk (secondary storage), which provide long term storage. Some examples of storage
media are magnetic tape, magnetic disk and optical disk. Each of these media has its own
properties like speed, capacity, and data transfer rate and access methods.
A file system is normally organized into directories to make ease of their use. These
directories may contain files and other directories. Every file system is made up of similar
directories and subdirectories. Microsoft separates its directories with a back slash and its file
names aren't case sensitive whereas Unix-derived operating systems (including Linux) use
the forward slash and their file names generally are case sensitive.
The main activities of an operating system in regard to file management are creation and
deletion of files/ folders, support of manipulating files/ folders, mapping of files onto
secondary storage and taking back up of files.
A device driver is a specific type of computer software that is developed to allow interaction
with hardware devices. Typically this constitutes an interface for , communicating with the
I/O device, through the specific computer bus or communication subsystem that the hardware
is connected with. The device driver is a specialized hardware dependent computer program
that enables another program, typically an operating system to interact transparently with a
hardware device, and usually provides the required interrupt handling necessary for the time
dependent hardware interfacing.
5. Secondary-Storage Management
A computer system has several levels of storage such as primary storage, secondary storage
and cache storage. But primary storage and cache storage can not be used as a permanent
storage because these are volatile memories and its data are lost when power is turned off
Moreover, the main memory is too small to accommodate all data and programs. So the
computer system must provide secondary storage to backup the main memory. Secondary
storage consists of tapes drives, disk drives, and other media.
The secondary storage management provides an easy access to the file and folders placed on
secondary storage using several disk scheduling algorithms.
The four major activities of an operating system in regard to secondary storage management
are:
Managing the free space available on the secondary-storage device .
Allocation of storage space when new files have to be written .
Scheduling the requests for memory access.
Creation and deletion of files.
6. Network Management
An operating system works as a network resource manager when multiple computers are in a
network or in a distributed architecture. A distributed system is a collection of processors that
do not share memory, peripheral devices, or a clock. The processors communicate with one
another through communication lines called network The communication-network design
must consider routing and network strategies, and the problems with network and security.
Most of today's networks are based on client-server configuration. A client is a program
running on the local machine requesting to a server for the service, whereas a server is a
program running on the remote machine providing service to the clients by responding their
request.