All chapter #s are for the 9th edition.
Chapter 1
What is an O.S?
The kernel
A traffic cop
A resource
allocator
The kernel + utilities and stuff
Chapter 2
System Calls
It’s a request to the OS to do something
It’s
Load registers
TRAP
Answer in a return register
I/O Overlap
Why
How to achieve
Chapter 3
What is a process
Different from thread
Different from executable
Process queues
Running
Ready
New
Exit
Wait
Ways to make a new process
Fork
Spawn/system
Chapter 4
Threads -- definition of
Threads share code, heap(global variables and new/delete stuff) but not stack(local variables)
How to program threads using the pthread library
pthread_creat()
pthread_join
locking
Even readers need to lock if there is anyone writing.
Chapter 5 (Skip)
Chapter 6
CPU Burst -- definition
Preemptive scheduling
Aging
Criteria
CPU Utilization
Throughput
Wait time
Starvation
Fairness
Algortihms
FCFS
Shortest Job Next
Round Robin
Priority
Multi-level feedback queues (yes, really)
Real Time
Priority Inversion -- the definition and the solution
Which process goes next
Most important????
Soonest deadline???
Soft vs Hard real time
Chapter 7
Deadlock
Definition
Avoid by ordering resources
Avoid by using two phases
Avoid by drawing the wait-for graph
Avoid by timeouts
Chapter 8 and 9
Definition of swapping
Segments
Hardware needed
External fragmentation
Choosing a spot
First fit
Best fit
Worst fit
Paging
Hardware needed
What do do on an MMU interrupt (see chart 9.2.2, page 405)
Page Tables
Protection
Computing the size
Multi-level page tables
Page table base registers
Translation lookaside buffer
Internal fragmentation
Sharing pages
Code
Heap (if you’re two threads of the same process)
copy-on-write
Replacement algorithms
Optimal (Belady's Min)
LRU
FIFO
Additional bits
Chapter 10
RAID (especially levels 0, 1, 5)
What to do for error
What to do when a new disk is inserted
Speed
Small reads
small writes
large reads
large writes
Capacity
Sledge hammer factor