0% found this document useful (0 votes)
8 views24 pages

Unit 1

Uploaded by

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

Unit 1

Uploaded by

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

Introduction Operating System - Evolution, Generation’s 1st, 2nd, 3rd,4th.

Different Types of Operating Systems- Batch operating system, Multi Programmed,


Multitasking, Time Shared OS. Multiprocessor Systems, Distributed Systems, Cluster
Systems, Real time systems

Resources:
https://www.tutorialspoint.com/operating-system-generations
https://www.geeksforgeeks.org/what-is-an-operating-system/
https://www.geeksforgeeks.org/difference-between-multitasking-multithreading-and-
multiprocessing/

Introduction:
1) What is Operating System?
Definition - Operating system is a software that acts as an intermediary between the
user and computer hardware.
It is a program with the help of which we are able to run various applications.
It is the one program that is running all the time.
Every computer must have an operating system to smoothly execute other programs.
The OS coordinates the use of the hardware and application programs for various
users. It provides a platform for other application programs to work. The operating
system is a set of special programs that run on a computer system that allows it to
work properly. It controls input-output devices, execution of programs, managing
files, etc.
operating system is the most important type of system software in a computer system.

Functions of the Operating System

 Resource Management: The operating system manages and allocates memory,


CPU time, and other hardware resources among the various programs and
processes running on the computer.
 Process Management: The operating system is responsible for starting,
stopping, and managing processes and programs. It also controls the scheduling
of processes and allocates resources to them.
 Memory Management: The operating system manages the computer’s primary
memory and provides mechanisms for optimizing memory usage.
 Security: The operating system provides a secure environment for the user,
applications, and data by implementing security policies and mechanisms such
as access controls and encryption.
 Job Accounting: It keeps track of time and resources used by various jobs or
users.
 File Management: The operating system is responsible for organizing and
managing the file system, including the creation, deletion, and manipulation of
files and directories.
 Device Management: The operating system manages input/output devices such
as printers, keyboards, mice, and displays. It provides the necessary drivers and
interfaces to enable communication between the devices and the computer.
 Networking: The operating system provides networking capabilities such as
establishing and managing network connections, handling network protocols,
and sharing resources such as printers and files over a network.
 User Interface: The operating system provides a user interface that enables
users to interact with the computer system. This can be a Graphical User
Interface (GUI), a Command-Line Interface (CLI) , or a combination of both.
 Backup and Recovery: The operating system provides mechanisms for backing
up data and recovering it in case of system failures, errors, or disasters.
 Virtualization: The operating system provides virtualization capabilities that
allow multiple operating systems or applications to run on a single physical
machine. This can enable efficient use of resources and flexibility in managing
workloads.
 Performance Monitoring: The operating system provides tools for monitoring
and optimizing system performance, including identifying bottlenecks,
optimizing resource usage, and analyzing system logs and metrics.
 Time-Sharing: The operating system enables multiple users to share a computer
system and its resources simultaneously by providing time-sharing mechanisms
that allocate resources fairly and efficiently.
 System Calls: The operating system provides a set of system calls that enable
applications to interact with the operating system and access its resources.
System calls provide a standardized interface between applications and the
operating system, enabling portability and compatibility across different
hardware and software platforms.
 Error-detecting Aids: These contain methods that include the production of
dumps, traces, error messages, and other debugging and error-detecting methods.

Objectives of Operating Systems

Let us now see some of the objectives of the operating system, which are mentioned below.
 Convenient to use: One of the objectives is to make the computer system more
convenient to use in an efficient manner.
 User Friendly: To make the computer system more interactive with a more
convenient interface for the users.
 Easy Access: To provide easy access to users for using resources by acting as an
intermediary between the hardware and its users.
 Management of Resources: For managing the resources of a computer in a
better and faster way.
 Controls and Monitoring: By keeping track of who is using which resource,
granting resource requests, and mediating conflicting requests from different
programs and users.
 Fair Sharing of Resources: Providing efficient and fair sharing of resources
between the users and programs.

How To Choose the Correct Operating System?

There are so many factors to be considered while choosing the best Operating System for
our use. These factors are mentioned below.
 Price Factor: Price is one of the factors to choose the correct Operating System
as there are some OS that is free, like Linux, but there is some more OS that is
paid like Windows and macOS.
 Accessibility Factor: Some Operating Systems are easy to use like macOS and
iOS, but some OS are a little bit complex to understand like Linux. So, you must
choose the Operating System in which you are more accessible.
 Compatibility factor: Some Operating Systems support very less applications
whereas some Operating Systems supports more application. You must choose
the OS, which supports the applications which are required by you.
 Security Factor: The security Factor is also a factor in choosing the correct OS,
as macOS provide some additional security while Windows has little fewer
security features.

Examples of Operating Systems

 Windows (GUI-based, PC)


 GNU/Linux (Personal, Workstations, ISP, File, and print server, Three-tier
client/Server)
 macOS (Macintosh), used for Apple’s personal computers and workstations
(MacBook, iMac).
 Android (Google’s Operating System for smartphones/tablets/smartwatches)
 iOS (Apple’s OS for iPhone, iPad, and iPod Touch)

Operating System - Evolution, Generation’s 1st, 2nd, 3rd,4th


Operating Systems have evolved over the years. So, their evolution through the years can be
mapped using generations of operating systems. There are four generations of operating
systems. These can be described as follows –
The First Generation ( 1945 - 1955 ): Vacuum Tubes and Plugboards
Digital computers were not constructed until the second world war. Calculating engines with
mechanical relays were built at that time. However, the mechanical relays were very slow
and were later replaced with vacuum tubes. These machines were enormous but were still
very slow.
These early computers were designed, built and maintained by a single group of people.
Programming languages were unknown and there were no operating systems so all the
programming was done in machine language. All the problems were simple numerical
calculations.
By the 1950’s punch cards were introduced and this improved the computer system. Instead
of using plugboards, programs were written on cards and read into the system.
The Second Generation ( 1955 - 1965 ): Transistors and Batch Systems
Transistors led to the development of the computer systems that could be manufactured and
sold to paying customers. These machines were known as mainframes and were locked in
air-conditioned computer rooms with staff to operate them.
The Batch System was introduced to reduce the wasted time in the computer. A tray full of
jobs was collected in the input room and read into the magnetic tape. After that, the tape was
rewound and mounted on a tape drive. Then the batch operating system was loaded in which
read the first job from the tape and ran it. The output was written on the second tape. After
the whole batch was done, the input and output tapes were removed and the output tape was
printed.
The Third Generation ( 1965 - 1980 ): Integrated Circuits and Multiprogramming
Until the 1960’s, there were two types of computer systems i.e the scientific and the
commercial computers. These were combined by IBM in the System/360. This used
integrated circuits and provided a major price and performance advantage over the second
generation systems.
The third generation operating systems also introduced multiprogramming. This meant that
the processor was not idle while a job was completing its I/O operation. Another job was
scheduled on the processor so that its time would not be wasted.
The Fourth Generation ( 1980 - Present ): Personal Computers
Personal Computers were easy to create with the development of large-scale integrated
circuits. These were chips containing thousands of transistors on a square centimeter of
silicon. Because of these, microcomputers were much cheaper than minicomputers and that
made it possible for a single individual to own one of them.
The advent of personal computers also led to the growth of networks. This created network
operating systems and distributed operating systems. The users were aware of a network
while using a network operating system and could log in to remote machines and copy files
from one machine to another.
Different Types of Operating Systems-

1)A Batch Operating System:


2)Multiprogramming in Operating System
3)Multitasking
4)Time Shared Operating System
5)Multiprocessor Systems
6)Distributed Systems
7)Cluster Systems
8)Real time systems

1) A Batch Operating System:

A batch Processing Operating System (BatchOS) is an open-source operating system


designed to manage multiple jobs in sequence.
Batch processing is a process that is used in many industries to improve efficiency.
It is a type of operating system that is used to manage multiple tasks and processes in a
sequence. It is a type of operating system that is used to improve the efficiency of a
business by allowing it to run multiple tasks at the same time.
This can be done by allowing the operating system to manage the tasks and processes. This
can allow the business to run more tasks at the same time without having to wait for each
one to finish.
Batch processing operating systems are designed to execute a large number of similar jobs
or tasks without user intervention. These operating systems are commonly used in business
and scientific applications where a large number of jobs need to be processed in a specific
order.
The primary advantage of batch processing operating systems is that they allow for the
efficient use of computing resources. By scheduling and processing jobs in batches, the
system can maximize the utilization of the available resources such as CPU time, memory,
and storage.
In batch processing operating systems, users submit their jobs to the system, which are then
added to a queue for processing. The system processes each job in turn, without any user
intervention, until all jobs have been completed.
Some examples of batch processing operating systems include IBM’s z/OS, Unisys MCP,
and Burroughs MCP/BCS. These systems are commonly used in large organizations that
require high-volume data processing, such as banks, airlines, and government agencies.
. Batch Processing Operating System (BPOS) is an open-source platform that helps to
manage large-scale batch processing jobs. BPOS uses a centralized execution architecture
that enables the execution of multiple jobs in parallel. BPOS also features a user-friendly
graphical interface that makes it easy to manage and monitor your job.

Batch Processing Operating System

Features of BPOS:
 Batch OS is an operating system designed specifically for batch processing. It
includes a command line interface, a library for scheduling tasks, and a user
interface for managing tasks. Batch OS is designed to simplify the process of
managing and scheduling tasks across a network of computers.
 Batch OS includes a library for scheduling tasks. This library allows tasks to be
scheduled in a hierarchical manner, which makes it easy to manage and schedule
tasks across a network of computers. The user interface allows users to view and
manage tasks in a graphical manner.
There are many types of batch operating systems.
 One popular type is the scheduled batch system. This type of system is used to
control the execution of a series of tasks or jobs.
 Other types of batch systems include the interactive batch system, the real-time
batch system, and the concurrent batch system.
Advantages:

There are many advantages to using a batch operating system. One of the most important is
the speed at which a batch job can be executed. Batch systems are designed to handle large
numbers of tasks quickly and efficiently. They are also well-suited for automated tasks and
processes.
Another advantage of using a batch system is the ability to automate tasks. This can save
time and effort for administrators and users. Batch systems can also be used to manage
large files and data sets. This is especially important in environments that are prone to data
breaches.
Lastly, batch systems are stable and reliable. This is important in environments where the
systems are used for long periods of time. Batch systems are also easier to learn and use
than other types of operating systems.
The advantages of batch processing operating systems include:
1. Efficient use of resources: Batch processing operating systems allow for the
efficient use of computing resources, as jobs are processed in batches and
scheduled to run when resources are available.
2. High throughput: Batch processing operating systems can process a large
number of jobs quickly, allowing for high throughput and fast turnaround times.
3. Reduced errors: As batch processing operating systems do not require user
intervention, they can help reduce errors that may occur during manual job
processing.
4. Simplified job management: Batch processing operating systems simplify job
management by automating job submission, scheduling, and execution.
5. Cost-effective: Batch processing operating systems can be cost-effective, as they
allow for the efficient use of resources and can help reduce errors and processing
time.
6. Scalability: Batch processing operating systems can easily handle a large
number of jobs, making them scalable for large organizations that require high-
volume data processing.
Disadvantages:

There are many disadvantages to using batch operating systems, including:


 Limited functionality: Batch systems are designed for simple tasks, not for
more complex tasks. This can make them difficult to use for certain tasks, such
as managing files or software.
 Security issues: Because batch systems are not typically used for day-to-day
tasks, they may not be as secure as more common operating systems. This can
lead to security risks if the system is used by people who should not have access
to it.
 Interruptions Batch systems can be interrupted frequently, which can lead to
missed deadlines or mistakes.
 Inefficiency: Batch systems are often slow and difficult to use, which can lead
to inefficiency in the workplace.

2) Multiprogramming in Operating System


Multiprogramming in an operating system as the name suggests multi means more than one
and programming means the execution of the program. when more than one program can
execute in an operating system then this is termed a multiprogramming operating system.

Before the concept of Multiprogramming, computing takes place in other way which does
not use the CPU efficiently.Earlier, CPU executes only one program at a time. In earlier
day’s computing ,the problem is that when a program undergoes in waiting state for an
input/output operation, the CPU remains idle which leads to underutilization of CPU and
thus poor performance . Multiprogramming addresses this issue and solve this issue.
Multiprogramming was developed in 1950s. It was first used in mainframe computing.
The major task of multiprogramming is to maximize the utilization of resources.
Multiprogramming is broadly classified into two types namely

1. Multi-user operating system


2. Multitasking operating system

Multiuser and Multitasking both are different in every aspect and multitasking is an operating
system that allows you to run more than one program simultaneously. The operating system
does this by moving each program in and out of memory one at a time. When a program runs
out of memory, it is temporarily stored on disk until it is needed again.

A multi-user operating system allows many users to share processing time on a powerful
central computer on different terminals. The operating system does this by quickly switching
between terminals, each receiving a limited amount of CPU time on the central computer.
Operating systems change so rapidly between terminals that each user appears to have
constant access to the central computer. If there are many users on such a system, the time it
takes for the central computer to respond may become more apparent.

Features of Multiprogramming Operating system

The multiprogramming operating system has many features. The following are some of the
features of a multiprogramming operating system:

 It offers a slower response time.


 Running several tasks at once in one application might be helpful.
 It aids in improving the computer's overall job throughput.
 The multiprogramming system can be used by multiple users at once.
 Jobs that are completed quickly are those that are completed quickly.
 It might aid in reducing turnaround time for urgent tasks.
 It increases CPU efficiency and is constantly active.
 The resources are widely used.

Disadvantages of Multiprogramming
1. Prior knowledge of scheduling algorithms is required.
2. If it has a large number of jobs, then long-term jobs will have to require a long
wait.
3. Memory management is needed in the operating system because all types of tasks
are stored in the main memory.
4. Using multiprogramming up to a larger extent can cause a heat-up issue.

How do Multiprogramming Operating Systems Work?


In multiprogramming system, multiple programs are to be stored in memory and each
program has to be given a specific portion of memory which is known as process.The
operating system handles all these process and their states.Before the process undergoes
execution, the operating system selects a ready process by checking which one process
should udergo execution.When the choosen process undergoes CPU execution, it might be
possible that in between process need any input/output operation at that time process goes out
of main memory for I/O operation and temporarily stored in secondary storage and CPU
switches to next ready process.And when the process which undergoes for I/O operation
comes again after completing the work, then CPU switches to this process.This switching is
happening so fast and repeatedly that creates an illusion of simultaneous execution.

S.No. BATCH PROCESSING MULTIPROGRAMMING


Batch processing System is also Multiprogramming System is also called as
01. called as Simple Batch System. Multiprogram Task System.
A series of jobs are executed
without any human intervention in Multiprogramming operating system allows
Batch processing system. In this set to execute multiple processes by monitoring
of jobs with similar needs are their process states and switching in between
batched together and inputted to the processes. It executes multiple programs to
02. computer for execution. avoid CPU and memory underutilization.
Batch processing system is slower
in processing than Multiprogramming System is faster in
03. Multiprogramming system. processing than Batch Processing system.
In Batch processing system CPU In Multiprogramming system CPU needs not
04. needs to stand idle. stand idle.
In this the processes have to wait in
05. a queue. In this the process has to wait in a queue.
In batch processing Operating In multi-programming Operating System
System execution of process starts execution of process starts as it centers the
06. batch wise. processor.
In batch processing grouping of
several processing jobs to be
executed one after another by a Multi-programming operating system ability
computer without any user of an OS to execute multiple programs at the
07. interaction. same time on a single processor.
In Batch processing system the CPU In multiprogramming system the CPU
08. utilization is less. utilization is more.

3) MultiTasking Operating System


A multitasking OS enables the simultaneous operation of two or more programmes. The
operating system does this by moving each programme into or out of memory one at a
time. A programme that has been switched out of memory is temporarily saved on the disc
until it is required once more.

A logical progression from multiprogramming is multitasking. An OS's capacity to run


multiple tasks concurrently on a CPU machine is known as multitasking. Common
resources are shared by these various tasks (like CPU and memory). In multi-tasking
systems, the CPU executes multiple jobs by switching between them, typically using a
short-time quantum. Because the switches happen so quickly, users may feel as though
they are interacting with each task that is being executed simultaneously.
Multiuser Operating System

A powerful central computer can be shared by many users from various terminals thanks
to a multiuser operating system. This is done by the operating system quickly switching
between terminals, each of which is allotted a certain amount of processor time on the
main computer. Each user appears to have continuous access to the main computer
because the operating system changes between terminals so quickly. On a system like this,
the number of users increases the likelihood that the response time of the central computer
will be more noticeable.
4)Time Sharing Operating System

Multiprogrammed, batched systems provide an environment where various system


resources were used effectively, but it did not provide for user interaction with computer
systems. Time-sharing is a logical extension of multiprogramming. The CPU performs
many tasks by switches that are so frequent that the user can interact with each program
while it is running.
A time-shared operating system allows multiple users to share computers simultaneously.
With each action or order at a time the shared system becomes smaller, so only a little CPU
time is required for each user. As the system rapidly switches from one user to another,
each user is given the impression that the entire computer system is dedicated to its use,
although it is being shared among multiple users.
A time-shared operating system uses CPU scheduling and multi-programming to provide
each user with a small portion of a shared computer at once.
Each user has at least one separate program in memory. A program is loaded into memory
and executes, it performs a short period of time either before completion or to complete
I/O. This short period of time during which the user gets the attention of the CPU is known
as time slice, time slot, or quantum. It is typically of the order of 10 to 100 milliseconds.
Time-shared operating systems are more complex than multiprogrammed operating
systems. In both, multiple jobs must be kept in memory simultaneously, so the system must
have memory management and security. To achieve a good response time, jobs may have to
swap in and out of disk from the main memory which now serves as a backing store for the
main memory. A common method to achieve this goal is virtual memory, a technique that
allows the execution of a job that may not be completely in memory.

In the above figure the user 5 is active state but user 1, user 2, user 3, and user 4 are in
a waiting state whereas user 6 is in a ready state.
1. Active State – The user’s program is under the control of the CPU. Only one
program is available in this state.
2. Ready State – The user program is ready to execute but it is waiting for its turn
to get the CPU. More than one user can be in a ready state at a time.
3. Waiting State – The user’s program is waiting for some input/output operation.
More than one user can be in a waiting state at a time.
Requirements of Time Sharing Operating System: An alarm clock mechanism to send
an interrupt signal to the CPU after every time slice. Memory Protection mechanism to
prevent one job’s instructions and data from interfering with other jobs.
What are some of the key features of a Time-Sharing Operating System?
A Time-Sharing Operating System’s key characteristics include the capacity to support
multiple concurrent users and the capacity to reduce response times for all users.
Additionally, because they permit multiple users to use the system without needing to
purchase individual licenses, time-sharing operating systems may be more cost-effective for
businesses.

What are some benefits of the Time-sharing operating System?

The ability for multiple users to use the system at various terminals simultaneously is one
advantage of using a time-sharing operating system. All users’ response times can be cut
down, and the system’s resources can be used more effectively.
Additionally, because they permit multiple users to use the system without needing to
purchase individual licenses, time-sharing operating systems may be more cost-effective for
businesses.
Advantages
1. Each task gets an equal opportunity.
2. Fewer chances of duplication of software.
3. CPU idle time can be reduced.
Disadvantages
1. Reliability problem.
2. One must have to take of the security and integrity of user programs and data.
3. Data communication problem.

Frequently Asked Question

Q1: What is a time-sharing operating system?

Answer:
A time-sharing operating system is an operating system design that allows multiple users or
processes to concurrently share the same system resources, such as the CPU, memory, and
peripherals. It enables each user or process to have the illusion of having dedicated access
to the system while effectively sharing resources in a time-sliced manner.

Q2: How does a time-sharing operating system work?

Answer:
In a time-sharing operating system, the CPU time is divided into small time intervals called
time slices or quantum. Each user or process is allocated a time slice during which it can
execute its tasks. The operating system switches between processes rapidly, giving the
illusion of parallel execution.
The operating system uses scheduling algorithms, such as round-robin or priority-based
scheduling, to determine which process should be allocated the CPU next. Context
switching, which involves saving and restoring the execution context of each process, is
performed to switch between pr
ocesses.

Q3: Can a time-sharing system prioritize certain processes or users?

Answer:
Yes, time-sharing systems can prioritize certain processes or users based on specific
criteria. Scheduling algorithms often include priority-based scheduling, where processes
with higher priority are allocated more CPU time or given preference in execution. This
allows critical or interactive tasks to receive faster response times. However, it’s important
to balance priorities to ensure fairness and prevent lower priority processes from being
starved of resources.

5) Multiprocessor Systems
In a uni-processor system, only one process executes at a time. Multiprocessing is
the use of two or more CPUs (processors) within a single Computer system. The
term also refers to the ability of a system to support more than one processor within
a single computer system. Now since there are multiple processors available,
multiple processes can be executed at a time. These multi-processors share the
computer bus, sometimes the clock, memory and peripheral devices also. Multi
processing system’s working –
 With the help of multiprocessing, many processes can be executed
simultaneously. Say processes P1, P2, P3 and P4 are waiting for
execution. Now in a single processor system, firstly one process will
execute, then the other, then the other and so on.
 But with multiprocessing, each process can be assigned to a different
processor for its execution. If its a dual-core processor (2 processors), two
processes can be executed simultaneously and thus will be two times
faster, similarly a quad core processor will be four times as fast as a single
processor.
Why use multi processing –
 The main advantage of multiprocessor system is to get more work done in
a shorter period of time. These types of systems are used when very high
speed is required to process a large volume of data. Multi processing
systems can save money in comparison to single processor systems
because the processors can share peripherals and power supplies.
 It also provides increased reliability in the sense that if one processor fails,
the work does not halt, it only slows down. e.g. if we have 10 processors
and 1 fails, then the work does not halt, rather the remaining 9 processors
can share the work of the 10th processor. Thus the whole system runs only
10 percent slower, rather than failing altogether.

Multiprocessing refers to the hardware (i.e., the CPU units) rather than the software
(i.e., running processes). If the underlying hardware provides more than one
processor then that is multiprocessing. It is the ability of the system to leverage
multiple processors’ computing power.

Difference between Multi programming and Multi processing –


 A System can be both multi programmed by having multiple programs
running at the same time and multiprocessing by having more than one
physical processor. The difference between multiprocessing and multi
programming is that Multiprocessing is basically executing multiple
processes at the same time on multiple processors, whereas multi
programming is keeping several programs in main memory and executing
them concurrently using a single CPU only.
 Multiprocessing occurs by means of parallel processing whereas Multi
programming occurs by switching from one process to other (phenomenon
called as context switching).

6) Distributed Systems
Distributed System is a collection of autonomous computer systems that are
physically separated but are connected by a centralized computer network that is
equipped with distributed system software. The autonomous computers will
communicate among each system by sharing resources and files and performing the
tasks assigned to them.
Example of Distributed System:
Any Social Media can have its Centralized Computer Network as its Headquarters
and computer systems that can be accessed by any user and using their services will
be the Autonomous Systems in the Distributed System Architecture.

 Distributed System Software: This Software enables computers to


coordinate their activities and to share the resources such as Hardware,
Software, Data, etc.
 Database: It is used to store the processed data that are processed by each
Node/System of the Distributed systems that are connected to the
Centralized network.
Characteristics of Distributed System:
 Resource Sharing: It is the ability to use any Hardware, Software, or
Data anywhere in the System.
 Openness: It is concerned with Extensions and improvements in the
system (i.e., How openly the software is developed and shared with
others)
 Concurrency: It is naturally present in Distributed Systems, that deal with
the same activity or functionality that can be performed by separate users
who are in remote locations. Every local system has its independent
Operating Systems and Resources.
 Scalability: It increases the scale of the system as a number of processors
communicate with more users by accommodating to improve the
responsiveness of the system.
 Fault tolerance: It cares about the reliability of the system if there is a
failure in Hardware or Software, the system continues to operate properly
without degrading the performance the system.
 Transparency: It hides the complexity of the Distributed Systems to the
Users and Application programs as there should be privacy in every
system.
 Heterogeneity: Networks, computer hardware, operating systems,
programming languages, and developer implementations can all vary and
differ among dispersed system components.
Advantages of Distributed System:
 Applications in Distributed Systems are Inherently Distributed
Applications.
 Information in Distributed Systems is shared among geographically
distributed users.
 Resource Sharing (Autonomous systems can share resources from remote
locations).
 It has a better price performance ratio and flexibility.
 It has shorter response time and higher throughput.
 It has higher reliability and availability against component failure.
 It has extensibility so that systems can be extended in more remote
locations and also incremental growth.
Disadvantages of Distributed System:
 Relevant Software for Distributed systems does not exist currently.
 Security possess a problem due to easy access to data as the resources are
shared to multiple systems.
 Networking Saturation may cause a hurdle in data transfer i.e., if there is a
lag in the network then the user will face a problem accessing data.
 In comparison to a single user system, the database associated with
distributed systems is much more complex and challenging to manage.
 If every node in a distributed system tries to send data at once, the network
may become overloaded.
 Finance and Commerce: Amazon, eBay, Online Banking, E-Commerce
websites.
 Information Society: Search Engines, Wikipedia, Social Networking, Cloud
Computing.
 Cloud Technologies: AWS, Salesforce, Microsoft Azure, SAP.
 Entertainment: Online Gaming, Music, youtube.
 Healthcare: Online patient records, Health Informatics.
 Education: E-learning.
 Transport and logistics: GPS, Google Maps.
 Environment Management: Sensor technologies.

7) Cluster Operating System

Cluster operating systems are a combination of software and hardware clusters. Hardware
clusters aid in the sharing of high-performance disks among all computer systems, while
software clusters give a better environment for all systems to operate. A cluster system
consists of various nodes, each of which contains its cluster software. The cluster software is
installed on each node in the clustered system, and it monitors the cluster system and ensures
that it is operating properly. If one of the clustered system's nodes fails, the other nodes take
over its storage and resources and try to restart.

Cluster components are generally linked via fast area networks, and each node executing its
instance of an operating system. In most cases, all nodes share the same hardware and
operating system, while different hardware or different operating systems could be used in
other cases. The primary purpose of using a cluster system is to assist with weather
forecasting, scientific computing, and supercomputing systems.

There are mainly three types of the clustered operating system:

1. Asymmetric Clustering System


2. Symmetric Clustering System
3. Parallel Cluster System

Asymmetric Clustering System


In the asymmetric cluster system, one node out of all nodes is in hot standby mode, while the
remaining nodes run the essential applications. Hot standby mode is completely fail-safe and
also a component of the cluster system. The node monitors all server functions; the hot
standby node swaps this position if it comes to a halt.

Symmetric Clustering System


Multiple nodes help run all applications in this system, and it monitors all nodes
simultaneously. Because it uses all hardware resources, this cluster system is more reliable
than asymmetric cluster systems.
Parallel Cluster System
A parallel cluster system enables several users to access similar data on the same shared
storage system. The system is made possible by a particular software version and other apps.

Advantages
Various advantages of Clustered Operating System are as follows:

1. High Availability - Although every node in a cluster is a standalone computer, the failure of a
single node doesn't mean a loss of service.

2. Cost Efficiency- When compared to highly reliable and larger storage mainframe
computers, these types of cluster computing systems are thought to be more cost-effective
and cheaper.

3. Additional Scalability- A cluster is set up in such a way that more systems could be added
to it in minor increments. Clusters may add systems in a horizontal fashion. It means that
additional systems could be added to clusters to improve their performance, fault tolerance,
and redundancy.

4. Fault Tolerance - Clustered systems are quite fault-tolerance, and the loss of a single node
does not result in the system's failure. They might also have one or more nodes in hot standby
mode, which allows them to replace failed nodes.

5. Performance -The clusters are commonly used to improve the availability and
performance over the single computer systems, whereas usually being much more cost-
effective than the single computer system of comparable speed or availability.

6. Processing Speed - The processing speed is also similar to mainframe systems and other
types of supercomputers on the market.

Disadvantages
Various disadvantages of the Clustered Operating System are as follows:

1. Cost-Effective

One major disadvantage of this design is that it is not cost-effective. The cost is high, and the
cluster will be more expensive than a non-clustered server management design since it
requires good hardware and a design.

2. Required Resources

Clustering necessitates the use of additional servers and hardware, making monitoring and
maintenance difficult. As a result, infrastructure must be improved.

3. Maintenance
It isn't easy to system establishment, monitor, and maintenance this system.

8) Real Time Operating System (RTOS)

Real-time operating systems (RTOS) are used in environments where a large number of
events, mostly external to the computer system, must be accepted and processed in a short
time or within certain deadlines. such applications are industrial control, telephone
switching equipment, flight control, and real-time simulations. With an RTOS, the
processing time is measured in tenths of seconds. This system is time-bound and has a fixed
deadline. The processing in this type of system must occur within the specified constraints.
Otherwise, This will lead to system failure.
Examples of the real-time operating systems: Airline traffic control systems, Command
Control Systems, Airlines reservation system, Heart Pacemaker, Network Multimedia
Systems, Robot etc.
The real-time operating systems can be of 3 types –

1. Hard Real-Time operating system:


These operating systems guarantee that critical tasks be completed within a
range of time.
For example, a robot is hired to weld a car body. If the robot welds too early or
too late, the car cannot be sold, so it is a hard real-time system that requires
complete car welding by robot hardly on the time., scientific experiments,
medical imaging systems, industrial control systems, weapon systems, robots,
air traffic control systems, etc.

2. Soft real-time operating system:


This operating system provides some relaxation in the time limit.
For example – Multimedia systems, digital audio systems etc. Explicit,
programmer-defined and controlled processes are encountered in real-time
systems. A separate process is changed with handling a single external event.
The process is activated upon occurrence of the related event signalled by an
interrupt.
Multitasking operation is accomplished by scheduling processes for execution
independently of each other. Each process is assigned a certain level of priority
that corresponds to the relative importance of the event that it services. The
processor is allocated to the highest priority processes. This type of schedule,
called, priority-based preemptive scheduling is used by real-time systems.

3. Firm Real-time Operating System:


RTOS of this type have to follow deadlines as well. In spite of its small impact,
missing a deadline can have unintended consequences, including a reduction in
the quality of the product. Example: Multimedia applications.

Advantages:
The advantages of real-time operating systems are as follows-
1. Maximum consumption –
Maximum utilization of devices and systems. Thus more output from all the
resources.

2. Task Shifting –
Time assigned for shifting tasks in these systems is very less. For example, in
older systems, it takes about 10 microseconds. Shifting one task to another and
in the latest systems, it takes 3 microseconds.

3. Focus On Application –
Focus on running applications and less importance to applications that are in the
queue.

4. Real-Time Operating System In Embedded System –


Since the size of programs is small, RTOS can also be embedded systems like in
transport and others.

5. Error Free –
These types of systems are error-free.

6. Memory Allocation –
Memory allocation is best managed in these types of systems.
Disadvantages:
The disadvantages of real-time operating systems are as follows-

1. Limited Tasks –
Very few tasks run simultaneously, and their concentration is very less on few
applications to avoid errors.

2. Use Heavy System Resources –


Sometimes the system resources are not so good and they are expensive as well.

3. Complex Algorithms –
The algorithms are very complex and difficult for the designer to write on.
4. Device Driver And Interrupt signals –
It needs specific device drivers and interrupts signals to respond earliest to
interrupts.

5. Thread Priority –
It is not good to set thread priority as these systems are very less prone to
switching tasks.

6. Minimum Switching – RTOS performs minimal task switching.

Multiprogrammin Multiprocessin
Feature Multitasking Multithreading
g g

Running
Running Running
multiple
Running multiple multiple multiple
tasks
Definition programs on a threads within processes on
(applications
single CPU a single task multiple CPUs
) on a single
(application) (or cores)
CPU

Resources Resources Each process


Resources (CPU,
(CPU, (CPU, has its own set
Resource memory) are
memory) are memory) are of resources
Sharing shared among
shared shared among (CPU,
programs
among tasks threads memory)

Uses
priority- Uses priority-
Uses round-robin Each process
based or based or time-
or priority-based can have its
time-slicing slicing
Scheduling scheduling to own
scheduling scheduling to
allocate CPU scheduling
to allocate allocate CPU
time to programs algorithm
CPU time to time to threads
tasks

Each task
Each program has Threads share Each process
Memory has its own
its own memory memory space has its own
Management memory
space within a task memory space
space

Context Requires a Requires a Requires a Requires a


Switching context switch to context context switch context switch
switch between switch to to switch to switch
programs switch between between
between
threads processes
tasks

Uses inter-
Uses Uses thread
process
message synchronizatio
Inter-Process Uses message communicatio
passing or n mechanisms
Communicatio passing or shared n mechanisms
shared (e.g., locks,
n (IPC) memory for IPC (e.g., pipes,
memory for semaphores)
sockets) for
IPC for IPC
IPC

You might also like