Chapter 1: Introduction: Silberschatz, Galvin and Gagne ©2013 Operating System Concepts - 9 Edit9on
Chapter 1: Introduction: Silberschatz, Galvin and Gagne ©2013 Operating System Concepts - 9 Edit9on
Chapter 1: Introduction: Silberschatz, Galvin and Gagne ©2013 Operating System Concepts - 9 Edit9on
Operating System Concepts – 9th Edit9on Silberschatz, Galvin and Gagne ©2013
1. What an OS Do?
Operating System Concepts – 9th Edition 1.2 Silberschatz, Galvin and Gagne ©2013
What is an Operating System?
Operating System Concepts – 9th Edition 1.3 Silberschatz, Galvin and Gagne ©2013
Computer System Structure
Computer system can be divided into four components:
Hardware – provides basic computing resources
CPU, memory, I/O devices
Operating system
Controls and coordinates use of hardware among various
applications and users
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
Users
People, machines, other computers
Operating System Concepts – 9th Edition 1.4 Silberschatz, Galvin and Gagne ©2013
Four Components of a Computer System
Operating System Concepts – 9th Edition 1.5 Silberschatz, Galvin and Gagne ©2013
What Operating Systems Do
User’s View:
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
Operating System Concepts – 9th Edition 1.6 Silberschatz, Galvin and Gagne ©2013
Operating System Definition
System’s View:
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
Operating System Concepts – 9th Edition 1.7 Silberschatz, Galvin and Gagne ©2013
Operating System Definition (Cont.)
Operating System Concepts – 9th Edition 1.8 Silberschatz, Galvin and Gagne ©2013
2. Computer System Organization
Operating System Concepts – 9th Edition 1.9 Silberschatz, Galvin and Gagne ©2013
2.1 Computer System Operation
Computer Startup:
bootstrap program is loaded at power-up or reboot
Typically stored in ROM or EPROM, generally known
as firmware
Initializes all aspects of system
Loads operating system kernel and starts execution
Operating System Concepts – 9th Edition 1.10 Silberschatz, Galvin and Gagne ©2013
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
Operating System Concepts – 9th Edition 1.11 Silberschatz, Galvin and Gagne ©2013
Computer-System Operation
Operating System Concepts – 9th Edition 1.12 Silberschatz, Galvin and Gagne ©2013
Common Functions of Interrupts
Operating System Concepts – 9th Edition 1.13 Silberschatz, Galvin and Gagne ©2013
Interrupt Handling
Operating System Concepts – 9th Edition 1.14 Silberschatz, Galvin and Gagne ©2013
Interrupt Timeline
Operating System Concepts – 9th Edition 1.15 Silberschatz, Galvin and Gagne ©2013
Interrupt Timeline
Operating System Concepts – 9th Edition 1.16 Silberschatz, Galvin and Gagne ©2013
2.2 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
Solid-state disks – faster than hard disks, nonvolatile
Various technologies
Becoming more popular
Operating System Concepts – 9th Edition 1.17 Silberschatz, Galvin and Gagne ©2013
Storage Hierarchy
Operating System Concepts – 9th Edition 1.18 Silberschatz, Galvin and Gagne ©2013
Storage-Device Hierarchy
Operating System Concepts – 9th Edition 1.19 Silberschatz, Galvin and Gagne ©2013
Caching
Operating System Concepts – 9th Edition 1.20 Silberschatz, Galvin and Gagne ©2013
2.3 I/O Structure
Synchronous vs asynchronous I/O
After I/O starts, control returns to user program only upon I/O
completion
Wait instruction idles the CPU until the next interrupt
Wait loop (contention for memory access)
At most one I/O request is outstanding at a time, no
simultaneous I/O processing
After I/O starts, control returns to user program without waiting
for I/O completion
Operating System Concepts – 9th Edition 1.21 Silberschatz, Galvin and Gagne ©2013
Direct Memory Access Structure
Operating System Concepts – 9th Edition 1.22 Silberschatz, Galvin and Gagne ©2013
How a Modern Computer Works
Operating System Concepts – 9th Edition 1.23 Silberschatz, Galvin and Gagne ©2013
3. Computer System Architecture
Operating System Concepts – 9th Edition 1.24 Silberschatz, Galvin and Gagne ©2013
Computer-System Architecture
Operating System Concepts – 9th Edition 1.25 Silberschatz, Galvin and Gagne ©2013
Symmetric Multiprocessing Architecture
Operating System Concepts – 9th Edition 1.26 Silberschatz, Galvin and Gagne ©2013
A Dual-Core Design
Multi-chip and multicore
Systems containing all chips
Chassis containing multiple separate systems
Operating System Concepts – 9th Edition 1.27 Silberschatz, Galvin and Gagne ©2013
Clustered Systems
Operating System Concepts – 9th Edition 1.28 Silberschatz, Galvin and Gagne ©2013
Clustered Systems
Operating System Concepts – 9th Edition 1.29 Silberschatz, Galvin and Gagne ©2013
4. Operating System Structure
Operating System Concepts – 9th Edition 1.30 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 – 9th Edition 1.31 Silberschatz, Galvin and Gagne ©2013
Memory Layout for Multiprogrammed System
Operating System Concepts – 9th Edition 1.32 Silberschatz, Galvin and Gagne ©2013
5. Operating System Operations
Operating System Concepts – 9th Edition 1.33 Silberschatz, Galvin and Gagne ©2013
Operating-System Operations
Interrupt driven (hardware and software)
Hardware interrupt by one of the devices
Software interrupt (exception or trap):
Software error (e.g., division by zero)
Request for operating system service
Other process problems include infinite loop, processes
modifying each other or the operating system
Operating System Concepts – 9th Edition 1.34 Silberschatz, Galvin and Gagne ©2013
5.1 Dual mode operation
We need to make sure that an error in a user program could hurt only that
program
in multiprogramming environment one program can cause problems for
other programs or even for OS
Without protection; Only one process at a time or suspected output always
10/30/21
Operating System Concepts – 9th Edition 1.35 Silberschatz, Galvin and Gagne ©2013
5.1 Dual mode operation…
Dual-mode operation allows OS to protect itself and other system
components
privileged instructions
It contains user mode (mode bit:1) and Kernel mode (mode bit:0)
10/30/21
Operating System Concepts – 9th Edition 1.36 Silberschatz, Galvin and Gagne ©2013
5.1 Dual mode operation…
10/30/21
Operating System Concepts – 9th Edition 1.37 Silberschatz, Galvin and Gagne ©2013
5.1 Dual mode operation…
#include<stdio.h>
Int main()
{
…
printf(“hellow world”);
…
}
User mode
Standard C library
Kernel mode
Write()
system
call
10/30/21
Operating System Concepts – 9th Edition 1.38 Silberschatz, Galvin and Gagne ©2013
5.2 Timer
Need to ensure that OS maintain control over the CPU
To prevent the OS out of control by CPU
Set interrupt after specific period (fixed or variable)
Operating system decrements counter
When counter zero generate an interrupt
Set up before scheduling process to regain control or terminate program
that exceeds allotted time
10/30/21
Operating System Concepts – 9th Edition 1.39 Silberschatz, Galvin and Gagne ©2013
Resource Management
Operating System Concepts – 9th Edition 1.40 Silberschatz, Galvin and Gagne ©2013
6. Process Management
Operating System Concepts – 9th Edition 1.41 Silberschatz, Galvin and Gagne ©2013
Process Management
A process is a program in execution. It is a unit of work within the
system. Program is a passive entity, process is an active entity.
Process needs resources to accomplish its task
CPU, memory, I/O, files
Initialization data
Process termination requires reclaim of any reusable resources
Single-threaded process has one program counter specifying
location of next instruction to execute
Process executes instructions sequentially, one at a time,
until completion
Multi-threaded process has one program counter per thread
Typically system has many processes, some user, some
operating system running concurrently on one or more CPUs
Concurrency by multiplexing the CPUs among the
processes / threads
Operating System Concepts – 9th Edition 1.42 Silberschatz, Galvin and Gagne ©2013
Process Management Activities
Operating System Concepts – 9th Edition 1.43 Silberschatz, Galvin and Gagne ©2013
7. Memory Management
Operating System Concepts – 9th Edition 1.44 Silberschatz, Galvin and Gagne ©2013
Memory Management
Operating System Concepts – 9th Edition 1.45 Silberschatz, Galvin and Gagne ©2013
8. Storage Management
Operating System Concepts – 9th Edition 1.46 Silberschatz, Galvin and Gagne ©2013
Storage Management
OS activities include
Creating and deleting files and directories
Primitives to manipulate files and directories
Mapping files onto secondary storage
Backup files onto stable (non-volatile) storage media
Operating System Concepts – 9th Edition 1.47 Silberschatz, Galvin and Gagne ©2013
Mass-Storage Management
Usually disks used to store data that does not fit in main memory or
data that must be kept for a “long” period of time
Proper management is of central importance
OS activities
Free-space management
Storage allocation
Disk scheduling
Operating System Concepts – 9th Edition 1.48 Silberschatz, Galvin and Gagne ©2013