1/7
Flashcards covering the concepts of data sharing, race conditions, and the requirements for mutual exclusion in process synchronization.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Data sharing
A situation where threads of a process share process data, such as multiple threads reading or writing the same data, or when the output of one process serves as the input to another.
Race condition
A scenario in which the final result of an operation depends on the order of execution, which can lead to incorrect results like an account balance being 150 or 50 instead of the expected 100.
Mutual exclusion
A property among threads ensuring that they are not interleaved during access to shared data, meaning no two threads may simultaneously be inside critical sections accessing the same data.
Critical section / critical region
The specific region of code during which shared data is accessed.
Mutual exclusion requirements
A set of conditions that must be met, including no two threads simultaneously in critical sections, no hardware assumptions, no prevention of entry by threads outside the critical section, and no infinite waiting.
Hardware independence requirement
A rule for mutual exclusion stating that no assumptions must be made about system hardware, such as the number of processors (#procs) or their speed.
Fairness and efficiency requirement
The principle that no thread or process should have to wait forever to enter a critical section and that a process not in its critical section must not block others from entering.
Banking process operations
The sequence of actions performed by threads, such as Load balance, Subtract withdrawal amount (Thread 1) or Add deposit amount (Thread 2), and Store updated balance.