Synchronization in Operating Systems

0.0(0)
studied byStudied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/29

flashcard set

Earn XP

Description and Tags

This set of flashcards covers key vocabulary and concepts related to synchronization in operating systems.

Last updated 7:33 AM on 4/22/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

30 Terms

1
New cards

Critical-Section Problem

The challenge of ensuring that multiple processes or threads can safely access shared resources without conflict.

2
New cards

Race Condition

A situation where the outcome of a program depends on the relative timing of events, such as the sequence of execution of threads.

3
New cards

Mutual Exclusion

A principle that ensures that if one process is executing in its critical section, no other process is allowed to enter its critical section.

4
New cards

Progress

A condition that guarantees if no process is executing in its critical section, the selection of the process that will enter the critical section cannot be postponed indefinitely.

5
New cards

Bounded Waiting

A restriction that limits the number of times other processes can enter their critical sections after a request is made.

6
New cards

Mutex Lock

A synchronization primitive that ensures exclusive access to a shared resource by allowing only one process to hold the lock at a time.

7
New cards

Semaphore

An integer variable used for controlling access by multiple processes to a common resource in a concurrent system.

8
New cards

Atomic Variable

A variable that can be read or written without being interrupted, ensuring that operations on it are completed without interference.

9
New cards

Peterson's Solution

A classic algorithm for mutual exclusion for two processes that uses flags and a turn variable to prevent race conditions.

10
New cards

Test-and-Set Instruction

A hardware feature that allows atomic modification of a variable to help implement locks.

11
New cards

Compare-and-Swap Instruction

A hardware instruction that compares the contents of a memory location with a given value and, only if they match, modifies that memory location.

12
New cards

Condition Variable

A synchronization primitive that allows threads to wait until a particular condition holds true.

13
New cards

Monitor

A high-level synchronization construct that allows safe access to shared resources by ensuring only one process executes within a monitor at a time.

14
New cards

Deadlock

A situation where two or more processes are unable to proceed because each is waiting for the other to release resources.

15
New cards

Starvation

A condition where a process is perpetually denied necessary resources to proceed with its work due to resource control mechanisms.

16
New cards

Priority Inversion

A scenario where a lower-priority process holds a resource needed by a higher-priority process, causing the higher-priority process to be blocked.

17
New cards

Signal() Operation

An operation that increments the value of a semaphore, potentially allowing other waiting processes to proceed.

18
New cards

Wait() Operation

An operation that decrements the value of a semaphore and may cause the calling process to block if the value is zero or negative.

19
New cards

Atomic Operation

An operation that is performed as a single, indivisible step, ensuring that no other operations can interleave during its execution.

20
New cards

Entry Section

The part of a process code where a process requests permission to enter the critical section.

21
New cards

Exit Section

The part of a process code where a process releases critical section resources after completing its operation.

22
New cards

Liveness

A property of a concurrent system that guarantees that processes will continue to make progress and will not enter deadlocks.

23
New cards

Kernel Variable

A variable that is used by the operating system kernel to manage resources and processes.

24
New cards

Fork() System Call

A system call used to create a new process by duplicating the calling process.

25
New cards

Asymmetric Solution

A solution strategy where odd and even processes have different protocols for resource acquisition, to avoid deadlocks.

26
New cards

Busy Waiting

A technique where a process repeatedly checks if a condition holds, preventing it from being scheduled to run.

27
New cards

Spoon

A semaphore in the Dining Philosophers Problem representing shared resources between processes (philosophers).

28
New cards

Race Condition Example

Occurs when two threads access and modify a shared variable concurrently without proper synchronization, leading to incorrect outcomes.

29
New cards

Process Termination

The completion of a process or its abnormal end, which can affect synchronization tools and resource management.

30
New cards

Shared Resource

A resource that can be accessed concurrently by multiple processes, requiring synchronization for data integrity.