Chap 5 Flashcards
The central themes of operating system design are all concerned with the management of processes and threads.
TRUE
It is possible in a single-processor system to not only interleave the execution of multiple processes but also overlap them
FALSE
As an extension of the principles of modular design and structured programming, some applications can be effectively programmed as a set of concurrent processes.
TRUE
Race condition is 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.
FALSE
The sharing of main memory among processes is useful to permit efficient and close interaction among processes because such sharing does not leads to many problems.
FALSE
When processes cooperate by communication, the various processes participate in a common effort that links all of the processes.
TRUE
Atomicity guarantees isolation from concurrent processes.
TRUE
Concurrent processes do not come into conflict with each other when they are competing for the use of the same resource.
FALSE
Two or more processes can cooperate by means of simple signals, such that a process can be forced to stop at a specified place until it has received a specific signal.
TRUE
The functioning of a process, and the output it produces, must be independent of the speed at which its execution is carried out relative to the speed of other concurrent processes.
TRUE
A process that is waiting for access to a critical section does not consume processor time.
FALSE
The case of cooperation by sharing covers processes that interact with other processes without being explicitly aware of them.
TRUE
It is possible for one process to lock the mutex and for another process to unlock it.
FALSE
On of the most common problems faced in concurrent processing is the producer/consumer problem.
TRUE
Processes need to be synchronized to enforce mutual exclusion.
TRUE
The management of multiple processes within a uniprocessor system is ___________.
multiprogramming
A situation in which a runnable process is overlooked indefinitely by the scheduler, although it is able to proceed, is ____________.
starvation
The requirement that when one process is in a critical section that access shared resources, no other process may be in a critical section that accesses any of those shared resources is ____________.
mutual exclusion
A means for two processes to exchange information is with the use of ____________.
messages
A semaphore that does not specify the order in which processes are removed from the queue is a _________ semaphore.
weak
A ____________ occurs when multiple processes or threads read and write data items so that the final result depends on the order of execution of instructions in the multiple processes.
race condition
A ___________ is an integer value used for signaling among processes.
semaphore
__________ is when the sequence of instruction is guaranteed to execute as a group, or not execute at all, having no visible effect on system state.
atomic operation
___________ are memory words used as a synchronization mechanism.
event flags
The term _________ refers to a technique in which a process can do nothing until it gets permission to enter its critical section but continues to execute an instruction or set of instructions that tests the appropriate variable to gain entrance.
spin waiting
A _______ is a data type that is used to block a process or thread until a particular condition is true.
condition variable
A semaphore whose definition includes the policy that the process that has been blocked the longest is released from the queue first is called a __________ semaphore.
strong
The __________ is a programming language construct that provides equivalent functionality to that of semaphores and is easier to control.
monitor
Probably the most useful combination, ________ allows a process to send one or more messages to a variety of destinations as quickly as possible.
nonblocking send, blocking receive
A ___________ relationship allows multiple server processes to provide concurrent service to multiple clients.
many-to-many
____________ arises in three different contexts: multiple applications, structured application, and operating system structure.
concurrency
_________ was invented to allow processing time to be dynamically shared among a number of active applications.
multiprogramming
A situation in which two or more processes are unable to proceed because each is waiting for one of the others to do something is a ____________.
deadlock
In the case of competing processes three control problems must be faced: mutual exclusion, deadlock, and _________.
starvation
A ______________ is a semaphore that takes only the values of 0 and 1.
binary semaphore
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 is a ___________ .
race condition
__________ is a function or action implemented as a sequence of one or more instructions that appears to be indivisible; no other process can see an intermediate state or interrupt the operations.
atomic operation
A ___________ is a programming language construct that encapsulates variables, access procedures, and initialization code within an abstract data type.
monitor
__________ is a section of code within a process that requires access to shared resources and that must not be executed while another process is in a corresponding section of code.
critical section
In the case of _________, processes are sharing resources without being aware of the other processes.
competition
A __________ is a mutual exclusion mechanism in which a process executes in an infinite loop waiting for the value of a lock variable to indicate availability
spinlock
Only three operations may be performed on a semaphore: initialize, increment, and __________.
decrement
A monitor supports synchronization by the use of _________ that are contained within the monitor and accessible only within the monitor.
condition variables
In the case of _______, messages are not sent directly from sender to receiver but rather are sent to a shared data structure consisting of queues that can temporarily hold messages.
indirect addressing
The classic concurrency problem that involves multiple readers that can read from a shared data area when no single writer is exclusively writing to it is the ___________ Problem.
readers/writers