Unit 1 Operating System by B Lokesh Joel
Unit 1 Operating System by B Lokesh Joel
OPERATING SYSTEMS
By B Lokesh Joel
UNIT-I:
Title and Content Layout with List
Introduction: Operating-System Structures:
What Operating Systems Do, Operating-System Services,
Computer-System Organization, User Operating-System Interface,
Computer-System Architecture, System Calls
Operating-System Structure, Types of System Calls,
Operating-System Operations System Programs
Operating-System Design and
Implementation
Operating-System Structure
Virtual Machines
Operating-System Debugging
Operating-System Generation
System Boot.
What is an Operating System?
A program that acts as an intermediary between a user of
a computer and the computer hardware
Operating system goals:
1. Execute user programs
2. Make computer system convenient to use
3. Use computer hardware in an efficient manner
Computer Structure
Computer system can be divided into four components:
1. Hardware – provides basic computing resources
CPU, memory, I/O devices
2. Operating system
Controls and coordinates use of hardware among various applications
and users
3. Application programs – define the ways in which the system resources
are used to solve the computing problems of the users
Word processors, compilers, web browsers, database systems, video
games
4. Users
People, machines, other computers
Four Components of a Computer System
Similar to
a Government!
1. What Operating Systems Do
What Operating Systems Do
Depends on the point of view
Users want convenience, ease of use and good performance
Don’t care about resource utilization
But shared computer such as mainframe or minicomputer must
keep all users happy
Users of dedicate systems such as workstations have dedicated
resources but frequently use shared resources from servers
Handheld computers are resource poor, optimized for usability and
battery life
Some computers have little or no user interface, such as embedded
computers in devices and automobiles
System view of an Operating System
1. OS is a resource allocator
2. OS is a control program
1. Resource Manager
Resource Manager:
Manages and protects multiple computer resources:
CPU, Processes, Internal/External memory, Tasks, Applications, Users,
Communication channels, etc…
Handles and allocates resources to multiple users or multiple
programs running at the same time and space (e.g., processor
time, memory, I/O devices).
Decides between conflicting requests for efficient and fair
resource use (e.g., maximize throughput, minimize response
time).
Sort of a bottom-up view.
OS as a Resource Manager
Resource Manager oriented OS names
Control Program:
Manages all the components of a complex computer
system in an integrated manner.
Controls the execution of user programs and I/O devices
to prevent errors and improper use of computer resources.
Looks over and protects the computer:
Monitor, Supervisor, Executive, Controller, Master, Coordinator ….
Sort of a black box view.
Control program oriented OS names
Synchronous Asynchronous
Device-Status Table
Direct Memory Access Structure
Used for high-speed I/O devices able to transmit
information at close to memory speeds
Device controller transfers blocks of data from buffer
storage directly to main memory without CPU
intervention
Only one interrupt is generated per block, rather
than the one interrupt per byte
How a Modern Computer Works
The basic unit of computer storage is the bit. A bit can contain one of two values, 0 and 1. All other storage
in a computer is based on collections of bits. Given enough bits, it is amazing how many things a computer
can represent: numbers, letters, images, movies, sounds, documents, and programs, to name a few. A byte
is 8 bits, and on most computers it is the smallest convenient chunk of storage. For example, most
computers don’t have an instruction to move a bit but do have one to move a byte. A less common term is
word, which is a given computer architecture’s native unit of data. A word is made up of one or more bytes.
For example, a computer that has 64-bit registers and 64-bit memory addressing typically has 64-bit (8-
byte) words. A computer executes many operations in its native word size rather than a byte at a time.
Computer storage, along with most computer throughput, is generally measured and manipulated in bytes
and collections of bytes.
A kilobyte, or KB, is 1,024 bytes
a megabyte, or MB, is 1,0242 bytes
a gigabyte, or GB, is 1,0243 bytes
a terabyte, or TB, is 1,0244 bytes
a petabyte, or PB, is 1,0245 bytes
Computer manufacturers often round off these numbers and say that a megabyte is 1 million bytes and a
gigabyte is 1 billion bytes. Networking measurements are an exception to this general rule; they are given in
bits (because networks move data a bit at a time).
Storage Structure
Main memory
Within the memory storage unit
Only large storage media that the CPU can access
directly.
Another name for main memory is RAM
RAM (Random Access Memory) means that the data stored in
memory can be accessed at random (in any order)
In other words, where the data is stored in memory does not influence
the time required to return the data
Storage Structure
To run a program, the program must have be
loaded into main memory
Ideally programs & data should be stored in main
memory permanently
Not practical because
1. Main memory too small & too expensive
2. Main memory is volatile (needs power, or data is lost)
Storage Structure
Secondary storage
Extension of main memory that provides large
nonvolatile storage capacity.
A typical example is magnetic 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.
Storage Hierarchy
Storage systems organized in hierarchy.
Speed
Faster access to data at top of hierarchy
Cost
More expensive storage at top of hierarchy
Volatility
Power is required to store data at top of hierarchy, with cutoff
at electronic disk
Storage-Device Hierarchy
Caching
Important principle, performed at many levels in a
computer (in hardware, operating system, software)
Information being used is copied from slower storage to faster
storage temporarily
This temporary storage place is called a “cache”
Pronounced like “cash”
For example, because data in memory is much slower to access than
data in the CPU, the CPU has a cache to store recently used instructions
and data
Caching
Faster storage (cache) checked first to determine if data is
there
If it is, data read directly from the cache
If not, read data from the slower storage & put a copy in the faster
cache
For example, web browsers have a cache of the most recently viewed web
pages
Caches have a limited size
Cache management important design problem
Various Levels of Storage
Details on levels of storage hierarchy
Data Migration
Migration of Integer A from Disk to Register
Data is stored in multiple places when it is being moved from
storage to the CPU & back
Must be careful to use most recent value, no matter where it is stored in the
storage hierarchy
Data Migration
Multiprocessor environment must provide cache coherency
in hardware such that all CPUs have the most recent data
value in their cache
Distributed environment situation even more complex
Several copies of the data can exist on different computers
Device
Controllers
Memory CPU
Bus Interrupt
Direct Driven
Operation I/O
I/O
Structure
Storage DMA
Structure Secondary
Storage
Organisation Main
Memory
Computer
System
Operating System
3 Computer-System Architecture
1. Single-Processor Systems
2. Multiprocessor Systems
3. Clustered Systems
Computer-System Architecture
1- Single general-purpose processor
On a single-processor system, there is one main CPU
capable of executing a general-purpose instruction
set, including instructions from user processes.
Single-processor systems are the most common.
Computer-System Architecture
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.
Boss-Slaves
2. Symmetric Multiprocessing – each processor performs all tasks(within OS)
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 inconsistent
operations
Clustered Systems
Device
Controllers
Memory CPU
Bus Interrupt
DirectDriven
Single * Operation I/O
I/O
Multi processor Structure
processor Architectur Storage DMA
Structure Secondary
e
Storage
Clusters Organisation Main
Distributed Memory
Computer
System
Operating System
Operating System Structure
Multiprogramming (Batch system) 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 job is a program in execution (a running program)
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 Structure(cont..)
Timesharing (multitasking) is logical extension in which 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
A program loaded into memory & running is called a process
In other words, a process is a program in execution
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
Memory Layout for Multiprogrammed System
Operating-System Operations