Transcript part-1

CS503: Operating Systems
Spring 2014
Dongyan Xu
Department of Computer Science
Purdue University
1
Acknowledgement
• The following people for sharing their
slides:
– Prof. Peter Chen (U. Michigan)
– Prof. Sam King (UIUC)
– Prof. Klara Nahrstedt (UIUC)
– Prof. Gustavo Rodriguez-Rivera (Purdue)
2
A Typical Computer
from a Hardware Point of View
CPU
Memory
...
CPU
Chipset
I/O bus
Network
3
CPU
Memory
North Bridge
chip
AGP
port
Video
card
PCI bus
South Bridge
chip
PCI slots
Modem
Sound card
IDE controller
Hard disks
Serial, parallel
and USB ports
CD-ROM
4
Typical Computer System
CPU
..
.
Memory
Programs and data
Operating System Software
CPU
OS
Apps
Data
Network
5
Processors
• Each CPU has a specific set of instructions
• All CPUs contain
– General registers inside to hold key variables and
temporary results
– Special registers visible to the programmer
• Program counter contains the memory address of the
next instruction to be fetched
• Stack pointer points to the top of the current stack in
memory
• Control registers (e.g., CR0-CR4 in x86)
• PSW (Program Status Word) contains the condition
code bits which are set by comparison instructions, the
CPU priority, the mode (user or kernel) and various
other control bits.
6
How Processors Work
• Execute instructions
– CPU cycles
• Fetch (from mem)  decode  execute
• Program counter (PC)
– When is PC changed?
• Pipeline: fetch n+2 while decode n+1 while
execute n
– Two modes of CPU (why?)
• User mode (a subset of instructions)
• Privileged mode (all instruction)
– Trap (special instruction)
7
Memory Access
• Memory read:
– Assert address on address lines
– Wait till data appear on data line
– Much slower than CPU!
• How many mem access for one instruction?
– Fetch instruction
– Fetch operand (0, 1 or 2)
– Write results (0 or 1)
• How to speed up instruction execution?
8
CPU Cache
• Cache hit:
– no need to access memory
• Cache miss:
– data obtained from mem, possibly update
cache
9
Memory-Storage Hierarchy
<
- 4MB
-1GB
-TB
-TB
10
Memory
• Registers internal to CPU (as fast as CPU)
– Storage 32x32 bits on a 32-bit CPU, 64x64 on 64 bit CPU (less
than 1KB in both cases)
• Cache memory controlled by hardware
– Cache hit and miss
• RAM (Random Access Memory)
• Disk (magnetic disk), CD-ROM, DVD,…
– Cylinder, track, …
• Non-volatile Memory
– ROM (Read Only Memory)
• Programmed at the factory and can’t be changed
– EEPROM (Electrically Erasable ROM)
– Flash RAM
• Can be erased and re-written
• Volatile Memory
– CMOS holds current time and date
11
Memory Management
•
•
•
•
•
How to protect programs from each other?
How to handle relocation ?
Base register
Limit register
Check and Mapping of Addresses
– Virtual Address - Physical Address
– Memory Management Unit (MMU – located on CPU
chip or close to it
• Performance effects on memory system
– Cache
– Context switch
12
I/O Devices
• Controller
– Example: Disk Controller
– Controllers are complex converting OS request into
device parameters
– Controllers often contain small embedded computers
• Device
– Fairly simple interfaces and standardized
– IDE (Integrated Drive Electronics) – standard disk
type on Pentiums and other computers
13
I/O Devices
• Device Driver
– Needed since each type of controller may
be different.
– Software that talks to a controller, giving it
comments and accepting responses
– Each controller manufacturer supplies a
driver for each OS it supports (e.g., drivers
for Windows XP, Longhorn, UNIX)
14
Methods for I/O
• How device driver talks to controller
– Busy wait
– Interrupt
– DMA
15
Bus
• Pentium systems have eight buses
– Cache, local, memory, PCI, SCSI, USB, IDE, ISA
• PCI (Peripheral Component Interconnect) bus is
successor to IBM PC ISA bus
– Intel bus, 528MB/sec
• ISA (Industry Standard Architecture) bus
– 16.67 MB/sec
– Specialized buses:
• SCSI (Small Computer System Interface)
– 160MB/sec – for disks, scanners (popular on Macintosh,
UNIX)
• USB (Universal Serial Bus)
– 1.5 MB/sec
• IEEE 1394 – FireWire (Apple) bus
– 50MB/sec, connectivity for cameras to computer
• IDE (Integrated Drive Electronics) bus
– Disk, CD-ROM
16
Structure of an Intel Pentium
System
17