CSE325 Principles of Operating Systems
Computer System Overview
David Duggan
[email protected]January 20, 2011
What is a Computer System?
1/19/2011
CSE325 - Computer System
Computer System Functional Areas
1/19/2011
CSE325 - Computer System
Major Computer Components
1/19/2011
CSE325 - Computer System
Processor
Internal registers
Memory address register (MAR)
Specifies the address for the next read or write Contains data written into memory or receives data read from memory
Memory buffer register (MBR)
I/O address register I/O buffer register
1/19/2011
CSE325 - Computer System
User-Visible Registers
May be read by user processes Available to all programs - application programs and system programs Types of registers
Data Address
Index Segment pointer Stack pointer
1/19/2011
CSE325 - Computer System
Control and Status Registers
Program Counter (PC)
Contains the address of an instruction to be fetched Contains the instruction most recently fetched Condition codes Interrupt enable/disable Supervisor/user mode
Instruction Register (IR)
Program Status Word (PSW)
1/19/2011
CSE325 - Computer System
Simple Instruction Cycle
1/19/2011
CSE325 - Computer System
Interrupts
Suspends the normal sequence of execution Used to improve processor utilization
1/19/2011
CSE325 - Computer System
Interrupt Cycle
1/19/2011
CSE325 - Computer System
10
Interrupt Timeline
1/19/2011
CSE325 - Computer System
11
Simple Interrupt Processing
1/19/2011
CSE325 - Computer System
12
Multiple Interrupts
Disable interrupts while an interrupt is being processed
1/19/2011
CSE325 - Computer System
13
Multiple Interrupts (Cont.)
Define priorities for interrupts
1/19/2011
CSE325 - Computer System
14
Data Transfer on the Bus
CPU cache Memory memory bus I/O bus
disk
Net interface
cache-memory: cache misses, write-through/write-back memory-disk: swapping, paging, file accesses memory-network Interface : packet send/receive I/O devices to the processor: interrupts
15
Two I/O Methods
Synchronous Asynchronous
1/19/2011
CSE325 - Computer System
16
I/O Operation: Synchronous vs. Asynchronous
After I/O starts, control returns to user program only upon I/O completion
Wait instruction idles the CPU until operation completes 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
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
System call request to the operating system to allow user
17
Programmed I/O
I/O module performs the action, not the processor Sets appropriate bits in the I/O status register No interrupts occur Processor checks status until operation is complete
1/19/2011
CSE325 - Computer System
18
Interrupt-Driven I/O
Processor is interrupted when I/O module ready to exchange data Processor is free to do other work No needless waiting Consumes a lot of processor time because every byte read or written passes through the processor
1/19/2011
CSE325 - Computer System
19
Direct Memory Access (DMA)
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. Programming a DMA transfer
address of the I/O buffer starting location in memory number of bytes direction of transfer (read/write from/to memory)
Bus arbitration between cache-memory and DMA transfers Memory cache must be consistent with DMA
20
Storage-Device Hierarchy
Decreasing cost per bit Increasing capacity Increasing access time Decreasing frequency of access of the memory by the processor
Locality of reference
Increase size of the transfer unit
1/19/2011 CSE325 - Computer System 21
Storage Hierarchy
Storage systems organized in hierarchy.
Speed Cost Volatility
Caching copying information into faster storage system; main memory can be viewed as a last cache for secondary storage.
1/19/2011
CSE325 - Computer System
22
Performance of Various Levels of Storage
Movement between levels of storage hierarchy can be explicit or implicit
1/19/2011
CSE325 - Computer System
23
Cache-Memory Transfers
1/19/2011
CSE325 - Computer System
24
Cache Memory
The mismatch between processor and memory speed closer to the processor than the main memory; smaller and faster than the main memory contains the value of main memory locations that were recently accessed (temporal locality) transfer between caches and main memory is performed in units called cache blocks/lines contains also the value of memory locations that are close to locations which were recently accessed (spatial locality) Cache performance: miss ratio, miss penalty, average access time invisible to the OS, operated by the hardware/firmware
CSE325 - Computer System 25
Cache/Main Memory System
1/19/2011
CSE325 - Computer System
26
Cache Read Operation
1/19/2011
CSE325 - Computer System
27
Cache Design
Mapping function
Determines which cache location the block will occupy Direct-mapped vs. fully-associative vs. setassociative Conflict misses Determines which block to replace Least-Recently-Used (LRU) algorithm
CSE325 - Computer System 28
Replacement algorithm
1/19/2011
Cache Design (Cont.)
Write policy
When the memory write operation takes place Can occur every time block is updated: write through Can occur only when block is replaced: write back
Minimizes memory write operations Leaves main memory in an obsolete state
1/19/2011
CSE325 - Computer System
29
Disk Cache/Buffer Cache
A portion of main memory used as a buffer to temporarily to hold data for the disk Disk writes are clustered Some data written out may be referenced again. The data are retrieved rapidly from the software cache instead of slowly from disk
1/19/2011
CSE325 - Computer System
30
Multiprocessors
CPU cache CPU cache Memory memory bus I/O bus
disk
Net interface
more than one processor on the same bus memory is shared among processors-- cache coherency goal: performance speedup single-image operating systems Multi-core processors (chip-level multiprocessors/CMP)
31
Clusters of Computers
CPU cache Memory memory bus I/O bus CPU cache Memory memory bus I/O bus
network
disk
Net interface
Net interface
disk
network of computers: share-nothing communication through message-passing fast interconnects: memory-to-memory communication goals: performance and availability each system runs its own operating system
32