UNIT-IV
OPERATING
SYSTEM
Operating
System:
Q1)What
is Operating System? Explain its Functions?
Ans:
An operating system is a
system software that acts as an intermediary between the user and the Hardware.
It is a collection of software that handles resources and provides general
services for the other applications that run over them.
An operating system (sometimes abbreviated as "OS") is
the program that, after being initially loaded into the computer by a boot
program, manages all the other programs in a computer.
Example:
Mac, MS Windows, Linux, Solaris, Android etc are some of the
operating systems.
Functions:
The common functions of an operating system:
· Process management A process is a program in execution. The
operating system decides which process to run. It also assigns priority to the
processes.
·Memory management Operating system is responsible to allocate and
de-allocate memory.
·Device management The operating system controls accesses to the
I/O devices among the processes.
·File management: The file system in an operating system allows
users to create, delete, modify, open, close, and apply other operations to
various types of files.
·Resource
Management: The resource management
function of an OS allocates computer resources such as CPU time, main memory,
secondary storage, and input and output devices for use
·Data
Management: The data management
functions of an OS govern the input and output of the data and their location,
storage, and retrieval.
·Communication
Management: The OS establishes a
standard means of communication between users and their computer systems. It
does this by providing a user interface and a standard set of commands that
control the hardware.
·Errors
management: The operating system
identify the error or false information is given by the user.
Characteristics
of an Operating System
• Concurrency: being able to
handle events as they occur and executing multiple tasks in parallel;
• Sharing the resources for a
number of reasons:
1 -Cost
- -Using
the work of others
- -Sharing
data: use the same data in several different programs possibly used by several
different users.
• Removing redundancy;
• Long-term storage of
information (privacy, integrity, security);
• Non determinacy: an operating system must be able to handle events occurring in an unpredictable order.
Measuring System
Performance
Q2) Discuss about measuring system
performance?
Ans: Efficiency of an
operating system and overall performance of a computer system are measured
usually in terms of the following parameters:
1. Throughput: Throughput is
the amount of work that a system is able to do per unit time. It is measured as
the number of jobs (processes) completed by the system per unit time.
For example, if
a system is able to complete n processes in t seconds, its throughput is n/t
processes per second during that interval. Throughput is measured normally in
processes per hour.
Note that the
throughput of a system does not depend on its jobs processing efficiency only,
but also on the number of jobs processed. For long process, throughput of a
system may be one process/hour; whereas for short processes, it may be 100
processes /hour for the same system.
2. Turnaround
time:
From the point of view of an individual user, an important criterion is how
long it takes a system to complete a job submitted by him/her. Turnaround time
is the interval between the time of submission of a job to the system for
processing to the time of completion of the job. Although, higher throughput is
desirable from the pointy of view of overall system performance, individual
users are more interested in better turnaround time for their jobs.
3. Response time: Turnaround time is not a suitable measure for interactive systems because in such a system a process can produce some output early during its execution and can continue executing while previous results are being output to the user. Hence, another measure used in case of interactive systems is response time. It is the interval between the time of submission of a job to the system for processing to the time of the system producing the first response for the job. In any computer system, it is desirable to maximize throughput and minimize turnaround time and response time.
Q3)Explain
in detail about assembler, compiler and interpreter? (VIMP)
Ans:
Assembler:
1.Assembly
language is also referred to as a symbolic representation(mnemonics) of the machine code. Assembler is a software that
converts a program written in assembly language into machine code .There is
usually a one-to-one correspondence between simple assembly statements and
machine language instructions. The assembly language programs differ for
different computer architectures.
2.Assemblers
are much simpler to write. It is possible to have multiple sets of executable
instructions for a single instruction set.
3.Every
instruction written in assembly language comprises of opcode and at least one
operand. Many of the instructions may refer to either a single value or pair of
values. Opcode is the symbolic name given to a single-executable machine
language instruction.
4.Most
of the complex and highly-developed assemblers provide additional functionality
in order to facilitate program development, to control the assembly process and
to assist in debugging.
5.Many
of present day assemblers consist of a macro facility for performing textual
substitution because of which they are referred to as macro assemblers.
6.Generally,
many of the modern assemblers are responsible for creating object code.
7.This is done by converting the assembly instructions (mnemonics) into opcodes and by resolving the symbolic names for memory locations.
Compiler
1. Compiler
is the software that translates the program written in a high-level language to
machine language. The program written in high-level language is referred to as
the source code and compiled program is referred as the object code.
The object code is the executable code, which can run as a stand-alone code. It
does not require the compiler to be present during execution.
2. Each programming
language has its own compiler. Some languages that use a compiler are C++,
COBOL, Pascal, and FORTRAN.
3. In
some languages, compilation using the compiler and linking using the linker are
required for creating the executable object code.
4.The
compilation process generally involves two parts—breaking down the source code
into small pieces and creating an intermediate representation, and,
constructing the object code for the intermediate representation.
5. The compiler also reports syntax errors, if any, in the source code.
Interpreter
1.Interpreter
is similar to that of a compiler but the difference arises in their conversion
format. Interpreter interprets every individual instruction and executes it
immediately rather than executing entire program at once.
2.In
case of any error, the program execution is halted until the error is
rectified.
3.The interpreter
needs to be stored in the memory till the program execution is completed.
4.Interpreter
is useful while debugging because it displays the error message soon after
interpreting individual instruction.
5.Interpreter
considers the source program as input and generates an output.
6.When compared to an interpreted program, a compiled program can be executed more quickly. But, this is possible through an interpreter since object file saved in the memory program must be reinterpreted every time before execution.
4Q) Explain
various types of operating systems?(VVIMP)
Ans: Various
operating systems have evolved depending on the requirement and the cost
bearing capacity of the users:
1. Single user
operating system
2. Multi-user
operating system
3. Single
tasking operating system
4. Multi-tasking
operating system
5. Multi
Programming operating system
6. Single
processing operating system
7.
Multi-processing operating system
8. Time sharing
operating system
9. Batch processing operating system
1. Single User
Operating System:
➢ A single user
operating system is developed and use for a single user at any given time i.e.,
only one person can use the machine at a time and operating system is available
to the single user at a time.
➢ An example of
single user operating system is MS-DOS (Microsoft Disk Operating System)
Advantages:
✓ It is simple to
design, implement and maintain
✓ It is
relatively bug-free
✓ A computer is dedicated to one particular task at a time.
Disadvantages:
✓ Inefficient use of CPU time.
2. Multi-user
operating system:
➢ A multi user
operating system allows multiple users on different computers or terminals to
access a single system (CPU) with one operating system on it.
➢ It allows two
or more users to run program at the same time. Some operating systems permit
hundred or even thousands of users at a time.
➢ Such operating
system is made for machines which are more commonly called sharable machines
i.e., data from one machine can be shared by other users at other machines.
➢ This operating
system is more complex and more costly as compared to single user operating
system.
➢ Ex: windows 2000 Server, windows NT and Windows 2003 Server.
Advantages:
✓ It makes better
use of resources.
✓ It reduces response time.
Disadvantages:
✓ It has complex
configuration
✓ It is difficult
to handle and maintain
✓ It requires a
lot of memory to process
✓ It is
relatively expensive than single user operating system
✓ It is difficult to maintain security of data.
3. Single
tasking operating system:
➢ Single tasking
operating systems can process one application at one time.
➢ The user can
only work on one application at a time i.e., user can’t start another
application till the processing of one application has been finished by the
operating system.
➢ Ex: MSDOS (Microsoft Disk Operating system).
4. Batch
processing operating system:
➢ The operating
system of such a computer had the function to transfer the control from one job
to another.
➢ Batch
processing operating systems are ideal in situations where:
· There
are large amounts of data to be processed.
· Similar
data needs to be processed
· Similar
processing is involved when executing the data.
➢ Batch processing is also known as serial, sequential, off line, or stacked job processing. It is the most appropriate method of processing for many types of applications such as payroll or preparation of customer statements where it is not necessary to update information on daily basis.
Advantages:
✓ It increases
overall performance as a new job gets started on completion of previous job
without human intervention.
✓ It is efficient
because these use very little computer processing time to prepare a batch of
data.
✓ The job
execution is properly organized
✓It allows sharing of computer resources among many users
Disadvantages:
✓ Lack of
interaction between the user and job could enter an infinite loop
✓ It is difficult to debug program
5. Multi-programming
operating system:
➢
Multi-programming refers to execution of two or more different and independent
program by the same computer.
➢ In this two or
more program resides in main memory (RAM) and are executed concurrently.
➢ Since there is
only one processor, that can be simultaneous execution of different programs.
Instead, the operating system executes part of one program, then part of another,
and so on. To the user it appears that all programs are executing at the same
time.
➢ Ex: Windows2000, Windows XP, Windows-vista and Windows NT.
Advantages:
✓ It increases
CPU utilization
✓It decreases total read time needed to execute a program.
Disadvantages:
✓ It is
relatively more complicated
✓ It requires CPU
scheduling
✓ Proper memory
management is required
✓It requires tracking of all kinds of jobs running concurrently
6.Multi-tasking
operating system:
➢ A multi-tasking
operating system can capable of running more than one application at a time.
For example: at some time you might be downloading something from internet, as
well as you are writing mail to your friend and listening music also.
➢ Multi-user
operating systems also have the property of multitasking. It improves the
overall efficiency of the computer.
➢ Ex: Windows2000, Windows XP, Windows-vista and Windows NT.
Advantages:
✓ It increases
the overall performance of the system
✓ It increases the overall productivity of the system
Disadvantages:
✓ It requires a lot of memory to execute several programs simultaneously
7.
Multi-processing operating system:
➢ A
multi-processing operating system allows a program to run on more than one
central processing unit (CPU).
➢ If one of the
CPU breaks down, then the other CPU will automatically takes over its job. This
is also called parallel processing.
➢ By allowing parallel
processing of segments of program, it improves performance of computer systems.
➢ Some multiprocessing operating systems are: Windows-2000, UNIX and Linux
Advantages:
✓ It increases
the reliability of the system
✓ It increases
the overall productivity of the system
✓ It has better
performance than single-processing system
✓ If one CPU get failed other CPU are used to do that CPU’s job.
Disadvantages:
✓ It is very
expensive.
✓ It requires a
lot of memory to run and execute several user programs.
✓ If one CPU gets
failed, it affects the speed of processing
✓ It is relatively more complex than single-processing system.
8. Time Sharing
operating systems:
➢ It helps to
provide a large number of user’s direct access to the main computer.
➢ In timesharing,
the CPU is divided among different users on a scheduled basis. CPU allocated to
programs on priority basis.
➢ This very brief
share of CPU time is called time slice or time slot or quantum, which may vary
from 10 milliseconds to 20 milliseconds. Each program gets a “time slice”.
➢ At end of time
slice, current program is set aside and a new one starts.
➢ The timesharing
operating system keeps only a few programs in the main memory and rest are
stored in the disk storage. The program remains in hard disk until it is not
active and when CPU time is allocated to it the program is brought to the main
memory.
➢ This operation
of transferring programs from disk storage to main memory and back is known as
swapping.
➢ Sometime sharing operating systems are: Windows-2000, Windows 2003,UNIX and Linux.
Advantages:
✓ Provide
advantage of quick response.
✓ Avoids
duplication of software.
✓ Reduces CPU
idle time.
✓ Allows the many
users to execute their task simultaneously.
✓ It offers better utilization of resources.
Disadvantages:
✓ It is very
difficult and expensive to develop.
✓ It is hard to
implement
✓ Memory
management must be provided to the system.
✓ It has problem
of reliability
✓ It is difficult to maintain security and integrity of user programs and data.
9. Single
processing operating system/ Uni-processor operating system:
➢ Single
processing operating systems are designed to work with one processor/ CPU
➢ Desktop
computers and laptops are generally uni-processor systems.
➢ These systems
can manage the processing needs of a home or a small organizations, but they
are not suitable for high level designing and complex calculations.
➢ Some single
processing operating systems are: Windows 98, Windows-ME.
http://degreecsa.blogspot.com
No comments:
Post a Comment