0% found this document useful (0 votes)
25 views

OS Unit 1

It's about the Operating system and its basic concepts

Uploaded by

Harsha Balappa
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)
25 views

OS Unit 1

It's about the Operating system and its basic concepts

Uploaded by

Harsha Balappa
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/ 19

Operating System and Linux

Unit I

Introduction to OS

What is an operating system?

An operating system (OS) is a program that manages a computer's hardware and


software resources, and allows users to interact with the computer.

Manages resources
The OS manages a computer's memory, processing power, file storage,
input/output devices, and network connections. It also schedules resource use to
avoid conflicts between programs.
Provides a platform
The OS provides a software platform for other programs to run on. It sets
standards for application programs and acts as an intermediary between programs
and the computer's hardware.
Enables user interaction
The OS allows users to interact with the computer through a user interface (UI),
such as a command-line interface (CLI) or a graphical user interface (GUI).
Runs indefinitely
The OS runs indefinitely, only terminating when the computer is turned off.
Some examples of operating systems include:

 Android: A mobile operating system

 iOS: A mobile operating system

 iPadOS: A mobile operating system

 Windows: A desktop operating system


 macOS: A desktop operating system

 Linux: A desktop operating system

OR

An Operating System is a System software that manages all the resources of the
computing device.
 Acts as an interface between the software and different parts of the computer
or the computer hardware.
 Manages the overall resources and operations of the computer.
 Controls and monitors the execution of all other programs that reside in the
computer, which also includes application programs and other system software
of the computer.
 Examples of Operating Systems are Windows, Linux, macOS, Android, iOS,
etc.
History of OS:
An operating system is a type of software that acts as an interface between the
user and the hardware. It is responsible for handling various critical functions of
the computer and utilizing resources very efficiently so the operating system is
also known as a resource manager. The operating system also acts like a
government because just as the government has authority over everything,
similarly the operating system has authority over all resources. Various tasks that
are handled by OS are file management, task management, garbage management,
memory management, process management, disk management, I/O management,
peripherals management, etc.
Generations of Operating Systems
 1940s-1950s: Early Beginnings
o Computers operated without operating systems (OS).
o Programs were manually loaded and run, one at a time.
o The first operating system was introduced in 1956. It was a batch
processing system GM-NAA I/O (1956) that automated job
handling.
 1960s: Multiprogramming and Timesharing
o Introduction of multiprogramming to utilize CPU efficiently.
o Timesharing systems, like CTSS (1961) and Multics (1969), allowed
multiple users to interact with a single system.
 1970s: Unix and Personal Computers
o Unix (1971) revolutionized OS design with simplicity, portability,
and multitasking.
o Personal computers emerged, leading to simpler OSs like CP/M
(1974) and PC-DOS (1981).
 1980s: GUI and Networking
o Graphical User Interfaces (GUIs) gained popularity with systems
like Apple Macintosh (1984) and Microsoft Windows (1985).
o Networking features, like TCP/IP in Unix, became essential.
 1990s: Linux and Advanced GUIs
o Linux (1991) introduced open-source development.
o Windows and Mac OS refined GUIs and gained widespread
adoption.
 2000s-Present: Mobility and Cloud
o Mobile OSs like iOS (2007) and Android (2008) dominate.
o Cloud-based and virtualization technologies reshape computing, with
OSs like Windows Server and Linux driving innovation.
 AI Integration – (Ongoing)
With the growth of time, Artificial intelligence came into picture. Operating
system integrates features of AI technology like Siri, Google Assistant, and
Alexa and became more powerful and efficient in many way. These AI
features with operating system create a entire new feature like voice
commands, predictive text, and personalized recommendations.

What is an Operating System Used for?


 As a platform for Application programs: It provides a platform, on top of
which, other programs, called application programs can run.
 Managing Input-Output unit: It also allows the computer to manage its own
resources such as memory, monitor, keyboard, printer, etc. Management of
these resources is required for effective and fair utilization.
 Multitasking: It manages memory and allows multiple programs to run in
their own space and even communicate with each other through shared
memory.
 Manages memory and Files: It manages the computer’s main memory and
second storage. Additionally, it allows and deallocates memory to all tasks and
applications.
 Provides Security: It helps to maintain the system and applications safe
through the authorization process. Thus, the OS provides security to the
system.
Functions of the Operating System
 Memory management
 Process management
 File management
 Device Management
 Deadlock Prevention
 Input/Output device management
 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 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.
Types of Operating Systems
1. Batch Operating System: A Batch Operating System is a type of operating
system that does not interact with the computer directly. There is an operator
who takes similar jobs having the same requirements and groups them into
batches.
Advantages of Batch Operating System
 Multiple users can share the batch systems.
 The idle time for the batch system is very less.
 It is easy to manage large work repeatedly in batch systems.
Disadvantages of Batch Operating System
 CPU is not used efficiently. When the current process is doing IO, CPU is free
and could be utilized by other processes waiting.
 The other jobs will have to wait for an unknown time if any job fails.
 In batch operating system, average response time increases as all processes are
processed one by one.
Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.
2. Multi-Programming Operating System
Multiprogramming Operating Systems can be simply illustrated as more than one
program is present in the main memory and any one of them can be kept in
execution. This is basically used for better utilization of resources.
Advantages of Multi-Programming Operating System
 CPU is better utilized and overall performance of the system improves.
 It helps in reducing the response time.
Time-Sharing Operating Systems
It is a type of Multiprogramming system with every process running in round
robin manner. Each task is given some time to execute so that all the tasks work
smoothly. Each user gets the time of the CPU as they use a single system. These
systems are also known as Multitasking Systems. The task can be from a single
user or different users also. The time that each task gets to execute is called
quantum. After this time interval is over OS switches over to the next task.
[Time-sharing Operating System: Time-sharing Operating System is a type of
operating system that allows many users to share computer resources (maximum
utilization of the resources).]

Advantages of Time-Sharing OS
 Each task gets an equal opportunity.
 Fewer chances of duplication of software.
 CPU idle time can be reduced.
 Resource Sharing: Time-sharing systems allow multiple users to share
hardware resources such as the CPU, memory, and peripherals, reducing the
cost of hardware and increasing efficiency.
 Improved Productivity: Time-sharing allows users to work concurrently,
thereby reducing the waiting time for their turn to use the computer. This
increased productivity translates to more work getting done in less time.
 Improved User Experience: Time-sharing provides an interactive environment
that allows users to communicate with the computer in real time, providing a
better user experience than batch processing.
Disadvantages of Time-Sharing OS
 Reliability problem.
 One must have to take care of the security and integrity of user programs and
data.
 Data communication problem.
 High Overhead: Time-sharing systems have a higher overhead than other
operating systems due to the need for scheduling, context switching, and other
overheads that come with supporting multiple users.
 Complexity: Time-sharing systems are complex and require advanced
software to manage multiple users simultaneously. This complexity increases
the chance of bugs and errors.
 Security Risks: With multiple users sharing resources, the risk of security
breaches increases. Time-sharing systems require careful management of user
access, authentication, and authorization to ensure the security of data and
software.
Examples of Time-Sharing OS with explanation
 IBM VM/CMS : IBM VM/CMS is a time-sharing operating system that was
first introduced in 1972. It is still in use today, providing a virtual machine
environment that allows multiple users to run their own instances of operating
systems and applications.
 TSO (Time Sharing Option) : TSO is a time-sharing operating system that
was first introduced in the 1960s by IBM for the IBM System/360 mainframe
computer. It allowed multiple users to access the same computer
simultaneously, running their own applications.
 Windows Terminal Services : Windows Terminal Services is a time-sharing
operating system that allows multiple users to access a Windows server
remotely. Users can run their own applications and access shared resources,
such as printers and network storage, in real-time.
Multitasking
Time Sharing and Multiprogramming systems are also
called multitasking sometimes as multiple tasks run in interleaving manner.

3. Multi-Processing Operating System


Multi-Processing Operating System is a type of Operating System in which more
than one CPU is used for the execution of resources. It betters the throughput of
the System.

Multiprocessing Operating System: Multiprocessor Operating Systems are used


in operating systems to boost the performance of multiple CPUs within a single
computer system. Multiple CPUs are linked together so that a job can be divided
and executed more quickly.
Advantages of Multi-Processing Operating System
 It increases the throughput of the system as processes can be parallelized.
 As it has several processors, so, if one processor fails, we can proceed with
another processor.
4. Multi User Operating Systems
These systems allow multiple users to be active at the same time. These system
can be either multiprocessor or single processor with interleaving.
 Multi-User Operating Systems: Multi-User Operating Systems are designed
to support multiple users simultaneously. Examples include Linux and Unix.
5. Distributed Operating System
These types of operating system is a recent advancement in the world of
computer technology and are being widely accepted all over the world and, that
too, at a great pace. Various autonomous interconnected computers communicate
with each other using a shared communication network. Independent systems
possess their own memory unit and CPU. These are referred to as loosely coupled
systems or distributed systems . These systems’ processors differ in size and
function. The major benefit of working with these types of the operating system
is that it is always possible that one user can access the files or software which
are not actually present on his system but some other system connected within
this network i.e., remote access is enabled within the devices connected in that
network.

 Distributed Operating System: Distributed Operating System is a type of


operating system that manages a group of different computers and makes
appear to be a single computer. These operating systems are designed to
operate on a network of computers. They allow multiple users to access shared
resources and communicate with each other over the network. Examples
include Microsoft Windows Server and various distributions of Linux
designed for servers.

Advantages of Distributed Operating System


 Failure of one will not affect the other network communication, as all systems
are independent of 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 is used 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 Systems are LOCUS, etc.

6. Network Operating System: Network Operating System is a type of


operating system that runs on a server and provides the capability to manage
data, users, groups, security, applications, and other networking functions.
these computers are popularly known as tightly coupled systems .
Advantages of Network Operating System
 Highly stable centralized servers.
 Security concerns are handled through servers.
 New technologies and hardware up-gradation are easily integrated into the
system.
 Server access is possible remotely from different locations and types of
systems.
Disadvantages of Network Operating System
 Servers are costly.
 User has to depend on a central location for most operations.
 Maintenance and updates are required regularly.
Examples of Network Operating Systems are Microsoft Windows Server 2003,
Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare,
BSD, etc.
7. Real-time Operating System: Real-time Operating System is a type of
operating system that serves a real-time system and the time interval required
to process and respond to inputs is very small. These operating systems are
designed to respond to events in real time. They are used in applications that
require quick and deterministic responses, such as embedded systems,
industrial control systems, and robotics.
Real-Time Operating System
These types of OSs serve real-time systems. The time interval required to process
and respond to inputs is very small. This time interval is called response
time.Real-time systems are used when there are time requirements that are very
strict like missile systems, air traffic control systems, robots, etc.
Types of Real-Time Operating Systems
 Hard Real-Time Systems: Hard Real-Time OSs are meant for applications
where time constraints are very strict and even the shortest possible delay is
not acceptable. These systems are built for saving life like automatic
parachutes or airbags which are required to be readily available in case of an
accident. Virtual memory is rarely found in these systems.
 Soft Real-Time Systems: These OSs are for applications where time-
constraint is less strict.

8.Single-User Operating Systems: Single-User Operating Systems are designed


to support a single user at a time. Examples include Microsoft Windows for
personal computers and Apple macOS.
9.Embedded Operating Systems: Embedded Operating Systems are designed to
run on devices with limited resources, such as smartphones, wearable devices,
and household appliances. Examples include Google’s Android and Apple’s iOS.
10.Cluster Operating Systems: Cluster Operating Systems are designed to run
on a group of computers, or a cluster, to work together as a single system. They
are used for high-performance computing and for applications that require high
availability and reliability. Examples include Rocks Cluster Distribution and
OpenMPI.

You might also like