FUNCTIONS OF OS:
The main functions of an operating system are as follows:
• Process Management
• Memory Management
• Secondary Storage Management
• I/O Management
• File Management
• Protection
• Networking Management
• Command Interpretation.
Process Management
The CPU executes a large number of programs. While its main concern is the
execution of user programs, the CPU is also needed for other system activities. These
activities are called processes. A process is a program in execution. Typically, a batch
job is a process. A time-shared user program is a process. A system task, such as
spooling, is also a process. For now, a process may be considered as a job or a time-shared program, but the concept is actually more general.
The operating system is responsible for the following activities in connection with
processes management:
• The creation and deletion of both user and system processes
• The suspension and resumption of processes.
• The provision of mechanisms for process synchronization
• The provision of mechanisms for deadlock handling.
Memory Management
Memory is the most expensive part in the computer system. Memory is a large array
of words or bytes, each with its own address. Interaction is achieved through a
sequence of reads or writes of specific memory address. The CPU fetches from and
stores in memory.
There are various algorithms that depend on the particular situation to manage the
memory. Selection of a memory management scheme for a specific system depends
upon many factors, but especially upon the hardware design of the system. Each
algorithm requires its own hardware support.
The operating system is responsible for the following activities in connection with
memory management.
• Keep track of which parts of memory are currently being used and by
whom.
• Decide which processes are to be loaded into memory when memory space
becomes available.
• Allocate and deallocate memory space as needed.
Secondary Storage Management
The main purpose of a computer system is to execute programs. These programs,
together with the data they access, must be in main memory during execution. Since
the main memory is too small to permanently accommodate all data and program, the
computer system must provide secondary storage to backup main memory. Most
modem computer systems use disks as the primary on-line storage of information, of
both programs and data. Most programs, like compilers, assemblers, sort routines,
editors, formatters, and so on, are stored on the disk until loaded into memory, and
then use the disk as both the source and destination of their processing. Hence the
proper management of disk storage is of central importance to a computer system.
There are few alternatives. Magnetic tape systems are generally too slow. In addition,
they are limited to sequential access. Thus tapes are more suited for storing
infrequently used files, where speed is not a primary concern.
The operating system is responsible for the following activities in connection with
disk management:
• Free space management
• Storage allocation
• Disk scheduling.
I/O Management
One of the purposes of an operating system is to hide the peculiarities or specific
hardware devices from the user. For example, in UNIX, the peculiarities of I/O
devices are hidden from the bulk of the operating system itself by the I/O system.
The
operating system is responsible for the following activities in connection to I/O
management:
• A buffer caching system
• To activate a general device driver code
• To run the driver software for specific hardware devices as and when required.
File Management
File management is one of the most visible services of an operating system.
Computers can store information in several different physical forms: magnetic tape,
disk, and drum are the most common forms. Each of these devices has it own
characteristics and physical organization.
For convenient use of the computer system, the operating system provides a uniform
logical view of information storage. The operating system abstracts from the physical
properties of its storage devices to define a logical storage unit, the file. Files are
mapped, by the operating system, onto physical devices.
A file is a collection of related information defined by its creator. Commonly, files
represent programs (both source and object forms) and data. Data files may be
numeric, alphabetic or alphanumeric. Files may be free-form, such as text files, or
may be rigidly formatted. In general a files is a sequence of bits, bytes, lines or
records whose meaning is defined by its creator and user. It is a very general concept.
The operating system implements the abstract concept of the file by managing mass
storage device, such as types and disks. Also files are normally organized into
directories to ease their use. Finally, when multiple users have access to files, it may
be desirable to control by whom and in what ways files may be accessed.
The operating system is responsible for the following activities in connection to the
file management:
• The creation and deletion of files.
• The creation and deletion of directory.
• The support of primitives for manipulating files and directories.
• The mapping of files onto disk storage.
• Backup of files on stable (non volatile) storage.
• Protection and security of the files.
Protection
The various processes in an operating system must be protected from each other’s
activities. For that purpose, various mechanisms which can be used to ensure that the
files, memory segment, CPU and other resources can be operated on only by those
processes that have gained proper authorisation from the operating system.
For example, memory addressing hardware ensures that a process can only execute
within its own address space. The timer ensures that no process can gain control of the
CPU without relinquishing it. Finally, no process is allowed to do its own I/O, to
protect the integrity of the various peripheral devices. Protection refers to a
mechanism for controlling the access of programs, processes, or users to the resources
defined by a computer controls to be imposed, together with some means of
enforcement.
Protection can improve reliability by detecting latent errors at the interfaces between
component subsystems. Early detection of interface errors can often prevent
contamination of a healthy subsystem by a subsystem that is malfunctioning. An
unprotected resource cannot defend against use (or misuse) by an unauthorized or
incompetent user.
Networking
A distributed system is a collection of processors that do not share memory or a clock.
Instead, each processor has its own local memory, and the processors communicate
with each other through various communication lines, such as high speed buses or
telephone lines. Distributed systems vary in size and function. They may involve
microprocessors, workstations, minicomputers, and large general purpose computer
systems.
The processors in the system are connected through a communication network, which
can be configured in the number of different ways. The network may be fully or
partially connected. The communication network design must consider routing and
connection strategies and the problems of connection and security.
A distributed system provides the user with access to the various resources the system
maintains. Access to a shared resource allows computation speed-up, data availability,
and reliability.
Command Interpretation
One of the most important components of an operating system is its command
interpreter. The command interpreter is the primary interface between the user and the
rest of the system.
Many commands are given to the operating system by control statements. When a
new job is started in a batch system or when a user logs-in to a time-shared system, a
program which reads and interprets control statements is automatically executed. This
program is variously called (1) the control card interpreter, (2) the command line
interpreter, (3) the shell (in Unix), and so on. Its function is quite simple: get the next
command statement, and execute it.
The command statements themselves deal with process management, I/O handling,
secondary storage management, main memory management, file system access,
protection, and networking.
No comments:
Post a Comment