Defns Flashcards
library os
library of standard services
multitasking os
can have multiple processes existing at once
preemption
interrupt a running task
memory protection
protect processes from one another
multi user os
provides protection to serve distrustful users/buggy apps
interposition/mediation
os tracks all the resources an app can use and checks legality on each access
process
an instance of a running program
io bound
time of task determined by waiting for io
cpu bound
time of task determined by speed of processor
concurrency
multiple programs running/appearing to run simultaneously
parallelism
run two threads at the same time in multiple cores
preemptive multitasking
rapidly switch between two threads on the same core
process control block
struct os uses to track state of a process
context switch
a transition between contexts
thread
schedulable execution context
limitations of kernel threads
slower thread operations
one-size fits all thread impl
heavy weight memory reqs
limitations of user threads
cannot take advantage of multiple cores
blocking syscall blocks all threads
possible deadlock if one thread blocks all threads
limitations of n:m threads
blocked threads, deadlock
hard to maximize parallelism
kernel doesn’t know relative importance of each thread
caller-save
not preserved across subroutine calls
saved in switchframe
callee-save
preserved across subroutine calls
saved in trapframe
race condition
program result depends on order of execution
cache coherence
all threads see the same value for a shared resource
cache consistency
all threads receive updates in order