P2L4 Flashcards

1
Q

UL Thread Data Structure

A

thread ID
UL registers
thread stack

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

PCB (for threaded process)

A

Virtual address mapping
Stack
Registers

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

setjmp and longjmp

A

useful for switching ULT contexts

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

Hard and Light Process State

A

Portions of PCB where hard does not change for individual threads and light is thread specific

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

hard process state

A

does not change from thread to thread (virtual address mappings)

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

light process state

A

specific to each thread (signal mask, sys call args)

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

Rationale for multiple PCB data structures

A

Scalability
overheads
performance
flexibility

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

Sun KLT Data Structures

A

Process

Lightweight Process

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

binding

A

associating ULT to a specific KLT

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

pinning

A

associating KLT with specific CPU

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

Adaptive Mutex

A

if critical section is short, spin (dont’ block)

for long critical sections default blocking behavior

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

death row

A

threads periodically destroyed by a reaper thread if not reused (performance gains)

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

interrupt

A

events generated externally by components other than the CPU
determined based on the physical platform
appear asynchronously

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

signal

A

events triggered by CPU and software running on it
determined based on the OS
synchronous or asynchronous

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

Interrupt handler table

A

Interrupts are defined by hardware

how they are handled is OS specific

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

Signal handler table

A

signal is OS defined

how it is handled is process specific

17
Q

Default handler actions

A

terminate, ignore, terminate & core dump, stop or continue

18
Q

Interrupt masks are per

19
Q

Signal masks are per

A

execution context

20
Q

Types of Signals

A

One shot

Real time signals

21
Q

One-shot signal

A

n signals pending == 1 signal pending

22
Q

Real-time signal

A

if n signals raised, handler is called n times

23
Q

Interrupt as thread

A

if handler doesn’t lock, execute on interrupted thread’s stack
if handler locks, turn into real thread

24
Q

Interrupts top half and bottom

A

top half -> fast, non-blocking

bottom -> arbitrary complexity

25
directed signal
signal generated by user level library to kernel level thread currently executing on another CPU
26
Linux main execution abstraction
task
27
Linux task identifer
pid
28
Task Data Structure
pid, tgid, state, memory (mm), files, tasks, on_cpu, cpus_allowed
29
fork in mt
only creates a single-threaded process
30
fork in linux
utilizes clone under the hood
31
Linux Current Threads
Native POSIX Threads Library (NPTL) | 1:1 model
32
Linux Old Threads Model
Linux Threads | M-M model
33
MSI
Message Signal Interrupt
34
Interrupt masks are
per CPU
35
Signal masks are
per execution context
36
Interrupts on multicore system
can be directed to a single core