0% found this document useful (0 votes)
896 views

Operating System Questions and Answers - The Critical Section (CS) Problem and Solutions

This document provides a multiple choice quiz on critical section problems and solutions in operating systems. It asks 12 questions about concepts like mutual exclusion, bounded waiting, and solutions like semaphores and the bakery algorithm. Key points covered include that mutual exclusion means only one process can be in its critical section at a time, and that bounded waiting means there is a limit to the number of times a process must wait before entering its critical section. It also provides explanations for each answer.

Uploaded by

James Templeton
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
896 views

Operating System Questions and Answers - The Critical Section (CS) Problem and Solutions

This document provides a multiple choice quiz on critical section problems and solutions in operating systems. It asks 12 questions about concepts like mutual exclusion, bounded waiting, and solutions like semaphores and the bakery algorithm. Key points covered include that mutual exclusion means only one process can be in its critical section at a time, and that bounded waiting means there is a limit to the number of times a process must wait before entering its critical section. It also provides explanations for each answer.

Uploaded by

James Templeton
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Operating System Questions and Answers – The Critical Section (CS) Problem and

Solutions

This set of Operating System Multiple Choice Questions & Answers (MCQs) focuses on
“The Critical Section (CS) Problem and Solutions”.

1. Concurrent access to shared data may result in ____________


a) data consistency
b) data insecurity
c) data inconsistency
d) none of the mentioned
View Answer
Answer: c
Explanation: None.
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
View Answer
Answer: b
Explanation: None.
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
View Answer
Answer: b
Explanation: None.
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
View Answer
Answer: d
Explanation: None.
5. Mutual exclusion implies that ____________
a) if a process is executing in its critical section, then no other process must be
executing in their critical sections
b) if a process is executing in its critical section, then other processes must be
executing in their critical sections
c) if a process is executing in its critical section, then all the resources of the system
must be blocked until it finishes execution
d) none of the mentioned
View Answer
Answer: a
Explanation: None.
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
View Answer
Answer: a
Explanation: None.
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
View Answer
Answer: b
Explanation: None.
advertisement

8. In the bakery algorithm to solve the critical section problem ____________


a) each process is put into a queue and picked up in an ordered manner
b) each process receives a number (may or may not be unique) and the one with the
lowest number is served next
c) each process gets a unique number and the one with the highest number is served
next
d) each process gets a unique number and the one with the lowest number is served
next
View Answer
Answer: b
Explanation: None.

Operating System Questions and Answers – Semaphores – 1

This set of Operating System Multiple Choice Questions & Answers (MCQs) focuses on
“Semaphores”.

1. An un-interruptible unit is known as ____________


a) single
b) atomic
c) static
d) none of the mentioned
View Answer
Answer: b
Explanation: None.
2. TestAndSet instruction is executed ____________
a) after a particular process
b) periodically
c) atomically
d) none of the mentioned
View Answer
Answer: c
Explanation: None.
3. Semaphore is a/an _______ to solve the critical section problem.
a) hardware for a system
b) special program for a system
c) integer variable
d) none of the mentioned
View Answer
Answer: c
Explanation: None.
4. What are the two atomic operations permissible on semaphores?
a) wait
b) stop
c) hold
d) none of the mentioned
View Answer
Answer: a
Explanation: None.
5. What are Spinlocks?
a) CPU cycles wasting locks over critical sections of programs
b) Locks that avoid time wastage in context switches
c) Locks that work better on multiprocessor systems
d) All of the mentioned
View Answer
Answer: d
Explanation: None.
6. What is the main disadvantage of spinlocks?
a) they are not sufficient for many process
b) they require busy waiting
c) they are unreliable sometimes
d) they are too complex for programmers
View Answer
Answer: b
Explanation: None.
7. The wait operation of the semaphore basically works on the basic _______ system
call.
a) stop()
b) block()
c) hold()
d) wait()
View Answer
Answer: b
Explanation: None.
8. The signal operation of the semaphore basically works on the basic _______ system
call.
a) continue()
b) wakeup()
c) getup()
d) start()
View Answer
Answer: b
Explanation: None.
9. If the semaphore value is negative ____________
a) its magnitude is the number of processes waiting on that semaphore
b) it is invalid
c) no operation can be further performed on it until the signal operation is performed on
it
d) none of the mentioned
View Answer
Answer: a
Explanation: None.
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
View Answer
Answer: c
Explanation: None.
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);

How many times will P0 print ‘0’?


a) At least twice
b) Exactly twice
c) Exactly thrice
d) Exactly once
View Answer
Answer: a
Explanation: None.
advertisement

12. Each process Pi, i = 0,1,2,3,……,9 is coded as follows.


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
View Answer
Answer: c
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
View Answer
Answer: d
Explanation: None.

Operating System Questions and Answers – Semaphores – 2

This set of Operating System Interview Questions and Answers for freshers focuses on
“Semaphores – 2” and will also be useful for interview preparations for freshers.
1. What will happen if a non-recursive mutex is locked more than once?
a) Starvation
b) Deadlock
c) Aging
d) Signaling
View Answer
Answer: b
Explanation: If a thread which had already locked a mutex, tries to lock the mutex again,
it will enter into the waiting list of that mutex, which results in a deadlock. It is because
no other thread can unlock the mutex.
2. What is a semaphore?
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
View Answer
Answer: c
Explanation: None.
3. What are the two kinds of semaphores?
a) mutex & counting
b) binary & counting
c) counting & decimal
d) decimal & binary
View Answer
Answer: b
Explanation: None.
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
View Answer
Answer: b
Explanation: None.
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
View Answer
Answer: b
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.
6. A binary semaphore is a semaphore with integer values ____________
a) 1
b) -1
c) 0.8
d) 0.5
View Answer
Answer: a
Explanation: None.
7. The following pair of processes share a common variable X.
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
View Answer
Answer: c
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.
8. The program follows to use a shared binary semaphore T.
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;

T is set to 0 before either process begins execution and, as before, X is set to 5.


Now, how many different values of X are possible after both processes finish executing?
a) one
b) two
c) three
d) four
View Answer
Answer: a
Explanation: The semaphore T ensures that all the statements from A finish execution
before B begins. So now there is only one way in which statements from A and B can
be interleaved:
A1 A2 B1 B2: X = 11.
advertisement

9. Semaphores are mostly used to implement ____________


a) System calls
b) IPC mechanisms
c) System protection
d) None of the mentioned
View Answer
Answer: b
Explanation: None.
10. Spinlocks are intended to provide __________ only.
a) Mutual Exclusion
b) Bounded Waiting
c) Aging
d) Progress
View Answer
Answer: b
Explanation: None.

Operating System Questions and Answers – Classic Synchronization Problems

This set of 1000+ Operating System MCQs focuses on “The Classic Synchronization
Problems”

1. The bounded buffer problem is also known as ____________


a) Readers – Writers problem
b) Dining – Philosophers problem
c) Producer – Consumer problem
d) None of the mentioned
View Answer
Answer: c
Explanation: None.
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
View Answer
Answer: a
Explanation: None.
3. In the bounded buffer problem ____________
a) there is only one buffer
b) there are n buffers ( n being greater than one but finite)
c) there are infinite buffers
d) the buffer size is bounded
View Answer
Answer: b
Explanation: None.
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
View Answer
Answer: b
Explanation: None.
5. The dining – philosophers problem will occur in case of ____________
a) 5 philosophers and 5 chopsticks
b) 4 philosophers and 5 chopsticks
c) 3 philosophers and 5 chopsticks
d) 6 philosophers and 5 chopsticks
View Answer
Answer: a
Explanation: None.
6. A deadlock free solution to the dining philosophers problem ____________
a) necessarily eliminates the possibility of starvation
b) does not necessarily eliminate the possibility of starvation
c) eliminates any possibility of any kind of problem further
d) none of the mentioned
View Answer
Answer: b
Explanation: None.
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
View Answer
Answer: c
Explanation: None.
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);

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
View Answer
Answer: a
Explanation: None.
advertisement

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);

Which of the following statements describes properties achieved?


a) Mutual exclusion but not progress
b) Progress but not mutual exclusion
c) Neither mutual exclusion nor progress
d) Both mutual exclusion and progress
View Answer
Answer: d
Explanation: None.

Operating System Questions and Answers – Monitors

This set of Operating System Multiple Choice Questions & Answers (MCQs) focuses on
“Monitors”.

1. A monitor is a type of ____________


a) semaphore
b) low level synchronization construct
c) high level synchronization construct
d) none of the mentioned
View Answer
Answer: c
Explanation: None.
2. A monitor is characterized by ____________
a) a set of programmer defined operators
b) an identifier
c) the number of variables in it
d) all of the mentioned
View Answer
Answer: a
Explanation: None.
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
View Answer
Answer: d
Explanation: None.
4. The monitor construct ensures that ____________
a) only one process can be active at a time within the monitor
b) n number of processes can be active at a time within the monitor (n being greater
than 1)
c) the queue has only one process in it at a time
d) all of the mentioned
View Answer
Answer: a
Explanation: None.
5. What are the operations that can be invoked on a condition variable?
a) wait & signal
b) hold & wait
c) signal & hold
d) continue & signal
View Answer
Answer: a
Explanation: None.
6. Which is the process of invoking the wait operation?
a) suspended until another process invokes the signal operation
b) waiting for another process to complete before it can itself call the signal operation
c) stopped until the next process in the queue finishes execution
d) none of the mentioned
View Answer
Answer: a
Explanation: None.
7. If no process is suspended, the signal operation ____________
a) puts the system into a deadlock state
b) suspends some default process execution
c) nothing happens
d) the output is unpredictable
View Answer
Answer: c
Explanation: None.

Operating System Questions and Answers – Atomic Transactions

This set of Operating System Multiple Choice Questions & Answers (MCQs) focuses on
“Atomic Transactions”.

1. A collection of instructions that performs a single logical function is called


____________
a) transaction
b) operation
c) function
d) all of the mentioned
View Answer
Answer: a
Explanation: None.
2. A terminated transaction that has completed its execution successfully is
____________ otherwise it is __________
a) committed, destroyed
b) aborted, destroyed
c) committed, aborted
d) none of the mentioned
View Answer
Answer: c
Explanation: None.
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
View Answer
Answer: c
Explanation: None.
4. Write ahead logging is a way ____________
a) to ensure atomicity
b) to keep data consistent
c) that records data on stable storage
d) all of the mentioned
View Answer
Answer: d
Explanation: None.
5. In the write ahead logging a _____________ is maintained.
a) a memory
b) a system
c) a disk
d) a log record
View Answer
Answer: d
Explanation: None.
6. An actual update is not allowed to a data item ____________
a) before the corresponding log record is written out to stable storage
b) after the corresponding log record is written out to stable storage
c) until the whole log record has been checked for inconsistencies
d) all of the mentioned
View Answer
Answer: a
Explanation: None.
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
View Answer
Answer: a
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
View Answer
Answer: d
Explanation: None.
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
View Answer
Answer: c
Explanation: None.
10. Serializable schedules are ones where ____________
a) concurrent execution of transactions is equivalent to the transactions executed
serially
b) the transactions can be carried out one after the other
c) a valid result occurs after execution transactions
d) none of the mentioned
View Answer
Answer: a
Explanation: None.
11. A locking protocol is one that ____________
a) governs how locks are acquired
b) governs how locks are released
c) governs how locks are acquired and released
d) none of the mentioned
View Answer
Answer: c
Explanation: None.
12. The two phase locking protocol consists of ____________
a) growing & shrinking phase
b) shrinking & creation phase
c) creation & growing phase
d) destruction & creation phase
View Answer
Answer: a
Explanation: None.
advertisement

13. The growing phase is a phase in which?


a) A transaction may obtain locks, but does not release any
b) A transaction may obtain locks, and releases a few or all of them
c) A transaction may release locks, but does not obtain any new locks
d) A transaction may release locks, and does obtain new locks
View Answer
Answer: a
Explanation: None.
14. The shrinking phase is a phase in which?
a) A transaction may obtain locks, but does not release any
b) A transaction may obtain locks, and releases a few or all of them
c) A transaction may release locks, but does not obtain any new locks
d) A transaction may release locks, and does obtain new locks
View Answer
Answer: c
Explanation: None.
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
View Answer
Answer: b
Explanation: None.

You might also like