open book, open note, no devices
1. buzz words : spacial, temporal locality;
memory hierarchy : cpu (has registers in it) --> L1 cache-->L2 cache --> DRAM
all ^ have own physically addressed space
off to side, some harddrive
gets slower but bigger as we go down
spacial - will move whole 512 block data - move in blocks
temporal - leave in memory thinking we will access again soon.
2. buzz words: multiple queues
there's always something being done
concurrency
if more than one request for one resource, kernel can optimize
pg 103 dinosaur book
w/premptive, timer goes off
decide which schedulers are preemptive
shorted job first
red-robin
mlevel feedback queue
user level threads work...how
can manage them anyway you want
for portability
won't have to stay in waiting to a
anytime you have interrupts, you have conccurrenciy -> have race conditions ....??
consider 1. Load, 2.Inc, 3.store.
Producer onsumer
interrupt handler
puts in buffer, returns,
buffer interrupted/changed mid -read
how might you get extra bytes?
if interrupt is interrupted by another one, waiting
// race conditions can have many levels of ...
mutex, semaphore, critical section
3. how do we know it's not a deadlock that's crashing? (look at deadlock chapter... need all for conditions for deadlock) priority inversion, priority inheritance
4.
5. 4 kb --> not to big/small,
buzz word: fragmentation, spacial locality,
if we can bring in whole 4kb page, fewer page faults
external fragmentation-
segmentation = > have physical memory, using chunks all over. Need more memory, but don't have large enough contiguous (continuous) memory. this is why we do paging.
virtual addressing
10 10 12
^ sorta naturally becomes address for 4kb page : 2^12 = 4098
(nice num to work with)
//"northbridge"... connects DRAM