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
Disk scheduling algorithms
FCFS
Elevator
Cyclic elevator
Shortest seek next
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
File systems (Chapter 11 a little bit)
Mounting is when you put a file system on top of a
directory
Consistency Semantics (11.5.3)
Session
(open/close) consistency
Unix (single image)
consistency
Immutable consistency
Ad hoc consistency
(not in the book)
Other Stuff
VFAT
VFAT organization
File names and long file names
Device Drivers
Interrupts
Maskable
Types
Caused by I/O
Caused by processor exception
Caused by software
Polling
DMA
Who can
Who should
Interaction with paging subsystem
Microkernels (very minimal)
Advantages
Flexible
Subsystem crashes don't kill everything
Disadvantages
Performance????