Bridge the gap between hardware and
Establish a foundation for building higherlevel programs
How to optimize programs
How to debug large systems
How to deal with
The Design and Implementation of a Log-Structured File System
Mendel Rosenblum and John K. Ousterhout Electrical Engineering and Computer Sciences, Computer Science Division University of California Berkeley, CA 94720 email@example.com, ouster@sp
Applications can store it in the process address
Why is it a bad idea?
Size is limited to size of virtual address space
May not be sufficient for airline reservations, banking, etc.
The data is lost when the app
Disks and RAID
50 Years Old!
13th September 1956
The IBM RAMAC 350
80000 times more data on the 8GB 1-inch
drive in his right hand than on the 24-inch
RAMAC one in his left
What does the disk look like?
2-30 heads (platters * 2)
Local Area Networking
1976, Metcalfe & Boggs at Xerox
Later at 3COM
Based on the Aloha network in Hawaii
Named after the luminiferous ether
Centered around a broadcast bus
Can use dif
Goals for Today
How does it work?
What to replace?
How much to fetch?
What is virtual memory?
Each process has illusion of large address space
232 for 32-bit addressing
However, physical memory is
Goals for Today
Protection: Address Spaces
What is an Address Space?
How is it Implemented?
Address Translation Schemes
Inverted page tables
Detection and Avoidance
There are non-shared computer resources
Maybe more than one instance
Printers, Semaphores, Tape drives, CPU
Processes need access to these resources
Threads share global memory
When a process contains multiple threads,
Private registers and stack memory (the
context switching mechanism saves and
restores registers when switching from thr
(dr. Willem de Bruijn)
You are the cook at the state st. diner
customers continually enter and
place their orders
Dishes take varying amounts
of time to prepare
What is your goal?
What is a program?
A program is a file containing executable code (machine
instructions) and data (information manipulated by these
instructions) that together describe a computation
Basic Computer Organization
Lets build a keyboard
Lots of mechanical
Need to convert to a
compact form (binary)
Well use a special
Security in the real world
Security decisions based on:
Value, Locks, Police
Not all locks are the same
People pay for security they need
Police are critical to the picture
Security is only as good as the weakest link