Defns Flashcards

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
Q

write atomaticity

A

if any core reads the result of a write, all subsequent reads see the same result

26
Q

write-back caching

A

mark cache portion as dirty, write back when flushing

27
Q

write-through caching

A

write back immediately

28
Q

write-combining

A

store writes in a buffer and occur in a burst

29
Q

weak consistency

A

no guarantee that reads/writes have seqcon

30
Q

critical section

A

code that accesses a shared variable and must not be executed concurrently by >1 thread

31
Q

mutual exclusion

A

only one thread can be in a critsec at a time

32
Q

progress/liveness

A

if no thread is in a critsec and one wants to get in, it will eventually

33
Q

bounded waiting/fairness

A

once a thread starts waiting to enter a critsec, there is a limit to how long it waits

34
Q

lockset algorithm

A

for each shared resource keep a lockset; if the lockset is ever empty there is no mutex protecting it (catch potential races)

35
Q

amdahl’s law

A

T(n)= T(1)(B + 1/n(1 - B))

36
Q

scalable commutativity rule

A

whenever interface operations commute, they can be implemented in a way that scales

37
Q

coarse grained locking

A

one lock for a whole data structure, if it isn’t used that often

38
Q

fine grained locking

A

one lock for each element, maximizes concurrency for a structure used often

39
Q

contention

A

threads often waiting for a particular resource; often good to use fine grained locking

40
Q

spinlock

A

a lock that spins (repeatedly tests the lock’s availability in a loop until it is obtained)

41
Q

cache line states

A

modified, shared, invalid

42
Q

modified state

A

one cache has a valid (dirty copy), all other copies in other caches are stale (they must be invalidated before entering this state)

43
Q

shared state

A

one or more caches have a valid copy

44
Q

invalid state

A

doesn’t contain the data

45
Q

non-uniform memory access (NUMA)

A

processors can access their local memory faster than the memory of other processors

46
Q

deadlock

A

multiple threads waiting on each other, preventing progress

47
Q

deadlock conditions

A
  1. limited access
  2. no preemption of resources
  3. hold and wait
  4. circularity in graph of requests
48
Q

interrupt

A

signals generated by devices that need attention

49
Q

exception

A

conditions discovered by the processor while executing an instruction

50
Q

interrupt handler

A

a function in the kernel that services a device request

51
Q

non-maskable interrupt (NMI)

A

interrupts that cannot be disabled, for urgent requests (e.g. overheating)

52
Q

interrupt descriptor table (IDT)

A

defines the entry point for a particular interrupt vector

53
Q

x86 hardware interrupt handling process

A

RESTITS

54
Q

application binary interface (ABI)

A

defines the contract between an app’s functions and system calls (OSes and compilers must obey these rules - calling conventions)

55
Q

stack frame

A

contains all the saved registers and local variables that must be saved within a single function call

56
Q

execution context

A

the environment where functions execute, including their arguments, local vars, memory

57
Q

application context

A

application threads

58
Q

kernel context

A

kernel threads, software interrupts

59
Q

interrupt context

A

interrupt handler