Operating System
Operating System
The first computer, Z1, was made in 1936 – 1938. Unfortunately, this
computer ran without an operating system.
Twenty years later, the first-ever operating system was made in
1956.
In the 1960s, bell labs started working on building UNIX, the first
multitasking operating system.
In 1977 the apple series came into existence. Apple Dos 3.3 was the
first disk operating system.
In 1981, Microsoft built the first operating system called DOS by
purchasing 86 – DOS software from a Seattle company.
The most famous Microsoft windows came into existence in 1985
when MS-DOS was paired with GUI, a graphics environment.
Q) Explain about Functions of Operating System
1. Multiprocessor OS
A multiprocessor operating system is an operating system that uses multiple
processors to improve performance. This operating system is commonly
found on computers with more than one CPU. Multiprocessor systems
improve system performance by allowing the execution of tasks on multiple
processors simultaneously. Overall reduces the time it takes to complete
specific tasks.
Advantages
It allows the system to run multiple programs simultaneously.
Beneficial for tasks that need to use all of the processor’s resources, such as
games, scientific calculations, and financial simulations.
Disadvantages
They require additional hardware, such as processors and memory, making
a system more expensive.
2. Multi-programming OS
The operating system which can run multiple processes on a single
processor is called a multiprogramming operating system. There are
different programs that want to get executed. So these programs are kept in
the ready queue. And are assigned to the CPU one by one. If one process
gets blocked then other processes from the ready queue are assigned to the
CPU. The aim of this is optimal resource utilization and more CPU utilization.
In the below figure, different processes are there in RAM(main memory).
Some processes are waiting for the CPU, and process 2(which was
previously executing) is now doing I/O operations. So CPU shifted to execute
process
3. Distributed OS
A distributed operating system is an operating system that is designed to
operate on a network of computers. Distributed systems are usually used to
distribute software applications and data. Distributed systems are also used
to manage the resources of multiple computers. Users could be at different
sites. Multiple computers are connected via a single communication channel.
Every system has its own processor and memory. Resources like disk,
computer, CPU, network interface, nodes, etc., are shared among different
computers at different locations. It increases data availability in the entire
system.
Advantages
It is more reliable as a failure of one system will not impact the other
computers or the overall system.
All computers work independently.
Resources are shared, so there is less cost overall.
The system works at a higher speed as resources are shared
The host system has less load.
Computers can be easily added to the system.
Disadvantages
Costly setup.
If the server fails, then the whole system will fail.
Complex software is used for such a system
4. Multitasking OS
Multi-tasking operating systems are designed to enable multiple applications
to run simultaneously. Multi-tasking operating systems allow multiple users
to work on the same document or application simultaneously.
For example, a user running antivirus software, searching the internet, and
playing a song simultaneously. Then the user is using a multitasking OS.
5. Time-sharing OS
A time-sharing operating system is an application that provides a shared
user interface with multiple users logged in simultaneously. It allows
multiple users to access the same resources, such as files and applications,
as long as they are logged in simultaneously. This operating system type is
most commonly used in businesses, especially those that involve many
simultaneous users. Time-sharing operating systems enable users to finish
their jobs on a system at once. The time-sharing OS is the latest
advancement in the computer science world; it is being accepted worldwide,
also at an increasing rate.
6. Client/server network OS
Client/server network operating systems are those networks that contain
two types of nodes: the servers and clients. The servers host the
applications or services for users while clients use these applications. In a
client/server system, both the server and client computers must have
certain software installed to connect to each other securely over a network
connection.
Client-server networks are a type of computer network in which two or more
computer systems are linked through a telecommunications network. Clients
are the computers that use the network to access services provided by the
server. Servers are the computers that provide the services to the network.
Client/server networks are commonly used in business and government
applications.
Advantages
Allows companies to scale their computing resources to handle increased
demand without having to buy new hardware.
Client-server systems can be quickly reconfigured to meet the changing
needs of an organization.
They are also more reliable and easier to maintain than dedicated server
systems.
Lower operating cost.
More reliable and easier to maintain than dedicated server systems
Disadvantages
These OS need more sophisticated management and networking
technologies, longer startup times, and increased vulnerability to attack.
Less secure than dedicated server systems.
More challenging to scale than dedicated server systems.
7. Batch OS
There are different users, and each user prepares their work in a standalone
device, such as punch cards in batch operating systems and sends them to a
computer operator. The various systems split and distribute similar tasks in
batches to facilitate computing and faster responses. A single operator takes
similar jobs with similar needs and requirements and then groups them into
various batches. Similar kinds of jobs that share similar needs and
requirements. These types of operating systems are not used nowadays.
Advantages
The overall time the system takes to execute all the programs will be
reduced.
Less time to execute all programs.
These operating systems are shared between multiple users.
Suitable for small-scale businesses.
It can work in offline mode also.
It can give specific time to the computer, and when a computer is idle can
process the jobs.
Disadvantages
Sometimes, manual interventions are required between two batches.
The CPU utilization is low because the time taken in loading and unloading
batches is very high compared to execution time.
Sometimes, jobs enter into an infinite loop due to some mistake.
Meanwhile, if one job takes too much time, other jobs must wait.
8. Simple/Monolithic structure
Such operating systems do not have well-defined structures and are small,
simple, and limited. The interfaces and levels of functionality are not well
separated. MS-DOS is an example of such an operating system. In MS-DOS,
application programs are able to access the basic I/O routines. These types
of operating systems cause the entire system to crash if one of the user
programs fails.
Advantages of Simple/Monolithic Structure
It delivers better application performance because of the few interfaces
between the application program and the hardware.
It is easy for kernel developers to develop such an operating system.
Disadvantages of Simple/Monolithic Structure
The structure is very complicated, as no clear boundaries exist between
modules.
It does not enforce data hiding in the operating system.
RTOSes are designed to handle multiple processes at one time, ensuring that
these processes respond to events within a predictable time limit. Processing
in an RTOS occurs within defined time constraints and monitors the priority of
tasks. An RTOS is also able to make changes to task priority. Systems that
are event-driven often switch between tasks based on priority.
Some real-time operating systems are created for special applications, while
others are more general purpose. Usually, RTOSes provide the following
functionality:
Parallel Operating Systems help speed up the processing time by dividing the task into
multiple sub-tasks or sub-processes. This way, numerous processors can deal with
various tasks simultaneously.