Operating System
Introduction
Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©2009
Four Components of a Computer System
Operating System Concepts – 8th Edition 1.2 Silberschatz, Galvin and Gagne ©2009
Computer System Structure
Computer system can be divided into four components:
Hardware
CPU, memory, I/O devices
Operating system
Controls and coordinates use of hardware among
various applications and users
Application programs
Word processors, compilers, web browsers, database
systems, video games
Users
People, machines, other computers
Operating System Concepts – 8th Edition 1.3 Silberschatz, Galvin and Gagne ©2009
What is an Operating System?
A program that acts as an intermediary between a
user of a computer and the computer hardware.
“The one program running at all times on the
computer” is the kernel. Everything else is either a
system program (ships with the operating system) or
an application program.
Operating System Concepts – 8th Edition 1.4 Silberschatz, Galvin and Gagne ©2009
Operating System Functions
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
Error in one program should not affect other
programs
Operating System Concepts – 8th Edition 1.5 Silberschatz, Galvin and Gagne ©2009
Computer System Organization
Computer-system operation
One or more CPUs, device controllers connect
through common bus providing access to shared
memory
Operating System Concepts – 8th Edition 1.6 Silberschatz, Galvin and Gagne ©2009
Computer-System Operation
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
CPU moves data from/to main memory to/from local
buffers
I/O is from the device to local buffer of controller
Device controller informs CPU that it has finished its
operation by causing an interrupt
Operating System Concepts – 8th Edition 1.7 Silberschatz, Galvin and Gagne ©2009
Computer Startup
bootstrap program is loaded at power-up or reboot
Typically stored in ROM or EEPROM, generally
known as firmware
Initializes all aspects of system
Loads operating system kernel and starts execution
Operating System Concepts – 8th Edition 1.8 Silberschatz, Galvin and Gagne ©2009
Storage Hierarchy
Storage systems organized in hierarchy
Speed
Cost
Volatility
Caching – copying information into faster storage
system; main memory can be viewed as a cache for
secondary storage
Operating System Concepts – 8th Edition 1.9 Silberschatz, Galvin and Gagne ©2009
Storage-Device Hierarchy
Operating System Concepts – 8th Edition 1.10 Silberschatz, Galvin and Gagne ©2009
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
Operating System Concepts – 9th Edition 1.11 Silberschatz, Galvin and Gagne ©2013
Symmetric Multiprocessing Architecture
Operating System Concepts – 9th Edition 1.12 Silberschatz, Galvin and Gagne ©2013
Operating System Structure
Multiprogramming needed for efficiency
Single user cannot keep CPU and I/O
devices busy at all times
Multiprogramming organizes jobs (code and
data) so CPU always has one to execute
A subset of total jobs in system is kept in
memory
One job selected and run via job
scheduling
When it has to wait (for I/O for example), OS
switches to another job
Operating System Concepts – 8th Edition 1.13 Silberschatz, Galvin and Gagne ©2009
Memory Layout for Multiprogrammed System
Operating System Concepts – 8th Edition 1.14 Silberschatz, Galvin and Gagne ©2009
Timesharing (multitasking) : CPU switches jobs so frequently that
users can interact with each job while it is running, creating interactive
computing
Response time should be < 1 second
Each user has at least one program executing in memory process
If several jobs ready to run at the same time CPU scheduling
If processes don’t fit in memory, swapping moves them in and out to run
Virtual memory allows execution of processes not completely in memory
Operating System Concepts – 8th Edition 1.15 Silberschatz, Galvin and Gagne ©2009
Syllabus :
Process Management: process, thread, scheduling;
Synchronization : mutual exclusion, semaphores, deadlocks;
Memory Management: allocation, protection, hardware support,
paging, segmentation; Virtual Memory: demand paging, allocation,
replacement, swapping, segmentation,TLBs;
File Management: naming, file operations and their implementation; File
Systems: allocation, free space management, directory management,
mounting;
I/O Management: device drivers, disk scheduling,
Introduction to Real time system, distributed system, Multimedia
system
Books
Text :
1. Silberschatz, A. and Galvin, P. B. Operating System Concepts. 10/e. Wiley, 2018.
References :
1. Stalling, W. Operating Systems: Internals and Design Principles. 9/e. Pearson, 2017.
2. Tanenbaum, A. S. Modern Operating System. 3/e. Pearson, 2007.
3. Dhamdhere, D. M. Operating SystemsA Concept Based Approach, McGrawHill, 2008
Grading
End sem – 60 %
Mid sem – 40 %
**Subject to change
End of Chapter 1
Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©2009