QUESTIONS WITH DETAILED VERIFIED
ANSWERS / ALREADY GRADED A+;
UPDATED VERSION STUDY GUIDE
lock - ANS-a synchronization mechanism for enforcing limits on access to a resource in an environment
where there are many threads of execution. A lock is designed to enforce a mutual exclusion
concurrency control policy.
deadlock - ANS-a situation in which two computer programs sharing the same resource are effectively
preventing each other from accessing the resource, resulting in both programs ceasing to function.
starvation - ANS-normally caused by deadlock in that it causes a process to freeze. ... A possible solution
to starvation is to use a scheduling algorithm with priority queue that also uses the aging technique.
Aging is a technique of gradually increasing the priority of processes that wait in the system for a long
time.
Mutual Exclusion - ANS-At least one resource must be held in a non-shareable mode. Otherwise, the
processes would not be prevented from using the resource when necessary.
Resource Holding - ANS-Resources cannot be removed from the processes are used to completion or
released voluntarily by the process holding it. The processes in the system form a circular list or chain
where each process in the list is waiting for a resource held by the next process in the list.
No Preemption - ANS-a resource can be released only voluntarily by the process holding it.
Circular Wait - ANS-each process must be waiting for a resource which is being held by another process,
which in turn is waiting for the first process to release the resource.
Directed Graphs - ANS-A wait-for graph in computer science is a directed graph used for deadlock
detection in operating systems and relational database systems.
Prevention - ANS-deadlock prevention algorithms are used in concurrent programming when multiple
processes must acquire more than one shared resource. ... A deadlock prevention algorithm organizes
, resource usage by each process to ensure that at least one process is always able to get all the resources
it needs.
Avoidance - ANS-Deadlock avoidance algorithms try not to allocate resources to a process if it will make
the system in an unsafe state. ... An edge from a process to resource is a request edge and an edge from
a resource to process is an allocation edge.
Safe State - ANS-A state is safe if the system can allocate all resources requested by all processes ( up to
their stated maximums ) without entering a deadlock state. ... If a safe sequence does not exist, then the
system is in an unsafe state, which MAY lead to deadlock.
Unsafe State - ANS-if there is no allocation sequence that allows the processes to finish executing, then
the system is in an unsafe state.
Deadlock Detection - ANS-process of actually determining that a deadlock exists and identifying the
processes and resources involved in the deadlock. The basic idea is to check allocation against resource
availability for all possible allocation sequences to determine if the system is in deadlocked state a.
Recovery - ANS-a process of salvaging (retrieving) inaccessible, lost, corrupted, ... The most common
data recovery scenario involves an operating system failure, malfunction of a storage device, logical
failure of storage devices, ...
Multiprocessing - ANS-refers to the use of two or more central processing units (CPU) within a single
computer system. These multiple CPUs are in a close communication sharing the computer bus, memory
and other peripheral devices. These systems are referred as tightly coupled systems.
Parallel processing - ANS-the processing of program instructions by dividing them among multiple
processors with the objective of running a program in less time. ... An early form of parallel processing
allowed the interleaved execution of both programs together.
Master/Slave - ANS-a model of communication where one device or process has unidirectional control
over one or more other devices. In some systems a master is selected from a group of eligible devices,
with the other devices acting in the role of slaves.
Loosely Coupled System - ANS-a type of multiprocessing where the individual processors are configured
with their own memory and are capable of executing user and operating system instructions
independent of each other. This type of architecture paves the way for parallel processing.
Symmetric - ANS-the processing of programs by multiple processors that share a common operating
system and memory. In symmetric (or "tightly coupled") multiprocessing, the processors share memory
and the I/O bus or data path. A single copy of the operating system is in charge of all the processors.
Process synchronization - ANS-sharing system resources by processes in a such a way that, Concurrent
access to shared data is handled thereby minimizing the chance of inconsistent data. Maintaining data
consistency demands mechanisms to ensure synchronized execution of cooperating processes.
Critical region - ANS-a code segment that accesses shared variables and has to be executed as an atomic
action.