0% found this document useful (0 votes)
66 views50 pages

Chapter 1 Notes

The document discusses different types of operating systems including batch, multiprogrammed, time-sharing, and distributed operating systems. It provides details on what each type is, how they work, examples, and their advantages and disadvantages. The key aspects are that batch systems run jobs non-interactively in batches, multiprogrammed systems run multiple programs at once by sharing the processor, time-sharing systems further improve on this by rapidly switching between programs to give the appearance of simultaneous use to users.

Uploaded by

Kiran janjal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views50 pages

Chapter 1 Notes

The document discusses different types of operating systems including batch, multiprogrammed, time-sharing, and distributed operating systems. It provides details on what each type is, how they work, examples, and their advantages and disadvantages. The key aspects are that batch systems run jobs non-interactively in batches, multiprogrammed systems run multiple programs at once by sharing the processor, time-sharing systems further improve on this by rapidly switching between programs to give the appearance of simultaneous use to users.

Uploaded by

Kiran janjal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Operating system

Definition
An operating system is a program that acts as an interface between the
user and the computer hardware and controls the execution of all kinds of programs.
Hardware

Hardware represents the physical and tangible components of a


computer, i.e. the components that can be seen and touched.

Examples of Hardware are the following −

• Input devices − keyboard, mouse, etc.


• Output devices − printer, monitor, etc.
• Secondary storage devices − Hard disk, CD, DVD, etc.
• Internal components − CPU, motherboard, RAM, etc.
Software

Software is a set of programs, which is designed to perform a well-


defined function. A program is a sequence of instructions written to
solve a particular problem.

There are two types of software −

• System Software
• Application Software
System Software
➢ The system software is a collection of programs designed to
operate, control, and extend the processing capabilities of the
computer itself.

➢ System software is generally prepared by the computer


manufacturers.

➢ These software products comprise of programs written in low-


level languages, which interact with the hardware at a very basic
level.

➢ System software serves as the interface between the hardware


and the end users.

Some examples of system software are Operating System, Compilers,


Interpreter, Assemblers, etc.

Here is a list of some of the most prominent features of a system


software −
• Close to the system
• Fast in speed
• Difficult to design
• Difficult to understand
• Less interactive
• Smaller in size
• Difficult to manipulate
• Generally written in low-level language
Application Software
➢ Application software products are designed to satisfy a particular
need of a particular environment.

➢ All software applications prepared in the computer lab can come


under the category of Application software.

➢ Application software may consist of a single program, such as


Microsoft's notepad for writing and editing a simple text.

➢ It may also consist of a collection of programs, often called a


software package, which work together to accomplish a task,
such as a spreadsheet package.

Examples of Application software are the following −

• Payroll Software
• Student Record Software
• Inventory Management Software
• Income Tax Software
• Railways Reservation Software
• Microsoft Office Suite Software
• Microsoft Word
• Microsoft Excel
• Microsoft PowerPoint

Features of application software are as follows −

• Close to the user


• Easy to design
• More interactive
• Slow in speed
• Generally written in high-level language
• Easy to understand
• Easy to manipulate and use
• Bigger in size and requires large storage space
Components of an Operating System.

• Memory Management
• Processor Management
• Device Management
• File Management
• Security
• Control over system performance
• Job accounting
• Error detecting aids
• Coordination between other software and users
1) Memory Management
Memory management refers to management of Primary Memory or Main Memory.
Main memory is a large array of words or bytes where each word or byte has its
own address.

Main memory provides a fast storage that can be accessed directly by the CPU. For
a program to be executed, it must in the main memory. An Operating System does
the following activities for memory management −

• Keeps tracks of primary memory, i.e., what part of it are in use by whom,
what part are not in use.
• In multiprogramming, the OS decides which process will get memory when
and how much.
• Allocates the memory when a process requests it to do so.
• De-allocates the memory when a process no longer needs it or has been
terminated.
2) Processor Management
In multiprogramming environment, the OS decides which process gets the
processor when and for how much time. This function is called process scheduling.
An Operating System does the following activities for processor management −

• Keeps tracks of processor and status of process. The program responsible for
this task is known as traffic controller.
• Allocates the processor (CPU) to a process.
• De-allocates processor when a process is no longer required.
3) Device Management
An Operating System manages device communication via their respective drivers.
It does the following activities for device management −

• Keeps tracks of all devices. Program responsible for this task is known as
the I/O controller.
• Decides which process gets the device when and for how much time.
• Allocates the device in the efficient way.
• De-allocates devices.
4) File Management
A file system is normally organized into directories for easy navigation and usage.
These directories may contain files and other directions.

An Operating System does the following activities for file management −

• Keeps track of information, location, uses, status etc. The collective facilities
are often known as file system.
• Decides who gets the resources.
• Allocates the resources.
• De-allocates the resources.
Other Important Activities
Following are some of the important activities that an Operating System performs

• Security − By means of password and similar other techniques, it prevents


unauthorized access to programs and data.
• Control over system performance − Recording delays between request for
a service and response from the system.
• Job accounting − Keeping track of time and resources used by various jobs
and users.
• Error detecting aids − Production of dumps, traces, error messages, and
other debugging and error detecting aids.
• Coordination between other softwares and users − Coordination and
assignment of compilers, interpreters, assemblers and other software to the
various users of the computer systems.
Operating systems are there from the very first computer generation and they keep
evolving with time.
Types of operating systems

1) Batch Operating System

2) Multi programmed Operating System

3) Time Sharing Operating System

4) Multiprocessor System

5) Distributed Operating System

6) Network Operating System


7) Real Time Operating System

8) Mobile Operating System


i) Batch operating system
➢ The users of a batch operating system do not interact with the computer
directly.
➢ Each user prepares his job on an off-line device like punch cards and submits
it to the computer operator.
➢ To speed up processing, jobs with similar needs are batched together and run
as a group.
➢ The programmers leave their programs with the operator and the operator
then sorts the programs with similar requirements into batches.

Advantages of Batch Operating System:


• It is very difficult to guess or know the time required by any job to complete.
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 batch system is very less
• It is easy to manage large work repeatedly in batch systems
Disadvantages of Batch Operating System:
• The computer operators should be well known with batch systems
• Batch systems are hard to debug
• It is sometime costly
• The other jobs will have to wait for an unknown time if any job fails
Examples of Batch based Operating System:
Payroll System, Bank Statements etc.

ii) Multi Programed Operating System

Sharing the processor, when two or more programs reside in memory at the same
time, is referred as multiprogramming. Multiprogramming assumes a single
shared processor. Multiprogramming increases CPU utilization by organizing jobs
so that the CPU always has one to execute.

The following figure shows the memory layout for a multiprogramming system.
An OS does the following activities related to multiprogramming.
• The operating system keeps several jobs in memory at a time.
• This set of jobs is a subset of the jobs kept in the job pool.
• The operating system picks and begins to execute one of the jobs in the
memory.
• Multiprogramming operating systems monitor the state of all active programs
and system resources using memory management programs to ensures that
the CPU is never idle, unless there are no jobs to process.
Advantages

• High and efficient CPU utilization.


• User feels that many programs are allotted CPU almost simultaneously.
Disadvantages

• CPU scheduling is required.


• To accommodate many jobs in memory, memory management is required.

iii) Time-sharing operating systems


➢ Time-sharing is a technique which enables many people, located at various
terminals, to use a particular computer system at the same time.

➢ Time-sharing or multitasking is a logical extension of multiprogramming.


Processor's time which is shared among multiple users simultaneously is
termed as time-sharing.

➢ The main difference between Multiprogrammed Batch Systems and Time-


Sharing Systems is that in case of Multiprogrammed batch systems, the
objective is to maximize processor use, whereas in Time-Sharing Systems,
the objective is to minimize response time.

➢ Multiple jobs are executed by the CPU by switching between them, but the
switches occur so frequently.

➢ Thus, the user can receive an immediate response. For example, in a


transaction processing, the processor executes each user program in a short
burst or quantum of computation. That is, if n users are present, then each
user can get a time quantum. When the user submits the command, the
response time is in few seconds at most.

Advantages of Timesharing operating systems are as follows −

• Provides the advantage of quick response.


• Avoids duplication of software.
• Reduces CPU idle time.
Disadvantages of Time-sharing operating systems are as follows −

• Problem of reliability.
• Question of security and integrity of user programs and data.
• Problem of data communication.

Examples of Time-Sharing OSs are: Multics, Unix etc.

iv) Multiprocessor System

Most computer systems are single processor systems i.e they only have one
processor. However, multiprocessor or parallel systems are increasing in
importance nowadays. These systems have multiple processors working in
parallel that share the computer clock, memory, bus, peripheral devices etc. An
image demonstrating the multiprocessor architecture is:

Types of Multiprocessors
There are mainly two types of multiprocessors i.e. symmetric and asymmetric
multiprocessors. Details about them are as follows:
Symmetric Multiprocessors
In these types of systems, each processor contains a similar copy of the operating
system and they all communicate with each other. All the processors are in a peer
to peer relationship i.e. no master - slave relationship exists between them.
An example of the symmetric multiprocessing system is the Encore version of
Unix for the Multimax Computer.
Asymmetric Multiprocessors
In asymmetric systems, each processor is given a predefined task. There is a
master processor that gives instruction to all the other processors. Asymmetric
multiprocessor system contains a master slave relationship.
Asymmetric multiprocessor was the only type of multiprocessor available before
symmetric multiprocessors were created. Now also, this is the cheaper option.
Advantages of Multiprocessor Systems
There are multiple advantages to multiprocessor systems. Some of these are:
More reliable Systems

In a multiprocessor system, even if one processor fails, the system will not halt.
This ability to continue working despite hardware failure is known as graceful
degradation. For example: If there are 5 processors in a multiprocessor system
and one of them fails, then also 4 processors are still working. So the system only
becomes slower and does not ground to a halt.
Enhanced Throughput

If multiple processors are working in tandem, then the throughput of the system
increases i.e. number of processes getting executed per unit of time increase. If
there are N processors then the throughput increases by an amount just under N.
More Economic Systems

Multiprocessor systems are cheaper than single processor systems in the long run
because they share the data storage, peripheral devices, power supplies etc. If
there are multiple processes that share data, it is better to schedule them on
multiprocessor systems with shared data than have different computer systems
with multiple copies of the data.
Disadvantages of Multiprocessor Systems
There are some disadvantages as well to multiprocessor systems. Some of these
are:
Increased Expense

Even though multiprocessor systems are cheaper in the long run than using
multiple computer systems, still they are quite expensive. It is much cheaper to
buy a simple single processor system than a multiprocessor system.
Complicated Operating System Required

There are multiple processors in a multiprocessor system that share peripherals,


memory etc. So, it is much more complicated to schedule processes and impart
resources to processes.than in single processor systems. Hence, a more complex
and complicated operating system is required in multiprocessor systems.
Large Main Memory Required

All the processors in the multiprocessor system share the memory. So a much
larger pool of memory is required as compared to single processor systems.
v) Distributed operating System

➢ Distributed systems use multiple central processors to serve multiple real-


time applications and multiple users. Data processing jobs are distributed
among the processors accordingly.

➢ The processors communicate with one another through various


communication lines (such as high-speed buses or telephone lines). These are
referred as loosely coupled systems or distributed systems.

➢ Processors in a distributed system may vary in size and function. These


processors are referred as sites, nodes, computers, and so on.
Advantages of Distributed Operating System:
• Failure of one will not affect the other network communication, as all systems
are independent from each other
• Electronic mail increases the data exchange speed
• Since resources are being shared, computation is highly fast and durable
• Load on host computer reduces
• These systems are easily scalable as many systems can be easily added to the
network
• Delay in data processing reduces
Disadvantages of Distributed Operating System:
• Failure of the main network will stop the entire communication
• To establish distributed systems the language which are used are not well
defined yet
• These types of systems are not readily available as they are very expensive.
Not only that the underlying software is highly complex and not understood
well yet
Examples of Distributed Operating System are- LOCUS etc.
vi) Network operating System

➢ A Network Operating System runs on a server and provides the server the
capability to manage data, users, groups, security, applications, and other
networking functions.

➢ The primary purpose of the network operating system is to allow shared file
and printer access among multiple computers in a network, typically a local
area network (LAN), a private network or to other networks.

Examples of network operating systems include Microsoft Windows Server 2003,


Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and
BSD.

Advantages of Network Operating System:


• Highly stable centralized servers
• Security concerns are handled through servers
• New technologies and hardware up-gradation are easily integrated to the
system
• Server access are possible remotely from different locations and types of
systems
Disadvantages of Network Operating System:
• Servers are costly
• User has to depend on central location for most operations
• Maintenance and updates are required regularly
Examples of Network Operating System are: Microsoft Windows Server 2003,
Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and
BSD etc.
vii) Real Time operating System

➢ A real-time system is defined as a data processing system in which the time


interval required to process and respond to inputs is so small that it controls
the environment.
➢ The time taken by the system to respond to an input and display of required
updated information is termed as the response time. So in this method, the
response time is very less as compared to online processing.

➢ Real-time systems are used when there are rigid time requirements on the
operation of a processor or the flow of data and real-time systems can be used
as a control device in a dedicated application.

➢ A real-time operating system must have well-defined, fixed time constraints,


otherwise the system will fail. For example, Scientific experiments, medical
imaging systems, industrial control systems, weapon systems, robots, air
traffic control systems, etc.

There are two types of real-time operating systems.

Hard real-time systems


Hard real-time systems guarantee that critical tasks complete on time. In hard real-
time systems, secondary storage is limited or missing and the data is stored in ROM.
In these systems, virtual memory is almost never found.

Soft real-time systems


Soft real-time systems are less restrictive. A critical real-time task gets priority over
other tasks and retains the priority until it completes. Soft real-time systems have
limited utility than hard real-time systems. For example, multimedia, virtual reality,
Advanced Scientific Projects like undersea exploration and planetary rovers, etc.

Advantages of RTOS:
• Maximum Consumption: Maximum utilization of devices and system,thus
more output from all the resources
• Task Shifting: Time assigned for shifting tasks in these systems are very less.
For example in older systems it takes about 10 micro seconds in shifting one
task to another and in latest systems it takes 3 micro seconds.
• Focus on Application: Focus on running applications and less importance to
applications which are in queue.
• Real time operating system in embedded system: Since size of programs
are small, RTOS can also be used in embedded systems like in transport and
others.
• Error Free: These types of systems are error free.
• Memory Allocation: Memory allocation is best managed in these type of
systems.
Disadvantages of RTOS:
• Limited Tasks: Very few tasks run at the same time and their concentration is
very less on few applications to avoid errors.
• Use heavy system resources: Sometimes the system resources are not so
good and they are expensive as well.
• Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.
• Device driver and interrupt signals: It needs specific device drivers and
interrupt signals to response earliest to interrupts.
• Thread Priority: It is not good to set thread priority as these systems are very
less prone to switching tasks.
Examples of Real-Time Operating Systems are: Scientific experiments, medical
imaging systems, industrial control systems, weapon systems, robots, air traffic
control systems, etc.
viii) Mobile Operating system
A mobile operating system, also called a mobile OS, is an operating system that
is specifically designed to run on mobile devices such as mobile phones,
smartphones, PDAs, tablet computers and other handheld devices. The mobile
operating system is the software platform on top of which other programs,
called application programs, can run on mobile devices.

An operating system for smartphones, tablets and other mobile devices is


called mobile OS. Some of the most popular OS for mobile devices includes−

• Android − This Linux-based OS by Google is the most popular mobile OS


currently. Almost 85% of mobile devices use it.

• Windows Phone 7 − It is the latest mobile OS developed by Microsoft.

• Apple iOS − This mobile OS is an OS developed by Apple exclusively for


its own mobile devices like iPhone, iPad, etc.

• Blackberry OS − This is the OS used by all blackberry mobile devices like


smartphones and playbooks.
❖ Difference between Real Time System and Time Sharing System
Sr.
Real Time System Time Sharing System
No
In real time system a job has to be In time sharing system fixed time is
1 completed within fixed deadline given to each process and all processes
(time allowed) are arranged in a queue
A Real time system has well-define, It requires more complicated CPU
2
fixed time constraints Scheduling algorithms
If a job is not completed within a given
If job is not completed within a given time then it jumps to the next job
3. time then system may extend time leaving the previous job unfinished.
for doing the operations After processing to each job it again
give the same time for unfinished job.
4. Response time is important Response time is not important
Process deals with single application Process deals with more than one
5.
at a time application simultaneously
It focuses on accomplishing a
Emphasis on providing a quick
6. computational task before its
response to a request.
specified deadline
VxWorks and QNX are the well- Todays all modern OS are time sharing
7
known real time operating system system

❖ Difference between Multitasking and Multiprogramming operating System


Sr.
Multitasking Multiprogramming
No
In multiprogramming systems, the
running task keeps running until it
Multitasking is the simultaneous
performs an operation that requires
1 performance of one or more than
wating for an external event or until
one process or task using a CPU unit
the computer’s scheduler forcibly
swaps the running task out of the CPU.
Multitasking is the ability of a Multiprogramming is the capacity to
2 computer to handle a number of task run or handle several programs at the
or jobs simultaneously same time.
It is possible CPU to running more It is impossible CPU to running more
3.
than one task(job)at the same time. than one program at the same time.
Multiprogramming is the technique of
Multitasking is the logical extension
4. running several programs at a time
Of multiprogramming.
using timesharing.
For example, let us say you are For example, let us say there are two
5.
printing a document of 100 pages. programs waiting in the pool to be
While your computer is performing executed by the CPU. So, the OS picks
that, you still can do other jobs like the first program and executes. If the
typing a new document. So, more program has some I/0(which means
than one task is performed input/output)operations involved,
then it puts this program in the queue
and picks the second program and
executes, meanwhile the first program
receiving its input. Since the working
of OS and CPU will be fast, It looks as if
both the programs are executed
simultaneously.
In multiprogramming, a user cannot
In multitasking, a user can interact
interact(everything is decided by OS,
with the system(you can type a letter,
6. like picking the next program and
while the other task of printing is
sharing on time basis etc)
going on)

You might also like