OS 2

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 34

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

35 Terms

1

Concurrency Multiple Applications

Invented to allow processing time to be shared among active applications.

New cards
2

Concurrency Structured Applications

Extension of modular design and structured programming.

New cards
3

Concurrency Operating System Structure

OS themselves implemented as a set of processes or threads.

New cards
4

Atomic Operation

A sequence of instructions that cannot be read or interrupted by other programs.

New cards
5

Critical Section

A section of code that requires access to shared resources and must not be executed when another process is in a corresponding section of code.

New cards
6

Deadlock

A situation in which two or more processes are unable to proceed because each is waiting for one of the others to do something.

New cards
7

Livelock

A situation in which two or more processes continuously change their states in response to changes in the other process(es) without doing any useful work.

New cards
8

Mutual Exclusion

The requirement that when one process is in a critical section, no other process may access a critical section.

New cards
9

Race Condition

A situation in which multiple processes read and write a shared data item, whose result depends on who wrote it last.

New cards
10

Starvation

A situation in which a process is indefinitely held back by the scheduler.

New cards
11

Principles of Concurrency:

Interleaving & overlapping
Uniprocessor

New cards
12

Difficulties of Concurrency:

Sharing of global resources.
Difficult for the OS to manage the allocation of resources optimally.
Difficult to locate programming errors as results are not deterministic or reproducible.

New cards
13

Concurrency Operating System Concerns:

Multiprogramming
Memory Mangement
Data Protection
I/O independent of processing speed.

New cards
14

Resource Competition

When concurrent processes come into conflict when competing for the same resources.

New cards
15

Resource Control Problems:

Mutual Exclusion
Deadlock
Starvation

New cards
16

Requirements for Mutual Exclusion:

Must be enforced.
Stopped processes must not halt others.
No deadlock or starvation.
Processes cannot be denied a critical section when no other process is using it.
No assumptions made about relative process speeds or number of processes.
A process remains inside its critical section for a finite time only.

New cards
17

Hardware Mutual Exclusion Disadvantages:

Efficiency of execution is noticeably degraded.
Doesn’t work with a multiprocessor architecture.

New cards
18

Given an address i, test_and_set(i) will:

Return 1 if that address has been set, 0 otherwise.
This function is atomic.

New cards
19

Given addresses a and b, compare_and_swap(a, b) will:

Swap a and b if the values are the same.

New cards
20

Special Machine Instruction Advantages:

Applicable to any number of processes on single or multiple processors.
Simple and easy to verify.
Supports multiple critical sections.

New cards
21

Special Machine Instruction Disadvantages:

Busy-waiting is employed.
Starvation and deadlock is possible.

New cards
22

Semaphore

An integer value used for signaling among processes.
There is no one to inspect or manipulate a semaphore outside of its three operations.

New cards
23

Semaphore Atomic Operations:

Initialize
Increment
Decrement

New cards
24

Binary Semaphore

Semaphore that takes on the value 0 or 1.

New cards
25

Mutex

A binary semaphore, but the process that sets the value to 0 must be the one to set it to 1.

New cards
26

Condition Variable

A data type that is used to block a process until a particular condition is true.

New cards
27

Mailboxes/Messages

A means for two processes to exchange information.
Can be used for synchronization.

New cards
28

Spinlocks

Mutual exclusion mechanism in which a process executes in an infinite loop waiting for a lock variable.

New cards
29

Producer

A program that produces data.

New cards
30

Consumer

A program that consumes data.

New cards
31

Monitor

A programming language construct that provides equivalent functionality to that of semaphores and is easier to control.

New cards
32

Monitor Characteristics:

Local variables only accessible through monitor procedures.
Processes enter the monitor by invoking one of its procedures.
Only on process may be executing in the monitor at a time.

New cards
33

Synchronization

Achieved by the use of condition variables that are contained and accessible only in the monitor.

New cards
34

Blocking Send, Blocking Receive

A receiver cannot continue until it has received its request.
A sender cannot continue until the receiver confirms its arrival.

New cards
35

Readers/Writers Conditions:

Any number of readers may simultaneously read a file.
Only one writer may write to a file at a time.
If a writer is writing to a file, no reader may read it.

New cards

Explore top notes

note Note
studied byStudied by 56 people
145 days ago
5.0(2)
note Note
studied byStudied by 9 people
751 days ago
5.0(1)
note Note
studied byStudied by 51 people
758 days ago
5.0(2)
note Note
studied byStudied by 22 people
968 days ago
4.5(2)
note Note
studied byStudied by 7 people
569 days ago
5.0(1)
note Note
studied byStudied by 1 person
809 days ago
5.0(1)
note Note
studied byStudied by 36 people
720 days ago
5.0(1)
note Note
studied byStudied by 10144 people
699 days ago
4.6(60)

Explore top flashcards

flashcards Flashcard (27)
studied byStudied by 21 people
141 days ago
5.0(3)
flashcards Flashcard (97)
studied byStudied by 18 people
843 days ago
5.0(1)
flashcards Flashcard (61)
studied byStudied by 5 people
94 days ago
5.0(1)
flashcards Flashcard (75)
studied byStudied by 8 people
724 days ago
5.0(2)
flashcards Flashcard (20)
studied byStudied by 2 people
15 days ago
5.0(1)
flashcards Flashcard (32)
studied byStudied by 19 people
719 days ago
5.0(1)
flashcards Flashcard (48)
studied byStudied by 39 people
407 days ago
5.0(1)
flashcards Flashcard (278)
studied byStudied by 172 people
134 days ago
5.0(1)
robot