1/22
These flashcards cover key vocabulary and concepts related to concurrency, threads, and operating systems.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Concurrency
Multiple tasks making progress during overlapping time periods.
Threads vs Processes
Threads share memory and resources; switching between them is faster than between processes.
Thread Control Block (TCB)
Holds the state of a thread: ID, registers, priority, etc.
Thread Local Storage
Memory each thread uses independently of others.
Thread States
Running, Ready, Waiting/Blocked, Terminated.
Race Condition
When multiple threads access shared data and the result depends on timing.
Determinism
Consistent results that do not depend on timing.
Indeterminism
Results depend on timing.
Thread Trace
A log of the actions taken by a thread during execution.
Critical Section
A block of code that accesses shared resources.
Mutual Exclusion
Ensures one thread in the critical section at a time.
Atomicity
An operation that is all or nothing; it can't be interrupted.
Synchronization Primitives
Tools like locks, semaphores, and condition variables to manage thread timing.
Lock States
Available (unlocked), Acquired (locked).
Tickets Lock
A fair spinlock that lets threads take a number.
Yielding
A thread voluntarily gives up the CPU to others.
Sleeping in Threads
Thread pauses without using CPU until woken.
Cache Coherence Problem
Multiple cores have stale versions of shared data in cache.
Write-through Caching
Writes go to cache and main memory.
Write-back Caching
Writes stay in cache; memory updated later.
System Bus
The communication backbone connecting CPU, RAM, and peripherals.
Approximate Counters
Local counters per core, merged occasionally to a global one.
Granularity of Locks
Coarse locks are simple but slow; fine locks are complex but faster.