21CS208- Operating
Systems
SYLLABUS
UNIT I OVERVIEW OF SYSTEM SOFTWARE
Assemblers & Macro Processors: Simple Assembly Scheme, Pass Structure of
assemblers, Macro Definition and Call, Macro Expansion, Nested Macro Calls,
Linkers and Loaders: Introduction, Relocation and linking Concepts and Types
of Loaders.
UNIT II OVERVIEW OF OPERATING SYSTEMS
Introduction: Computer System Organization, Computer System Architecture,
Operating System Operations. Operating System Structure: OS Services,
System calls, Types of System Calls, Operating – System Structure, OS
Generation and System Boot.
UNIT III PROCESS MANAGEMENT AND DEADLOCK
Process Management: Process Synchronization. CPU Scheduling: Scheduling
Criteria, Scheduling Algorithms. Deadlock: System Model, Characterization,
Deadlock Detection, Deadlock Prevention, Deadlock Avoidance, Deadlock
SYLLABUS
UNIT IV STORAGE MANAGEMENT
Memory Management: Main Memory – Swapping, Contiguous Memory
Allocation, Paging, Structure of the Page Tables, Segmentation. Virtual Memory:
Demand paging, Page Replacement, Allocation, Thrashing; Allocating Kernel
Memory, OS Examples.
UNIT V FILE SYSTEMS AND I/O SYSTEMS
Mass Storage System-Overview of Mass Storage Structure, Disk Structure, Disk
Scheduling and Management,Swap-Space Management; File-System Interface-
File Concept, Access Methods,Directory Structure, Directory Organization,File
system mounting,File Sharing and Protection; File System Implementation-File
System Structure, Directory Implementation, Allocation Methods, Free Space
Management, Efficiency and Performance ,Recovery: I/O Systems –I/O
Hardware, Application I/O Interface, Kernel I/O subsystem,Streams and
Performance.
TEXT BOOK(S):
T1. Leland L.Beck, System Software – An Introduction to System Programming, Pearson
Education, Third Edition, 2011.
T2. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, “Operating System Concepts”, 9 th
Edition,John Wiley and Sons Inc., 2018.
T3. William Stallings,”Operating Systems-Internals and Design Principles”,7 th Edition Prentice
Hall2017
REFERENCES:
R1. D.M.Dhamdhere : System Programming, Tata McGraw Hill, Second Revised Edition, 2011.
R2. Andrew S. Tanenbaum, Albert S.WoodHull: Operating Systems, Design and
Implementation, Third Edition, Prentice Hall, 2012.
R3. Remzi H.Arpaci-Dusseau,Andrea C.Arpaci-Dusseau,”Operating Systems-Three easy
pieces”2nd Edition.
Course Outcomes
CO1: Examine the elements with various data structures used in development
of language processors. [K4]
CO2: Make use of process scheduling, deadlocks and synchronization
concepts to develop solutions for multi-programmed environment.[K3]
CO3: Compare and contrast various memory management schemes. [K4]
CO4: Discover the functionality of file systems and disk.[K4]
CO5: Distinguish various schemes for I/O Management and File Systems.[K4]
Operating System
Anoperating system (OS) is system
software that manages computer
hardware, software resources, and
provides common services for
computer programs
Operating System
AnOperating System (OS) is a
software that acts as an interface
between computer hardware
components and the user.
Everycomputer system must have at
least one operating system to run
other programs
Operating System
The OS helps you to communicate
with the computer without knowing
how to speak the computer’s
language.
Itis not possible for the user to use
any computer or mobile device
without having an operating
system
Operating System
Operating system goals:
Execute user programs and make solving user problems easier
Make the computer system convenient to use
Use the computer hardware in an efficient manner
Operating System
OS is a resource allocator
Manages all resources
Decides between conflicting requests for efficient and fair resource use
OS is a control program
Controls execution of programs to prevent errors and improper use of
the computer
Four Components of a Computer
System
Computer System Organization
Computer-System Operation
Storage Structure
I/O Structure
Computer System Organization
Computer-system operation
One or more CPUs, device controllers connect through common
bus providing access to shared memory
Concurrent execution of CPUs and devices competing for
memory cycles
Computer System Organization-Cont.,
Computer-System Operation
For a computer to start running
when it is powered up or rebooted—it needs to have an initial program to run.
This initial program,or bootstrap program
It is stored within the computer hardware in read-only memory ( ROM)
Or electrically erasable programmable read-only memory ( EEPROM)
Bootstrap program must locate the operating-system kernel and load it into
memory
Computer System Organization-Cont.,
Computer-System Operation
Interrupt Handling
The occurrence of an event is usually signaled by an interrupt from either the
hardware or the software.
Hardware may trigger an interrupt at any time by sending a signal to the
CPU,usually by way of the systembus.
Software may trigger an interrupt by executing a special operation called a
system call (also called a monitor call).
Computer System Organization-Cont.,
Computer-System Operation
Interrupt Handling
Interrupt transfers control to the interrupt service routine generally, through
the interrupt vector, which contains the addresses of all the service routines
Interrupt architecture must save the address of the interrupted instruction
The operating system preserves the state of the CPU by storing registers and
the program counter
Computer System Organization-Cont.,
Interrupt Handling
After the interrupt is serviced, the saved return address is loaded into the
program counter, and the interrupted computation resumes as though the
interrupt had not occurred.
A trap or exception is a software-generated interrupt caused either by an
error or a user request
An operating system is interrupt driven
Computer System Organization-Cont.,
Storage Structure
Main memory – only large storage media that the CPU can access directly
Random access
Typically volatile
Secondary storage – extension of main memory that provides large nonvolatile
storage capacity
Hard disks – rigid metal or glass platters covered with magnetic recording
material
Disk surface is logically divided into tracks, which are subdivided into sectors
The disk controller determines the logical interaction between the device and
the computer
Computer System Organization-Cont.,
Storage Hierarchy
Storage systems organized based
Speed
Cost
Volatility
Caching – copying information into faster storage system; main memory can
be viewed as a cache for secondary storage
Storage-Device Hierarchy
Caching
Information in use copied from slower to faster storage temporarily
Faster storage (cache) checked first to determine if information is there
If it is, information used directly from the cache (fast)
If not, data copied to cache and used there
Computer System Organization-Cont.,
I/O Structure
I/O devices and the CPU can execute concurrently
Each device controller is in charge of a particular device type
Each device controller has a local buffer
The device controller is responsible for moving the data between
the peripheral devices that it controls and its local buffer storage.
Typically, operating systems have a device driver for each device controller
Computer System Organization-Cont.,
I/O Structure
To start an I/O operation, the device driver loads the appropriate registers within the device
controller. The device controller, in turn, examines the contents of these registers to determine
what action to take (such as “read a character from the keyboard”).
The controller starts the transfer of data from the device to its local buffer. Once the transfer of
data is complete, the device
controller informs the device driver via an interrupt that it has finished its operation. The device
driver then returns control to the operating system, possibly returning the data or a pointer to the
data if the operation was a read.
Computer System Organization-Cont.,
I/O Structure
This form of interrupt-driven I/O is fine for moving small amounts of data but can produce
high overhead when used for bulk data movement
To solve this problem, Direct memory access (DMA) is used.
Transfers an entire block of data directly to or from its own buffer storage to memory, with
no intervention by the CPU.
While the device controller is performing these operations, the CPU is available to
accomplish other work.
How a Modern Computer Works
Computer-System Architecture
Most systems use a single general-purpose processor
Most systems have special-purpose processors as well
Multiprocessors systems growing in use and importance
Also known as parallel systems, tightly-coupled systems
Advantages include:
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful degradation or fault tolerance
Two types:
1. Asymmetric Multiprocessing – each processor is assigned a specie task.
2. Symmetric Multiprocessing – each processor performs all tasks
Symmetric Multiprocessing Architecture
A Dual-Core Design
Multi-chip and multicore
Systems containing all chips
Chassis containing multiple separate systems
Clustered Systems
Like multiprocessor systems, but multiple systems working together
Usually sharing storage via a storage-area network (SAN)
Provides a high-availability service which survives failures
Asymmetric clustering has one machine in hot-standby mode
Symmetric clustering has multiple nodes running applications,
monitoring each other
Some clusters are for high-performance computing (HPC)
Applications must be written to use parallelization
Some have distributed lock manager (DLM) to avoid conflicting operations
Clustered Systems
Memory Layout for Multiprogrammed System