Operating System - Services
An Operating System provides services to both the users and to the
programs.
• It provides programs an environment to execute.
• It provides users the services to execute the programs in a
convenient manner.
Following are a few common services provided by an operating
system −
• Program execution
• I/O operations
• File System manipulation
• Communication
• Error Detection
• Resource Allocation
• Protection
Program execution
Operating systems handle many kinds of activities from user
programs to system programs like printer spooler, name servers, file
server, etc. Each of these activities is encapsulated as a process.
A process includes the complete execution context (code to execute,
data to manipulate, registers, OS resources in use). Following are
the major activities of an operating system with respect to program
management −
• Loads a program into memory.
• Executes the program.
• Handles program's execution.
• Provides a mechanism for process synchronization.
• Provides a mechanism for process communication.
• Provides a mechanism for deadlock handling.
I/O Operation
An I/O subsystem comprises of I/O devices and their corresponding
driver software. Drivers hide the peculiarities of specific hardware
devices from the users.
An Operating System manages the communication between user and
device drivers.
• I/O operation means read or write operation with any file or any
specific I/O device.
• Operating system provides the access to the required I/O device
when required.
File system manipulation
A file represents a collection of related information. Computers can
store files on the disk (secondary storage), for long-term storage
purpose. Examples of storage media include magnetic tape,
magnetic disk and optical disk drives like CD, DVD. Each of these
media has its own properties like speed, capacity, data transfer rate
and data access methods.
A file system is normally organized into directories for easy
navigation and usage. These directories may contain files and other
directions. Following are the major activities of an operating system
with respect to file management −
• Program needs to read a file or write a file.
• The operating system gives the permission to the program for
operation on file.
• Permission varies from read-only, read-write, denied and so on.
• Operating System provides an interface to the user to
create/delete files.
• Operating System provides an interface to the user to
create/delete directories.
• Operating System provides an interface to create the backup of
file system.
Communication
In case of distributed systems which are a collection of processors
that do not share memory, peripheral devices, or a clock, the
operating system manages communications between all the
processes. Multiple processes communicate with one another
through communication lines in the network.
The OS handles routing and connection strategies, and the problems
of contention and security. Following are the major activities of an
operating system with respect to communication −
• Two processes often require data to be transferred between
them
• Both the processes can be on one computer or on different
computers, but are connected through a computer network.
• Communication may be implemented by two methods, either by
Shared Memory or by Message Passing.
Error handling
Errors can occur anytime and anywhere. An error may occur in CPU,
in I/O devices or in the memory hardware. Following are the major
activities of an operating system with respect to error handling −
• The OS constantly checks for possible errors.
• The OS takes an appropriate action to ensure correct and
consistent computing.
Resource Management
In case of multi-user or multi-tasking environment, resources such
as main memory, CPU cycles and files storage are to be allocated to
each user or job. Following are the major activities of an operating
system with respect to resource management −
• The OS manages all kinds of resources using schedulers.
• CPU scheduling algorithms are used for better utilization of
CPU.
Protection
Considering a computer system having multiple users and
concurrent execution of multiple processes, the various processes
must be protected from each other's activities.
Protection refers to a mechanism or a way to control the access of
programs, processes, or users to the resources defined by a
computer system. Following are the major activities of an operating
system with respect to protection −
• The OS ensures that all access to system resources is
controlled.
• The OS ensures that external I/O devices are protected from
invalid access attempts.
• The OS provides authentication features for each user by
means of passwords.
User Interface of an Operating System
Usually Operating system comes in three forms or types. Depending
on the interface their types have been further subdivided. These are:
• Command line interface
• Batch based interface
• Graphical User Interface
Let's get to know in brief about each of them.
The command line interface (CLI) usually deals with using text
commands and a technique for entering those commands.
The batch interface (BI): commands and directives are used to
manage those commands that are entered into files and those files
get executed. Another type is the graphical user interface
(GUI): which is a window system with a pointing device (like mouse
or trackball) to point to the I/O, choose from menus driv
Refer the following links:
https://silo.tips/download/cs420-operating-systems-os-services-
system-calls