Concurrency and Deadlocks

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/38

flashcard set

Earn XP

Description and Tags

Platform Tech

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

39 Terms

1
New cards

mutual exclusion

which pertains to the ability to execute all other processes from a course of action while one (1) process is granted that ability

2
New cards

Concurrency

is an application performance technique that encompasses the ability to load and execute multiple runnable programs.

3
New cards

Atomic operation

It is a function or an action implemented as a sequence of one (1) or more instructions that appear to be indivisible, wherein no other process can see an intermediate state or interrupt the operation

4
New cards

Critical section

It is a section of code within a process that requires access to shared resources and must not be executed while other process is in a corresponding section of code.

5
New cards

Race condition

It is a situation in which multiple threads or processes read and write a shared data item, and the final result depends on the relative timing of their execution.

6
New cards

single-processor multiprogramming system

processes are interleaved in time to yield the appearance of simultaneous execution

7
New cards

Competition: Processes unaware of each other

This comprises independent processes that are not intended to work together

8
New cards

Cooperation by sharing: Processes indirectly aware of each othe

This involves processes that are not necessarily aware of each other by their respective process identifications but shares access to some objects

9
New cards

Cooperation by communication: Processes directly aware of each other

This encompasses processes that are able to communicate with each other by process identification and that are designed to work jointly on some activity.

10
New cards

Dijkstra's work

his work focuses on operating system (OS) design as a collection of cooperating sequential processes, with the development of an efficient and reliable mechanism for supporting cooperation.

11
New cards

Counting Semaphore

This involves an integer value that is used for signaling processes

12
New cards

Binary Semaphore

This is a semaphore that only takes the values zero (0) and one (1).

13
New cards

Mutual Exclusion (Mutex) Lock

This mechanism is similar to a binary semaphore. The key difference between the two is that the process that locks the mutex must be the one to unlock it, and only the holder of the lock can operate

14
New cards

Condition Variable

This is a data type that is used to block a process or a thread until a specific condition is true.

15
New cards

Monitor

This is a programming construct that encapsulates variables, access procedures, and initialization code within an abstract data type.

16
New cards

Event Flag

It is a memory word used as a synchronization mechanism. A specific application code is associated with each bit in a flag

17
New cards

Mailbox or Message Passing

This mechanism is considered as a means for two (2) processes to exchange information,

18
New cards

Spinlock

This is a mechanism in which a process executes in an infinite loop waiting for the value of a lock variable to indicate availability.

19
New cards

Deadlocks

can be defined as permanent blocking of a set of processes that either compete for system resources or communicate with each other

20
New cards

Reusable resources

These resources can be used by only one process at a time and are not depleted by usage

21
New cards

Consumable resources

These are resources that can be created (produced) and destroyed (consumed).

22
New cards

resource allocation graph

which was introduced by Richard Holt, is a useful tool in characterizing the allocation of resources to processes.

23
New cards

Hold and wait

: A thread must be holding at least one (1) resource and waiting to acquire additional resources that are currently being held by other threads.

24
New cards

No preemption

Resources cannot be preempted. This means that a resource can only be released voluntarily by the thread holding it after that thread has completed its task

25
New cards

Circular wait

A closed chain of threads exists, such that each thread holds at least one resource needed by the next thread in the chain.

26
New cards

Deadlock Prevention: Disallows one of the four conditions for deadlock occurrence –

This strategy of involves the designing of a system in such a way that the possibility of deadlock is excluded

27
New cards

Deadlock Avoidance:

This strategy allows the three necessary conditions but makes judicious choices to assure that the deadlock point is never reached

28
New cards

Process initiation denial

Do not start a process if its demands might lead to a deadlock;

29
New cards

Resource allocation denial

Do not grant an incremental resource request to a process if this allocation might lead to a deadlock.

30
New cards

Deadlock Detection: Grant resource requests when possible, but periodically check for deadlock and act to recover

This strategy does not limit resource access or restricts process executions.

31
New cards

Multiprogramming

It is the management of multiple processes within a uniprocessor system

32
New cards

Multiprocessing

It is the management of multiple processes within a multiprocessor.

33
New cards

Distributed processing

It is the management of multiple processes executing on multiple distributed computer systems.

34
New cards

Starvation

situation in which a runnable processes is overlooked indefinitely by the scheduler

35
New cards

Spawn

typically transpires whenever a new process is created

36
New cards

Block

this happenss when a thread needs to wait for a particular event

37
New cards

Unblocked

moves a blocked thread into the ready queue for the continuation

38
New cards

Finish

happens whenever a thread complete its entire execution

39
New cards