Defns Flashcards

(59 cards)

1
Q

library os

A

library of standard services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

multitasking os

A

can have multiple processes existing at once

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

preemption

A

interrupt a running task

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

memory protection

A

protect processes from one another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

multi user os

A

provides protection to serve distrustful users/buggy apps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

interposition/mediation

A

os tracks all the resources an app can use and checks legality on each access

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

process

A

an instance of a running program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

io bound

A

time of task determined by waiting for io

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

cpu bound

A

time of task determined by speed of processor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

concurrency

A

multiple programs running/appearing to run simultaneously

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

parallelism

A

run two threads at the same time in multiple cores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

preemptive multitasking

A

rapidly switch between two threads on the same core

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

process control block

A

struct os uses to track state of a process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

context switch

A

a transition between contexts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

thread

A

schedulable execution context

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

limitations of kernel threads

A

slower thread operations
one-size fits all thread impl
heavy weight memory reqs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

limitations of user threads

A

cannot take advantage of multiple cores
blocking syscall blocks all threads
possible deadlock if one thread blocks all threads

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

limitations of n:m threads

A

blocked threads, deadlock
hard to maximize parallelism
kernel doesn’t know relative importance of each thread

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

caller-save

A

not preserved across subroutine calls
saved in switchframe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

callee-save

A

preserved across subroutine calls
saved in trapframe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

race condition

A

program result depends on order of execution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

cache coherence

A

all threads see the same value for a shared resource

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

cache consistency

A

all threads receive updates in order

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

seqcon

A

result of execution is as if the operations of each processor occurred in the order specified by the program

25
write atomaticity
if any core reads the result of a write, all subsequent reads see the same result
26
write-back caching
mark cache portion as dirty, write back when flushing
27
write-through caching
write back immediately
28
write-combining
store writes in a buffer and occur in a burst
29
weak consistency
no guarantee that reads/writes have seqcon
30
critical section
code that accesses a shared variable and must not be executed concurrently by >1 thread
31
mutual exclusion
only one thread can be in a critsec at a time
32
progress/liveness
if no thread is in a critsec and one wants to get in, it will eventually
33
bounded waiting/fairness
once a thread starts waiting to enter a critsec, there is a limit to how long it waits
34
lockset algorithm
for each shared resource keep a lockset; if the lockset is ever empty there is no mutex protecting it (catch potential races)
35
amdahl's law
T(n)= T(1)(B + 1/n(1 - B))
36
scalable commutativity rule
whenever interface operations commute, they can be implemented in a way that scales
37
coarse grained locking
one lock for a whole data structure, if it isn't used that often
38
fine grained locking
one lock for each element, maximizes concurrency for a structure used often
39
contention
threads often waiting for a particular resource; often good to use fine grained locking
40
spinlock
a lock that spins (repeatedly tests the lock's availability in a loop until it is obtained)
41
cache line states
modified, shared, invalid
42
modified state
one cache has a valid (dirty copy), all other copies in other caches are stale (they must be invalidated before entering this state)
43
shared state
one or more caches have a valid copy
44
invalid state
doesn't contain the data
45
non-uniform memory access (NUMA)
processors can access their local memory faster than the memory of other processors
46
deadlock
multiple threads waiting on each other, preventing progress
47
deadlock conditions
1. limited access 2. no preemption of resources 3. hold and wait 4. circularity in graph of requests
48
interrupt
signals generated by devices that need attention
49
exception
conditions discovered by the processor while executing an instruction
50
interrupt handler
a function in the kernel that services a device request
51
non-maskable interrupt (NMI)
interrupts that cannot be disabled, for urgent requests (e.g. overheating)
52
interrupt descriptor table (IDT)
defines the entry point for a particular interrupt vector
53
x86 hardware interrupt handling process
RESTITS
54
application binary interface (ABI)
defines the contract between an app's functions and system calls (OSes and compilers must obey these rules - calling conventions)
55
stack frame
contains all the saved registers and local variables that must be saved within a single function call
56
execution context
the environment where functions execute, including their arguments, local vars, memory
57
application context
application threads
58
kernel context
kernel threads, software interrupts
59
interrupt context
interrupt handler