week2 Flashcards
1
Q
concurrency
A
- ability to specify parts of program that can run simultaneously
- no assumption can be made about relative order of execution of concurrent portions of a program
- does not necessarily mean parallel
- even on multicore, no guarantee concurrent portion will be on different cores
2
Q
ada concurrency
A
task specifications
task body
3
Q
abstraction (func and types)
A
functions - procedural abstractions, hidden, i.e. printf for displaying output
types - data abstractions (bits)
4
Q
type
A
set of values w set of operations over those values
5
Q
adt
A
- type
- has complicated representation that is not visible to users of the type
- has user defined operations over values of the type
6
Q
higher order functions
A
functions that operate over functions
- pass func as parameter, insert into data struct and return func as parmeters
7
Q
static scoping
A
look where function is DEFINED
8
Q
dynamic chain
A
- represents the way back to the stack frame
9
Q
stacks in concurrency
A
cactus stack
each thread has its own stack
10
Q
stack pointer
A
- points to top of stack
- adjusted everytime something pushed on
11
Q
frame pointer
A
- points into same plc w/in current activation record
- locals and parameters are offset from FP in current AR
- when stack is decremented to go to next stack item, must have pter (DL) to show where to go in next frame
12
Q
block structure
A
- function can access its own declared varaibles as well as outside variables
13
Q
dynamic link
A
- pts to previous AR
14
Q
static link
A
- for each procedure from AR of current procedure to procedure outside of it
- allows arbitrary nested programs in ADA
- main procedure does not have static link
- if multiple a’s static link pts to most recent a
- address in memory
15
Q
symbol table
A
compiler uses it so names /searching does not occur