CSE 451
Operating Systems
L1 - OS Overview
Slides by: Tom Anderson
Baris Kasikci
Course Staff
Instructors: Baris Kasikci and Rohan Kadekodi
TAs:
Jonathan Trinh (Head TA)
Yusong Yan
Druhin Bhowal
Zack Crouse
Soham Raut
Abhay Nori
Tim Avilov
How This Course Fits in the UW CSE Curriculum
Course Project: xk
Grading
Academic Honesty
Do not:
Design Docs:
Main Points (for today)
What is an operating system?
OS
Operating System Roles
reliable network transport
Example: File Systems
Many Other Systems Apply OS Principles
Why is OS Programming Hard?
Computer Performance Over Time
| 1983 | 2026 | Factor |
CPU Speed (MIPS/s) | 1 | 5K-10K | 5K-10K |
CPUs per server | 1 | 128-256 | 128-256 |
Processor speed $/MIPS | $100K | $0.005 | 20M |
DRAM capacity (MB/$) | 0.002 | 20K-40K | 10-20M |
Disk capacity (GB/$) Machine room network | 0.003 10Mbps | 200K-500K 800Gbps | 70-150M |
| (shared) | (switched) | 8M |
Ratio users per CPU | 100:1 | 1:20+ | 1K+ |
OS History
Relative cost of computing vs. people using them
What is a computer?
Physical Address Layout
kernel data (or data in other apps)
|
|
|
|
|
|
load r1, <address>
bootloader
OS
Device I/O
Synchronous vs. Asynchronous I/O
other task
Faster I/O: DMA and Buffer Descriptors
stored directly in DRAM)
Buffer Descriptors Illustrated
Device Interrupts
Interrupt Vector
Interrupt Vector on x86
Interrupt Masking
Challenge: Saving/Restoring State
state - condition codes, registers, …