Chapter 5: Process Synchronization: 1. The Critical Section (CS) Problem and Solutions
Chapter 5: Process Synchronization: 1. The Critical Section (CS) Problem and Solutions
Chapter 5: Process Synchronization: 1. The Critical Section (CS) Problem and Solutions
2. A situation where several processes access and manipulate the same data concurrently and the outcome of
the execution depends on the particular order in which access takes place is called ____________
a) data consistency
b) race condition
c) aging
d) starvation
3. The segment of code in which the process may change common variables, update tables, write into files is
known as ____________
a) program
b) critical section
c) non – critical section
d) synchronizing
4. Which of the following conditions must be satisfied to solve the critical section problem?
a) Mutual Exclusion
b) Progress
c) Bounded Waiting
d) All of the mentioned
6. Bounded waiting implies that there exists a bound on the number of times a process is allowed to enter its
critical section ____________
a) after a process has made a request to enter its critical section and before the request is granted
b) when another process is in its critical section
c) before a process has made a request to enter its critical section
d) none of the mentioned
7. A minimum of _____ variable(s) is/are required to be shared between processes to solve the critical
section problem.
a) one
b) two
c) three
d) four
2. In the bounded buffer problem, there are the empty and full semaphores that ____________
a) count the number of empty and full buffers
b) count the number of empty and full memory spaces
c) count the number of empty and full queues
d) none of the mentioned
4. To ensure difficulties do not arise in the readers – writers problem _______ are given exclusive access to
the shared object.
a) readers
b) writers
c) readers and writers
d) none of the mentioned
7. All processes share a semaphore variable mutex, initialized to 1. Each process must execute wait(mutex)
before entering the critical section and signal(mutex) afterward.
Suppose a process executes in the following manner.
signal(mutex);
.....
critical section
.....
wait(mutex);
In this situation :
a) a deadlock will occur
b) processes will starve to enter critical section
c) several processes maybe executing in their critical section
d) all of the mentioned
8. All processes share a semaphore variable mutex, initialized to 1. Each process must execute wait(mutex)
before entering the critical section and signal(mutex) afterward.
Suppose a process executes in the following manner.
wait(mutex);
.....
critical section
.....
wait(mutex);
9. Consider the methods used by processes P1 and P2 for accessing their critical sections whenever needed,
as given below. The initial values of shared boolean variables S1 and S2 are randomly assigned. (GATE
2010)
Method used by P1 :
while(S1==S2);
Critical section
S1 = S2;
Method used by P2 :
while(S1!=S2);
Critical section
S2 = not(S1);
7. The wait operation of the semaphore basically works on the basic _______ system call.
a) stop()
b) block()
c) hold()
d) wait()
8. The signal operation of the semaphore basically works on the basic _______ system call.
a) continue()
b) wakeup()
c) getup()
d) start()
10. The code that changes the value of the semaphore is ____________
a) remainder section code
b) non – critical section code
c) critical section code
d) none of the mentioned
11. The following program consists of 3 concurrent processes and 3 binary semaphores. The semaphores are
initialized as S0 = 1, S1 = 0, S2 = 0.
Process P0
while(true)
{
wait(S0);
print '0';
release(S1);
release(S2);
}
Process P1
wait(S1);
release(S0);
Process P2
wait(S2);
release(S0);
repeat
P(mutex)
{Critical Section}
V(mutex)
forever
The code for P10 is identical except that it uses V(mutex) instead of P(mutex). What is the largest number of
processes that can be inside the critical section at any moment (the mutex being initialized to 1)?
a) 1
b) 2
c) 3
d) None of the mentioned
Explanation: Any one of the 9 processes can get into critical section after executing P(mutex) which
decrements the mutex value to 0. At this time P10 can enter critical section by incrementing the value to 1.
Now any of the 9 processes can enter the critical section by again decrementing the mutex value to 0. None
of the remaining processes can get into their critical sections.
13. Two processes, P1 and P2, need to access a critical section of code. Consider the following
synchronization construct used by the processes.
Process P1 :
while(true)
{
w1 = true;
while(w2 == true);
Critical section
w1 = false;
}
Remainder Section
Process P2 :
while(true)
{
w2 = true;
while(w1 == true);
Critical section
w2 = false;
}
Remainder Section
Here, w1 and w2 have shared variables, which are initialized to false. Which one of the following statements
is TRUE about the above construct?
a) It does not ensure mutual exclusion
b) It does not ensure bounded waiting
c) It requires that processes enter the critical section in strict alternation
d) It does not prevent deadlocks but ensures mutual exclusion
4. Semaphores – 2
4. What is a mutex?
a) is a binary mutex
b) must be accessed from only one process
c) can be accessed from multiple processes
d) none of the mentioned
5. At a particular time of computation the value of a counting semaphore is 7.Then 20 P operations and 15 V
operations were completed on this semaphore. The resulting value of the semaphore is? (GATE 1987)
a) 42
b) 2
c) 7
d) 12
Explanation: P represents Wait and V represents Signal. P operation will decrease the value by 1 every time
and V operation will increase the value by 1 every time.
Process A
int Y;
A1: Y = X*2;
A2: X = Y;
Process B
int Z;
B1: Z = X+1;
B2: X = Z;
X is set to 5 before either process begins execution. As usual, statements within a process are executed
sequentially, but statements in process A may execute in any order with respect to statements in process B.
How many different values of X are possible after both processes finish executing?
a) two
b) three
c) four
d) eight
Explanation: Here are the possible ways in which statements from A and B can be interleaved.
A1 A2 B1 B2: X = 11
A1 B1 A2 B2: X = 6
A1 B1 B2 A2: X = 10
B1 A1 B2 A2: X = 10
B1 A1 A2 B2: X = 6
B1 B2 A1 A2: X = 12.
Process A
int Y;
A1: Y = X*2;
A2: X = Y;
signal(T);
Process B
int Z;
B1: wait(T);
B2: Z = X+1;
X = Z;
5. Monitors
3. A procedure defined within a ________ can access only those variables declared locally within the
_______ and its formal parameters.
a) process, semaphore
b) process, monitor
c) semaphore, semaphore
d) monitor, monitor
6. Atomic Transactions
3. The state of the data accessed by an aborted transaction must be restored to what it was just before the
transaction started executing. This restoration is known as ________ of transaction.
a) safety
b) protection
c) roll – back
d) revert – back
7. The undo and redo operations must be _________ to guarantee correct behaviour, even if a failure occurs
during recovery process.
a) idempotent
b) easy
c) protected
d) all of the mentioned
Explanation: Idempotent – Multiple executions of an operation have the same result as does one execution.
8. The system periodically performs checkpoints that consists of the following operation(s) ____________
a) Putting all the log records currently in main memory onto stable storage
b) putting all modified data residing in main memory onto stable storage
c) putting a log record onto stable storage
d) all of the mentioned
9. Consider a transaction T1 that committed prior to checkpoint. The <T1 commits> record appears in the
log before the <checkpoint> record. Any modifications made by T1 must have been written to the stable
storage either with the checkpoint or prior to it. Thus at recovery time ____________
a) There is a need to perform an undo operation on T1
b) There is a need to perform a redo operation on T1
c) There is no need to perform an undo and redo operation on T1
d) All of the mentioned
15. Which of the following concurrency control protocols ensure both conflict serializability and freedom
from deadlock?
I) 2-phase locking
II) Timestamp ordering
a) I only
b) II only
c) Both I and II
d) Neither I nor II
Chapter 6: CPU Scheduling
1. CPU Scheduling
1. Which module gives control of the CPU to the process selected by the short-term scheduler?
a) dispatcher
b) interrupt
c) scheduler
d) none of the mentioned
2. The processes that are residing in main memory and are ready and waiting to execute are kept on a list
called _____________
a) job queue
b) ready queue
c) execution queue
d) process queue
3. The interval from the time of submission of a process to the time of completion is termed as
____________
a) waiting time
b) turnaround time
c) response time
d) throughput
4. Which scheduling algorithm allocates the CPU first to the process that requests the CPU first?
a) first-come, first-served scheduling
b) shortest job scheduling
c) priority scheduling
d) none of the mentioned
6. In priority scheduling algorithm, when a process arrives at the ready queue, its priority is compared with
the priority of ____________
a) all process
b) currently running process
c) parent process
d) init process
10. Which one of the following can not be scheduled by the kernel?
a) kernel level thread
b) user level thread
c) process
d) none of the mentioned
7. The switching of the CPU from one process or thread to another is called ____________
a) process switch
b) task switch
c) context switch
d) all of the mentioned
3. The portion of the process scheduler in an operating system that dispatches processes is concerned with
____________
a) assigning ready processes to CPU
b) assigning ready processes to waiting queue
c) assigning running processes to blocked queue
d) all of the mentioned
6. The strategy of making processes that are logically runnable to be suspended is called ____________
a) Non preemptive scheduling
b) Preemptive scheduling
c) Shortest job first
d) First come First served
7. What is Scheduling?
a) allowing a job to use the processor
b) making proper use of processor
c) all of the mentioned
d) none of the mentioned
8. There are 10 different processes running on a workstation. Idle processes are waiting for an input event in
the input queue. Busy processes are scheduled with the Round-Robin time sharing method. Which out of the
following quantum times is the best value for small response times, if the processes have a short runtime,
e.g. less than 10ms?
a) tQ = 15ms
b) tQ = 40ms
c) tQ = 45ms
d) tQ = 50ms
9. Orders are processed in the sequence they arrive if _______ rule sequences the jobs.
a) earliest due date
b) slack time remaining
c) first come, first served
d) critical ratio
10. Which of the following algorithms tends to minimize the process flow time?
a) First come First served
b) Shortest Job First
c) Earliest Deadline First
d) Longest Job First
11. Under multiprogramming, turnaround time for short jobs is usually ________ and that for long jobs is
slightly ___________
a) Lengthened; Shortened
b) Shortened; Lengthened
c) Shortened; Shortened
d) Shortened; Unchanged
12. Which of the following statements are true? (GATE 2010)
a) I only
b) I and III only
c) II and III only
d) I, II and III
4. Consider the following set of processes, the length of the CPU burst time given in milliseconds.
Assuming the above process being scheduled with the SJF scheduling algorithm.
a) The waiting time for process P1 is 3ms
b) The waiting time for process P1 is 0ms
c) The waiting time for process P1 is 16ms
d) The waiting time for process P1 is 9ms
8. What is ‘Aging’?
a) keeping track of cache contents
b) keeping track of what pages are currently residing in memory
c) keeping track of how many times a given page is referenced
d) increasing the priority of jobs to ensure termination in a finite time
a) i only
b) i and iii only
c) ii and iii only
d) i, ii and iii
11. Which of the following scheduling algorithms gives minimum average waiting time?
a) FCFS
b) SJF
c) Round – robin
d) Priority
Chapter 7: Deadlocks
1. Deadlock
9. Which one of the following is a visual ( mathematical ) way to determine the deadlock occurrence?
a) resource allocation graph
b) starvation graph
c) inversion graph
d) none of the mentioned
2. Deadlock Detection
1. The wait-for graph is a deadlock detection algorithm that is applicable when ____________
a) all resources have a single instance
b) all resources have multiple instances
c) all resources have a single 7 multiple instances
d) all of the mentioned
6. A deadlock eventually cripples system throughput and will cause the CPU utilization to ______
a) increase
b) drop
c) stay still
d) none of the mentioned
7. Every time a request for allocation cannot be granted immediately, the detection algorithm is invoked.
This will help identify ____________
a) the set of processes that have been deadlocked
b) the set of processes in the deadlock queue
c) the specific process that caused the deadlock
d) all of the mentioned
8. A computer system has 6 tape drives, with ‘n’ processes competing for them. Each process may need 3
tape drives. The maximum value of ‘n’ for which the system is guaranteed to be deadlock free is?
a) 2
b) 3
c) 4
d) 1
9. A system has 3 processes sharing 4 resources. If each process needs a maximum of 2 units then, deadlock
____________
a) can never occur
b) may occur
c) has to occur
d) none of the mentioned
10. ‘m’ processes share ‘n’ resources of the same type. The maximum need of each process doesn’t exceed
‘n’ and the sum of all their maximum needs is always less than m+n. In this setup, deadlock ____________
a) can never occur
b) may occur
c) has to occur
d) none of the mentioned
3. Deadlock Prevention
4. For a deadlock to arise, which of the following conditions must hold simultaneously?
a) Mutual exclusion
b) No preemption
c) Hold and wait
d) All of the mentioned
10. To ensure that the hold and wait condition never occurs in the system, it must be ensured that
____________
a) whenever a resource is requested by a process, it is not holding any other resources
b) each process must request and be allocated all its resources before it begins its execution
c) a process can request resources only when it has none
d) all of the mentioned
Explanation: c – A process may request some resources and use them. Before it can can request any
additional resources, however it must release all the resources that it is currently allocated.
11. The disadvantage of a process being allocated all its resources before beginning its execution is
____________
a) Low CPU utilization
b) Low resource utilization
c) Very high resource utilization
d) None of the mentioned
12. To ensure no preemption, if a process is holding some resources and requests another resource that
cannot be immediately allocated to it ____________
a) then the process waits for the resources be allocated to it
b) the process keeps sending requests until the resource is allocated to it
c) the process resumes execution without the resource being allocated to it
d) then all resources currently being held are preempted
13. One way to ensure that the circular wait condition never holds is to ____________
a) impose a total ordering of all resource types and to determine whether one precedes another in the
ordering
b) to never let a process acquire resources that are held by other processes
c) to let a process wait for only one resource at a time
d) all of the mentioned
4. Deadlock Recovery
6. If we preempt a resource from a process, the process cannot continue with its normal execution and it
must be ____________
a) aborted
b) rolled back
c) terminated
d) queued
7. To _______ to a safe state, the system needs to keep more information about the states of processes.
a) abort the process
b) roll back the process
c) queue the process
d) none of the mentioned
8. If the resources are always preempted from the same process __________ can occur.
a) deadlock
b) system crash
c) aging
d) starvation
1. Each request requires that the system consider the _____________ to decide whether the current request
can be satisfied or must wait to avoid a future possible deadlock.
a) resources currently available
b) processes that have previously been in the system
c) resources currently allocated to each process
d) future requests and releases of each process
2. Given a priori information about the ________ number of resources of each type that maybe requested for
each process, it is possible to construct an algorithm that ensures that the system will never enter a deadlock
state.
a) minimum
b) average
c) maximum
d) approximate
3. A deadlock avoidance algorithm dynamically examines the __________ to ensure that a circular wait
condition can never exist.
a) resource allocation state
b) system storage state
c) operating system
d) resources
Explanation: Resource allocation states are used to maintain the availability of the already and current
available resources.
9. The resource allocation graph is not applicable to a resource allocation system ____________
a) with multiple instances of each resource type
b) with a single instance of each resource type
c) single & multiple instances of each resource type
d) none of the mentioned
10. The Banker’s algorithm is _____________ than the resource allocation graph algorithm.
a) less efficient
b) more efficient
c) equal
d) none of the mentioned
11. The data structures available in the Banker’s algorithm are ____________
a) Available
b) Need
c) Allocation
d) All of the mentioned
Process
P0
P1
P2
P3
P4
Available
A B C
3 3 2
The sequence <P1, P3, P4, P2, P0> leads the system to ____________
a) an unsafe state
b) a safe state
c) a protected state
d) a deadlock