ch1 (1)

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 33

Chapter 1: Introduction

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011
Chapter 1: Introduction
 What Operating Systems Do
 Computer-System Organization
 Computer-System Architecture
 Operating-System Structure
 Operating-System Operations
 Process Management
 Memory Management
 Storage Management
 Protection and Security
 Distributed Systems
 Special-Purpose Systems
 Computing Environments
 Open-Source Operating Systems

Operating System Concepts Essentials – 8th Edition 1.2 Silberschatz, Galvin and Gagne ©2011
Objectives
 To provide a grand tour of the major operating systems components

 To provide coverage of basic computer system organization

Operating System Concepts Essentials – 8th Edition 1.3 Silberschatz, Galvin and Gagne ©2011
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:


 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 Concepts Essentials – 8th Edition 1.4 Silberschatz, Galvin and Gagne ©2011
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 Essentials – 8th Edition 1.5 Silberschatz, Galvin and Gagne ©2011
Four Components of a Computer System

Operating System Concepts Essentials – 8th Edition 1.6 Silberschatz, Galvin and Gagne ©2011
What Operating Systems Do
 Depends on the point of view
 Users want convenience, ease of use
 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 Essentials – 8th Edition 1.7 Silberschatz, Galvin and Gagne ©2011
Operating System Definition

 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 Essentials – 8th Edition 1.8 Silberschatz, Galvin and Gagne ©2011
Operating System Definition (Cont.)

 No universally accepted definition

 “Everything a vendor ships when you order an operating system” is


good approximation
 But varies wildly

 “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 Essentials – 8th Edition 1.9 Silberschatz, Galvin and Gagne ©2011
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 Essentials – 8th Edition 1.10 Silberschatz, Galvin and Gagne ©2011
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 Essentials – 8th Edition 1.11 Silberschatz, Galvin and Gagne ©2011
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 Essentials – 8th Edition 1.12 Silberschatz, Galvin and Gagne ©2011
Common Functions of Interrupts
 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

 Incoming interrupts are disabled while another interrupt is being


processed to prevent a lost interrupt

 A trap is a software-generated interrupt caused either by an error or a


user request

 An operating system is interrupt driven

Operating System Concepts Essentials – 8th Edition 1.13 Silberschatz, Galvin and Gagne ©2011
Interrupt Handling
 The operating system preserves the state of the CPU by storing
registers and the program counter

 Determines which type of interrupt has occurred:


 polling
 vectored interrupt system

 Separate segments of code determine what action should be taken for


each type of interrupt

Operating System Concepts Essentials – 8th Edition 1.14 Silberschatz, Galvin and Gagne ©2011
Interrupt Timeline

Operating System Concepts Essentials – 8th Edition 1.15 Silberschatz, Galvin and Gagne ©2011
I/O Structure
 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
 System call – request to the operating system to allow user to wait
for I/O completion
 Device-status table contains entry for each I/O device indicating its
type, address, and state
 Operating system indexes into I/O device table to determine device
status and to modify table entry to include interrupt

Operating System Concepts Essentials – 8th Edition 1.16 Silberschatz, Galvin and Gagne ©2011
How a Modern Computer Works

A von Neumann architecture

Operating System Concepts Essentials – 8th Edition 1.17 Silberschatz, Galvin and Gagne ©2011
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

Operating System Concepts Essentials – 8th Edition 1.18 Silberschatz, Galvin and Gagne ©2011
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

 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

Operating System Concepts Essentials – 8th Edition 1.19 Silberschatz, Galvin and Gagne ©2011
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 Essentials – 8th Edition 1.20 Silberschatz, Galvin and Gagne ©2011
Storage-Device Hierarchy

Operating System Concepts Essentials – 8th Edition 1.21 Silberschatz, Galvin and Gagne ©2011
Caching
 Important principle, performed at many levels in a computer (in
hardware, operating system, software)

 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

 Cache smaller than storage being cached


 Cache management important design problem
 Cache size and replacement policy

Operating System Concepts Essentials – 8th Edition 1.22 Silberschatz, Galvin and Gagne ©2011
Performance of Various Levels of Storage

 Movement between levels of storage hierarchy can be explicit or


implicit

Operating System Concepts Essentials – 8th Edition 1.23 Silberschatz, Galvin and Gagne ©2011
Computer-System Architecture
 Most systems use a single general-purpose processor (PDAs through
mainframes)
 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
2. Symmetric Multiprocessing

Operating System Concepts Essentials – 8th Edition 1.24 Silberschatz, Galvin and Gagne ©2011
Symmetric Multiprocessing Architecture

Operating System Concepts Essentials – 8th Edition 1.25 Silberschatz, Galvin and Gagne ©2011
A Dual-Core Design

Operating System Concepts Essentials – 8th Edition 1.26 Silberschatz, Galvin and Gagne ©2011
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

Operating System Concepts Essentials – 8th Edition 1.27 Silberschatz, Galvin and Gagne ©2011
Clustered Systems

Operating System Concepts Essentials – 8th Edition 1.28 Silberschatz, Galvin and Gagne ©2011
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

 Timesharing (multitasking) is logical extension of multiprogramming 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 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 Essentials – 8th Edition 1.29 Silberschatz, Galvin and Gagne ©2011
Memory Layout for Multiprogrammed System

Operating System Concepts Essentials – 8th Edition 1.30 Silberschatz, Galvin and Gagne ©2011
Operating-System Operations
 Interrupt driven by hardware
 Software error or request creates exception or trap
 Division by zero, request for operating system service
 Other process problems include infinite loop, processes modifying each
other or the operating system
 Dual-mode operation allows OS to protect itself and other system
components
 User mode and kernel mode
 Mode bit provided by hardware
 Provides ability to distinguish when system is running user code
or kernel code
 Some instructions designated as privileged, only executable in
kernel mode
 System call changes mode to kernel, return from call resets it to
user

Operating System Concepts Essentials – 8th Edition 1.31 Silberschatz, Galvin and Gagne ©2011
Transition from User to Kernel Mode
 Timer to prevent infinite loop / process hogging resources
 Set interrupt after specific period
 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

Operating System Concepts Essentials – 8th Edition 1.32 Silberschatz, Galvin and Gagne ©2011
End of Chapter 1

Operating System Concepts Essentials– 8th Edition Silberschatz, Galvin and Gagne ©2011

You might also like