SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
DEPARTMENT OF COMPUTER SCIENCE
NOTES
Subject Code : 22SCCCS8
Subject Name : OPERATING SYSTEM
Class & Branch : III-CS
Academic Year : 2024-2025
Semester : VI
Subject Incharge : I.BRINDHA
OPERATING SYSTEM-22SCCCS8 Page 1
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
UNIT - I:
Introduction - What Is an Operating System-Operating System Software -A
Brief History of Machine Hardware -Types of Operating Systems - Brief History
of Operating System Development-Object-Oriented Design
UNIT - II:
Early Systems: Single-User Contiguous Scheme -Fixed Partitions-
Dynamic PartitionsBest-Fit versus First-Fit Allocation -Deallocation - Relocatable
Dynamic Partitions. Virtual Memory: Paged Memory Allocation-Demand Paging-
Page Replacement Policies and Concepts -Segmented Memory Allocation-
Segmented/Demand Paged Memory Allocation - Virtual Memory-Cache Memory
UNIT - III:
Overview-About Multi-Core Technologies-Job Scheduling Versus Process
Scheduling Process Scheduler-Process Scheduling Policies-Process Scheduling
Algorithms –A Word About Interrupts-Deadlock-Seven Cases of Deadlock -
Conditions for Deadlock- Modeling Deadlock-Strategies for Handling Deadlocks
–Starvation- Concurrent Processes: What Is Parallel Processing-Evolution of
Multiprocessors- Introduction to Multi-Core Processors Typical Multiprocessing
Configurations--Process Synchronization Software.
UNIT - IV:
Types of Devices-Sequential Access Storage Media-Direct Access Storage
Devices Magnetic Disk Drive Access Times- Components of the I/O Subsystem-
Communication among Devices-Management of I/O Requests
OPERATING SYSTEM-22SCCCS8 Page 2
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
UNIT - V:
The File Manager -Interacting with the File Manager -File Organization –
Physical Storage Allocation -Access Methods-Levels in a File Management
System – Access Control Verification Module
UNIT - VI
CURRENT CONTOURS (for Continuous Internal Assessment Only):
Contemporary Developments Related to the Course during the Semester
Concerned
REFERENCES:
1. Ann McIver Mc Hoes, Ida M. Flynn, "Understanding Operating Systems", Course
Technology, Cengage Learning, 2011.
2. Greg Tomsho,"Guide to Operating Systems", Cengage Learning, 2020. 36
3. Cesar Herrera, Darrell Hajek, Flor Narciso, "Principles of Operating Systems",
Amazon Digital Services LLC - KDP Print US, 2020.
4. Cesar Herrera, Darrell Hajek,"Principles of Operating Systems", Independently
Published, 2019.
5. Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau,"Operating Systems: Three
Easy Pieces", Create Space Independent Publishing Platform, 2018.
6. Abraham Silberschatz, Peter B. Galvin, Greg Gagne, "Operating System
Concepts", Wiley Publisher, 2018.
7. https://www.guru99.com/os-tutorial.html
OPERATING SYSTEM-22SCCCS8 Page 3
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
UNIT - I:
OPERATING SYSTEM
What is an Operating System?
An operating System is an interface between computer user and computer
hardware. An operating system is a system software which performs all the basic
tasks like file management, memory management handling input, output and
controlling peripheral devices such as disk drives and printers. It controls who can
use the system and how. In Short, it is the boss.
Why use an operating system?
An operating system brings powerful benefits to computer software and
software development. Without an operating system, every application would
need to include its own UI, as well as the comprehensive code needed to handle
all low-level functionality of the underlying computer, such as disk storage,
network interfaces and so on. Considering the vast array of underlying hardware
available, this would vastly bloat the size of every application and make software
development impractical.
Instead, many common tasks, such as sending a network packet or
displaying text on a standard output device, such as a display, can be offloaded to
system software that serves as an intermediary between the applications and the
hardware. The system software provides a consistent and repeatable way for
applications to interact with the hardware without the applications needing to
know any details about the hardware.
As long as each application accesses the same resources and services in the
same way, that system software -- the operating system can service almost any
OPERATING SYSTEM-22SCCCS8 Page 4
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
number of applications. This vastly reduces the amount of time and coding
required to develop and debug an application, while ensuring that users can
control, configure and manage the system hardware through a common and well-
understood interface.
Operating System Software:
The fig1.1 shows in an abstract representation of an operating system and
demonstrates how its main components work together. There are four essential
manager of every operating system.
1. Memory Manger
2. Processor Manger
3. Device Manager
4. File Manager
A network was not always an integral part of operating systems. Now most
operating systems routinely incorporate a Network Manager.
Operating system software
OPERATING SYSTEM-22SCCCS8 Page 5
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
The tasks performed by the subsystem manager are
1. Monitor its resources continuously
2. Enforce the policies that determine who gets what, when and how
much
3. Allocate the resources when appropriate
4. Deallocate the resources when appropriate
Memory Management
Responsibility of memory manager is to preserve space in main memory
occupied by the operating system itself. It can’t allow any part of it be accidentally
or intentionally altered.
Processor Management
A process is defined as an instance of execution of a program. The processor
manager decides how to allocate the central processing unit (CPU) for a process.
The process manager monitors the CPU whether it is executing a process or
waiting for a READ or WRITES command to finish execution. The processor
manger has two level of responsibilities
i) To Handle the job
ii) ii) To Handle the process with in the job
First part handled by the Job Scheduler. This is the high-level portion of the
processor manger. This accepts or rejects the incoming jobs. The Second part
OPERATING SYSTEM-22SCCCS8 Page 6
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
handled by the Process Scheduler which is the low level portion of the process
manger. It’s responsibility is deciding which process gets the CPU and for how
long.
Device management
The Device manager monitors every device, channel and control unit. Its job is to
choose the most effective way to allocate all of the devices, printers, ports, disk
drives based on a scheduling policy. The device manager allocates each resource
when starting its operation after completion of a process deallocate the device and
makes it available to the next process or job.
File Management
File manger keeps track of every file in the system. By using access policies it
enforces restrictions on who has access to which files. Managing access controlis
a key part of file management. Finally, the file manager allocates the resources
and deallocates later.
Brief History of Machine Hardware:
The essential components of computer hardware are
• Memory
I/O Devices
Central Processing Unit (CPU)
Memory : (Random Access Memory, RAM) is where the data and instruction
must reside to be processed.
OPERATING SYSTEM-22SCCCS8 Page 7
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
I/O Devices :
Includes all the peripheral units in the system such as printer, disk drives,
CD/DVD drives, flash memory, keyboards and so on.
CPU:
It is the brain with circuitry. This controls the operations of the entire computer
system. 1970’s Computers were classified by the capacity and price.
1970’s Computers were classified by the capacity and price.
A mainframe was a large machine—in size and in internal memory capacity.
Example : The IBM 360 model 30 consist of CPU had 5 feet high and 6 feet wide,
had an internal memory of 64K (considered large at that time), and a price tag of
$200,000.
The minicomputer was developed to meet the needs of smaller institutions, those
with only a few dozen users. One of the early minicomputers was marketed
by Digital Equipment Corporation to satisfy the needs of large schools and small
colleges that began offering computer science courses in the early 1970s.
Minicomputers are smaller in size and memory capacity and cheaper than
mainframes.
OPERATING SYSTEM-22SCCCS8 Page 8
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
Hardware Architecture
The supercomputer was developed primarily for government
applications needing massive and fast number-crunching ability to carry out
military operations and weather forecasting. A Cray supercomputer is a
typical example with six to thousands of processors performing up to 2.4
trillion floating point operations per second (2.4 Teraflops).
The microcomputer was developed to offer inexpensive computation
capability to individual users. Early models featured a revolutionary amount
OPERATING SYSTEM-22SCCCS8 Page 9
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
of memory: 64K. Their physical size was smaller than the minicomputers.
Microcomputers grew to accommodate software with larger capacity and
greater speed.
Powerful microcomputers were developed for commercial,
educational, and government enterprises are called workstations. It has very
powerful CPUs, large amounts of main memory, and extremely high-
resolution graphic displays to meet their needs.
Servers are powerful computers that provide specialized services to
other computers on client/server networks.
Networking is an integral part of modern computer systems because it
can connect Workstations, servers, and peripheral devices into integrated
computing systems.
Networking capability has become a standard feature in many
computing devices: Personal organizers, Personal Digital Assistants (PDAs),
cell phones, and handheld Web browsers.
At one time, computers were classified by memory capacity; now they’re
distinguished by processor capacity.
Types of Operating System
Operating systems for computers fall into five categories distinguished by
response time and how data is entered into the system.
1. Batch
2. Interactive
3. Real-Time
4. Hybrid
OPERATING SYSTEM-22SCCCS8 Page 10
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
5. Embedded
Batch Operating System:
There is no interaction between user and the computer. The user submit
a job by assembling into a deck of cards and running the entire deck of
cards through a card reader as a group- a batch. The efficiency of the batch
system is measured in throughput(The number of jobs completed in a
given amount of time).
Interactive System :
Interactive operating system is one that allows these users to directly
interact with the operating system. This would allow user to interact
directly with the computer system via commands entered from a terminal.
Real-time System:
A Real-time operating system intended to serve real time applications.
The system is subjected to real time (ie) responses should be guaranteed
within a specified time constraints or system should meet the specified
deadline. There are two types of real time system depending on the
consequences of missing deadline.
Hard real-time system: If the predicted deadline is missed it causes
total system failure.
Soft-Real time system: If the predicted deadline is missed the system
suffers performance degradation.
Hybrid system: It is the combinations of batch and interactive operating
OPERATING SYSTEM-22SCCCS8 Page 11
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
system. They appear to be interactive because individual user can access the
system and get fast response but such system actually accepts and runs batch
program in the background when the interactive load is light.
Embedded System: Embedded systems are computers placed inside other
products to add features and capabilities.eg. House Hold appliances, digital
Music players.
Brief History of operating system development
1940’s
First generation computers based on vacuum tube
technology No Standard operating system software
A typical program included every instruction needed by the
computer to perform the task requested.
The machine was operated by the programmers from the main console.
To run a program the programmers reserve machine for the estimated
time. As a result the machine was poorly utilized.
1950’s
Second generation computers (1955-1965) were given much more
importance of the cost effectiveness of the system. Two
improvements were widely adopted.
Computer operators: Humans hired to facilitate machine operations
Job Scheduling: This is a productivity improvement scheme that group
together programs with similar requirements.
Job Control languages helped the operating system to co-ordinate and
OPERATING SYSTEM-22SCCCS8 Page 12
SIR ISSAC NEWTON COLLEGE OF ARTS & SCIENCE CENTRE-340
manage the system resources by identifying the users and their jobs and
specifying the resources required to execute each job.
Factors to improve the performance of the CPU:
The speed of I/O devices gradually increased.
To use more storage space records were grouped into blocks before
they were retrieved or stored.
To reduce the discrepancy in between I/O and the CPU an interfaced
called control unit was placed between them to act as buffer.
Time Interrupts were developed to allow job sharing.
During the second generation programs were still assigned to the processor
one at a time.
1960’s
Third generation computers designed towards better use of the
system resources. Faster CPU but their speed caused problems.
Multiprogramming concept was introduced to load many programs at one time
and sharing the attention of single CPU.
Program scheduling which was begun with second generation
systems, continued at this time.
OPERATING SYSTEM-22SCCCS8 Page 13
Multiprogramming concept was introduced to load many
programs at one time and sharing the attention of single
CPU.
Program scheduling which was begun with second
generation systems, continued at this time
Few advances made in Process management and
data management Total operating system was
customized to suit user needs.
1970’s
During the late 1970s, Multiprogramming schemes to
increase CPU use were limited by the physical capacity of
the main memory, which was a limited resource and very
expensive.
A solution to this physical limitation was the development
of virtual memory,
A system with virtual memory would divide the programs
into parts and keep them in secondary storage, bringing
each part into memory only as it was needed.
At this time, Database management software became a
popular tool because it organized data in an integrated
manner, minimized redundancy, and simplified updating
and access of data. Query systems were introduced to
retrieve specific pieces of the database
. Application programs are introduced to perform standard
operations
1980’s
OPERATING SYSTEM-22SCCCS8 Page 14
Development in the 1980s dramatically improved the
cost/performance ratio of computer components
• Programming functions were being carried out by the
system’s software
• firmware, used to indicate that a program is permanently
held in read-only memory (ROM)
• multiprocessing (having more than one processor) concept
allows to execute programs in parallel.
• The evolution of personal computers and high-speed
communications sparked the move to networked systems
and distributed processing, enabling users in remote
locations to share hardware and software resources.
1990s
• The overwhelming demand for Internet capability in the mid-
1990s sparked the proliferation of networking capability.
• The World Wide Web, Web accessibility and e-mail became
standard features of almost every operating system.
• Increased demand for tighter security to protect hardware and
software.
• The decade also introduced a proliferation of multimedia
applications demanding additional power, flexibility, and
device compatibility for most operating systems.
2000s
• The new century emphasized the need for operating systems to
offer improved flexibility, reliability, and speed.
• To meet the need for computers that could accommodate
multiple operating systems running at the same time and
sharing resources, the concept of virtual machines was
OPERATING SYSTEM-22SCCCS8 Page 15
developed and became commercially viable.
• Virtualization is the creation of partitions on a single server,
with each partition supporting a different operating system. 20
Processing speed has enjoyed a similar advancement
• Processing speed has enjoyed a similar advancement with the
development of multicore processors.
Object-Oriented Design
Object-Oriented design was the driving force behind this
new organization. Which is a programming philosophy whereby
programs consist of self-contained, reusable modules called
objects, each of which supports a specific function, but which are
categorized into classes of objects that share the same function.
By working on objects, programmers can modify and customize
pieces of an operating system without disrupting the integrity of
the remainder of the system.
The first operating systems were designed as a
comprehensive single unit,They stored all required elements of
the operating system in memory such as memory allocation,
process scheduling, device allocation, and file management.
This type of architecture made it cumbersome and time
consuming for programmers to add new components to the
operating system, or to modify existing ones.
Most recently, the part of the operating system that resides
in memory has
been limited to a few essential functions, such as process scheduling
and memory allocation, while all other functions, such as device
allocation, are provided by special modules, which are treated as
OPERATING SYSTEM-22SCCCS8 Page 16
regular applications been limited to a few essential functions, such as
process scheduling and memory allocation, while all other functions,
a) Early operating systems, loaded in their entirety into main memory.
(b) Object-oriented operating systems, load only
the critical elements into main memory and
call other objects as needed.
In addition, using a modular, object-oriented approach can can make
software development groups more productive than was possible with
procedural structured programming.
OPERATING SYSTEM-22SCCCS8 Page 17