Unit 1 (Note 1)
Unit 1 (Note 1)
Unit 1 (Note 1)
Introduction
An Operating System performs all the basic tasks like managing file, process, and
memory. Thus operating system acts as manager of all the resources, i.e. resource
manager. Thus operating system becomes an interface between user and machine.
Types of Operating Systems: Some of the widely used operating systems are as
follows-
1. Batch processing OS
2. Distributed OS
3. Time sharing OS
4. Multi tasking OS
5. Real-time OS
6. Network OS
This type of operating system does not interact with the computer directly. There
is an operator which takes similar jobs having same requirement and group them
into batches. It is the responsibility of operator to sort the jobs with similar
needs.
Eg- payroll statement, bank statement
Advantages:
Processors of the batch systems know how long the job would be when it is in
queue
Multiple users can share the batch systems
The idle time for the batch system is very less
It is easy to manage large work repeatedly in batch systems
Disadvantages:
Batch systems are hard to debug.
It is sometimes costly
The other jobs will have to wait for an unknown time if any job fails.
2.Distributed OS-
In this operating system various computers are connected through a
single communication channel.
These independent computers have their memory unit and CPU and are
known as loosely coupled systems.
The major benefits of such type of operating system are that a user can
access files that are not present on his system but another connected
system.
Remote access is available to the systems connected to this work.
Eg- LOCUS
Advantages
Failure of one system will not affect the other systems because all
the computers are independent of each other.
The load on the host system is reduced.
As the workload and resources are shared therefore the
calculations are performed at higher speed.
Data exchange speed is increased with the help of electronic mail.
Disadvantages
The setup cost is high.
Software used for such system is highly complex.
Failure of the main network will lead to failure of the main system.
Advantages:
It provides more output from all the resources as there is maximum
utilization of systems.
It provides the best memory management allocation.
These systems are always error free.
Shifting one task to another takes very little time.
Disadvantages:
System resources are extremely expensive.
The algorithms used are very complex.
Only limited task can run at a single time.
6. Mobile OS:
A mobile operating system is for smart phones, tablets. It is a platform on
which other application can run on mobile device.
Eg- android, iOS, windows mobile OS
Advantages:
It provides an ease to user.
Disadvantages:
Some of the mobile operating systems give poor battery quality to users.
Some are not user friendly.
Functions of operating system:
There are two set of operating system services; one set is helpful for the user
and another set is helpful for system.
Set of services that are helpful to the user:
i. User Interface: almost all operating system have user interface (UI).
There are three types of user interface;
a) Command Line Interface (CLI): which uses text commands
and it is a method or program to allow entering and editing the
commands.
b) Batch Interface (BI): commands and directives are used to
manage those commands that are entered into files and those
files get executed.
c) Graphical User Interface: which is a window system with a
pointing device (like mouse or trackball) to point to the I/O,
choose from menus driven interface and to make choices
viewing from a number of lists and a keyboard to entry the
texts.
ii. Program Execution: The operating system must have the capability
to load a program into memory and execute that program.
Furthermore, the program must be able to end its execution, either
normally or abnormally (indicating error).
iii. I/O operation: A running program may require I/O, which may
involve a file or an I/O device. For specific devices, special functions
may be desired (such as recording to a CD or DVD drive). For
efficiency and protection, users usually cannot control I/O devices
directly. Therefore, the operating system must provide a means to do
I/O.
iv. File system manipulation: Programs need has to be read and then
write them as files and directories. File handling portion of operating
system also allows users to create and delete files by specific name
along with extension, search for a given file and / or list file
information. Some programs comprise of permissions management
for allowing or denying access to files or directories based on file
ownership.
v. Communication: Process needs to swap over information with other
process. Processes executing on same computer system or on
different computer systems can communicate using operating system
support. Communication between two processes can be done using
shared memory or via message passing.
vi. Error detection: Errors may occur in the CPU and memory hardware
(such as a memory error or a power failure), in I/0 devices (such as a
parity error on tape, a connection failure on a network, or lack of
paper in the printer), and in the user program (such as an arithmetic
overflow, an attempt to access an illegal memory location). For each
type of error the operating system should take the appropriate action
to ensure correct and consistent computing.
Another set of operating system service is helpful for system:
vii. Resource Allocation: When there are multiple users or multiple jobs
running at the same time, resources must be allocated to each of them.
Many different types of resources are managed by the operating
system. Some (such as CPU cycles, main memory, and file storage)
may have special allocation code, whereas others (such as I/O
devices) may have much more general request and release code. For
instance, in determining how best to use the CPU, operating systems
have CPU-scheduling routines that take 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.
viii. Accounting: 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. Usage
statistics may be a valuable tool for researchers who wish to
reconfigure the system to improve computing services.
ix. Protection and security: Protection includes in ensuring all access to
system resources in a controlled manner. For making a system secure,
the user needs to authenticate him or her to the system before using
(usually via login ID and password).
System Programs:
System programs, also known as system utilities, provide a convenient
environment for program development in execution.
Some of them are simply user interfaces to system calls; others are
considerably more complex. They can be divided into these categories:
i. File Management: These programs create, delete, copy, rename,
print, list and generally manipulate files and directories.
ii. Status information: Information like date, time amount of available
memory, or disk space is asked by some users. Others are providing
detailed performance, logging, and debugging information which is
more complex. All this information is formatted and displayed on
output devices or printed. Terminal or other output devices or files or
a window of GUI is used for showing the output of programs.
iii. File modification: For modifying the contents of files we use this.
For Files stored on disks or other storage devices, we used different
types of editors. For searching contents of files or perform
transformations of files we use special commands.
iv. Programming language support: Compilers, assemblers, debuggers,
and interpreters for common programming languages (such as C,
C++, Java, Visual Basic) are often provided to the user with the
operating system.
v. Program loading and execution: When the program is ready after
Assembling and compilation, it must be loaded into memory for
execution. A loader is part of an operating system that is responsible
for loading programs and libraries. It is one of the essential stages for
starting a program. Loaders, relocatable loaders, linkage editors, and
Overlay loaders are provided by the system.
vi. Communications: These programs provide the mechanism for
creating virtual connections among processes, users, and computer
systems. They allow users to send messages to one another's screens,
to browse Web pages, to send electronic-mail messages, to log in
remotely, or to transfer files from one machine to another.