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

A

CPU

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
Q

directed signal

A

signal generated by user level library to kernel level thread currently executing on another CPU

26
Q

Linux main execution abstraction

A

task

27
Q

Linux task identifer

A

pid

28
Q

Task Data Structure

A

pid, tgid, state, memory (mm), files, tasks, on_cpu, cpus_allowed

29
Q

fork in mt

A

only creates a single-threaded process

30
Q

fork in linux

A

utilizes clone under the hood

31
Q

Linux Current Threads

A

Native POSIX Threads Library (NPTL)

1:1 model

32
Q

Linux Old Threads Model

A

Linux Threads

M-M model

33
Q

MSI

A

Message Signal Interrupt

34
Q

Interrupt masks are

A

per CPU

35
Q

Signal masks are

A

per execution context

36
Q

Interrupts on multicore system

A

can be directed to a single core