Operating Systems, unit: Process Synchronization. Core concepts, terminology, and worked-example cues a college student meets for this unit, building on prior units without repeating them. Front: a term, concept, or short problem cue. Back: the definition, explanation, or answer.
23 cards · basic cards · AI-written, checked twice. Edit anything.
- What is process synchronization?
- Coordinating the execution of multiple processes or threads that share resources
- What is a critical section?
- A segment of code that accesses shared resources and must not be executed by more than one process at a time
- What is mutual exclusion?
- Ensuring that only one process or thread can execute a critical section at a time
- What is a race condition?
- An error occurring when the outcome depends on the uncontrolled timing or interleaving of operations
- What is a mutex (mutual exclusion lock)?
- A synchronization tool that allows only one thread to access a resource at a time
- What is a semaphore?
- A synchronization variable used to control access to a shared resource, using signal and wait operations
- What is a binary semaphore?
- A semaphore that can only take values 0 or 1, functioning like a simple lock
- What is a counting semaphore?
- A semaphore that can take a range of values, tracking the number of available instances of a resource
- What operations are used with a classic semaphore?
- Wait (P, decrement) and Signal (V, increment)
- What is a monitor, as a synchronization construct?
- A high-level construct bundling shared data with the procedures that safely access it
- What is the producer-consumer problem?
- A classic synchronization problem where producers generate data and consumers process it from a shared buffer
- What is the readers-writers problem?
- A classic synchronization problem balancing shared read access with exclusive write access to data
- What is a spinlock?
- A lock where a thread repeatedly checks in a loop ('busy waits') until the lock becomes available
- What is busy waiting?
- Continuously checking a condition in a loop, wasting CPU cycles while waiting
- What is atomicity, in the context of concurrent operations?
- An operation that completes entirely or not at all, with no partial or interrupted state visible to others