T4Tutorials .PK

Synchronization Tools – MCQs

Q#1: Process synchronization is required when:
(A) Multiple processes access shared resources concurrently
(B) Processes run independently
(C) CPU executes only one process
(D) Only memory is allocated
Answer: (A) Multiple processes access shared resources concurrently

Q#2: Critical section is:
(A) Part of the code where shared resources are accessed
(B) Only memory region
(C) Only CPU registers
(D) Only disk area
Answer: (A) Part of the code where shared resources are accessed

Q#3: Mutual exclusion ensures:
(A) Only one process enters critical section at a time
(B) Multiple processes enter simultaneously
(C) CPU executes faster
(D) Only memory allocation
Answer: (A) Only one process enters critical section at a time

Q#4: Necessary conditions for critical section problem:
(A) Mutual exclusion, progress, bounded waiting
(B) Only mutual exclusion
(C) Only CPU scheduling
(D) Only memory allocation
Answer: (A) Mutual exclusion, progress, bounded waiting

Q#5: Semaphores are:
(A) Synchronization tools to control access to shared resources
(B) Only CPU registers
(C) Only memory blocks
(D) Only files
Answer: (A) Synchronization tools to control access to shared resources

Q#6: Binary semaphore is also called:
(A) Mutex
(B) Counting semaphore
(C) Spinlock
(D) Thread
Answer: (A) Mutex

Q#7: Counting semaphore allows:
(A) Multiple processes to access a resource concurrently
(B) Only one process
(C) Only CPU-bound processes
(D) Only I/O-bound processes
Answer: (A) Multiple processes to access a resource concurrently

Q#8: Semaphore operations include:
(A) wait() and signal()
(B) create() and delete()
(C) read() and write()
(D) push() and pop()
Answer: (A) wait() and signal()

Q#9: Busy waiting occurs when:
(A) Process continuously checks a condition in a loop
(B) Process sleeps
(C) Only CPU idle
(D) Only I/O occurs
Answer: (A) Process continuously checks a condition in a loop

Q#10: Spinlock is used:
(A) To implement busy waiting locks
(B) Only memory allocation
(C) Only CPU scheduling
(D) Only file access
Answer: (A) To implement busy waiting locks

Q#11: Deadlock occurs when:
(A) Processes wait indefinitely for resources held by each other
(B) CPU idle
(C) Memory full
(D) Disk failure
Answer: (A) Processes wait indefinitely for resources held by each other

Q#12: Necessary conditions for deadlock:
(A) Mutual exclusion, hold and wait, no preemption, circular wait
(B) Only mutual exclusion
(C) Only CPU scheduling
(D) Only memory allocation
Answer: (A) Mutual exclusion, hold and wait, no preemption, circular wait

Q#13: Deadlock prevention involves:
(A) Eliminating one of the necessary conditions for deadlock
(B) Only CPU reset
(C) Only memory deallocation
(D) Only disk management
Answer: (A) Eliminating one of the necessary conditions for deadlock

Q#14: Deadlock avoidance uses:
(A) Resource allocation strategies like Banker’s Algorithm
(B) Only CPU scheduling
(C) Only memory allocation
(D) Only file management
Answer: (A) Resource allocation strategies like Banker’s Algorithm

Q#15: Deadlock detection involves:
(A) OS detects circular wait and recovers
(B) Only memory allocation
(C) Only CPU scheduling
(D) Only file handling
Answer: (A) OS detects circular wait and recovers

Q#16: Race condition occurs when:
(A) Multiple processes access shared data concurrently causing unexpected results
(B) Only CPU idle
(C) Memory full
(D) Disk error
Answer: (A) Multiple processes access shared data concurrently causing unexpected results

Q#17: Critical section problem solutions require:
(A) Mutual exclusion, progress, bounded waiting
(B) Only CPU scheduling
(C) Only memory management
(D) Only disk I/O
Answer: (A) Mutual exclusion, progress, bounded waiting

Q#18: Mutex locks are:
(A) Binary semaphores for mutual exclusion
(B) Counting semaphores
(C) Spinlocks
(D) Threads
Answer: (A) Binary semaphores for mutual exclusion

Q#19: Monitors are:
(A) High-level synchronization constructs combining mutexes and condition variables
(B) Only memory blocks
(C) Only CPU registers
(D) Only files
Answer: (A) High-level synchronization constructs combining mutexes and condition variables

Q#20: Condition variables in monitors:
(A) Allow processes to wait for specific conditions
(B) Only CPU scheduling
(C) Only memory allocation
(D) Only disk operations
Answer: (A) Allow processes to wait for specific conditions

Q#21: Semaphore implementation can be:
(A) Binary or counting
(B) Only binary
(C) Only counting
(D) Only threads
Answer: (A) Binary or counting

Q#22: Mutex ensures:
(A) Only one thread accesses critical section at a time
(B) Multiple threads access simultaneously
(C) Only CPU scheduling
(D) Only memory allocation
Answer: (A) Only one thread accesses critical section at a time

Q#23: Semaphore can be used for:
(A) Mutual exclusion and process synchronization
(B) Only CPU scheduling
(C) Only memory allocation
(D) Only file handling
Answer: (A) Mutual exclusion and process synchronization

Q#24: Spinlock is suitable for:
(A) Short critical sections on multiprocessor systems
(B) Long critical sections
(C) Only memory operations
(D) Only CPU operations
Answer: (A) Short critical sections on multiprocessor systems

Q#25: Busy waiting wastes:
(A) CPU cycles
(B) Memory
(C) Disk usage
(D) Only I/O bandwidth
Answer: (A) CPU cycles

Q#26: Starvation occurs when:
(A) Low-priority processes never get access to critical resources
(B) High-priority processes terminate
(C) CPU idle
(D) Disk full
Answer: (A) Low-priority processes never get access to critical resources

Q#27: Aging prevents starvation by:
(A) Gradually increasing priority of waiting processes
(B) Decreasing priority
(C) Terminating processes
(D) Only CPU reset
Answer: (A) Gradually increasing priority of waiting processes

Q#28: Semaphore wait() operation is also called:
(A) P (proberen/test) operation
(B) V operation
(C) Lock
(D) Unlock
Answer: (A) P (proberen/test) operation

Q#29: Semaphore signal() operation is also called:
(A) V (verhogen/increment) operation
(B) P operation
(C) Lock
(D) Unlock
Answer: (A) V (verhogen/increment) operation

Q#30: Semaphores prevent:
(A) Race conditions and ensure synchronization
(B) Only CPU idle
(C) Only memory errors
(D) Only disk failures
Answer: (A) Race conditions and ensure synchronization

Q#31: Binary semaphore can take values:
(A) 0 or 1
(B) 1 or 2
(C) Any positive number
(D) Only CPU registers
Answer: (A) 0 or 1

Q#32: Counting semaphore can take values:
(A) Non-negative integers
(B) Only 0 or 1
(C) Only 0
(D) Only CPU registers
Answer: (A) Non-negative integers

Q#33: Mutex is:
(A) Lock that allows only one thread to access shared resource
(B) Multiple access mechanism
(C) CPU scheduler
(D) Disk manager
Answer: (A) Lock that allows only one thread to access shared resource

Q#34: Monitor ensures:
(A) Only one thread executes a procedure at a time
(B) Multiple threads execute simultaneously
(C) CPU idle
(D) Memory idle
Answer: (A) Only one thread executes a procedure at a time

Q#35: Semaphore can be used for:
(A) Both mutual exclusion and signaling
(B) Only mutual exclusion
(C) Only signaling
(D) Only CPU scheduling
Answer: (A) Both mutual exclusion and signaling

Q#36: Critical section can be protected using:
(A) Mutex, semaphore, monitor
(B) Only CPU
(C) Only memory
(D) Only disk
Answer: (A) Mutex, semaphore, monitor

Q#37: Spinlock is efficient if:
(A) Wait time is very short
(B) Wait time is long
(C) CPU idle
(D) Disk full
Answer: (A) Wait time is very short

Q#38: Race condition can cause:
(A) Inconsistent or incorrect results
(B) Only CPU halt
(C) Only memory overflow
(D) Only disk failure
Answer: (A) Inconsistent or incorrect results

Q#39: Thread safety ensures:
(A) Correct operation when multiple threads access shared resources
(B) Only CPU scheduling
(C) Only memory allocation
(D) Only file handling
Answer: (A) Correct operation when multiple threads access shared resources

Q#40: Reentrant functions are:
(A) Safe to call by multiple threads simultaneously
(B) Only memory-bound
(C) Only CPU-bound
(D) Only I/O-bound
Answer: (A) Safe to call by multiple threads simultaneously

Q#41: Deadlock prevention techniques include:
(A) Eliminating one of the necessary conditions for deadlock
(B) Ignoring priorities
(C) Only CPU reset
(D) Only memory allocation
Answer: (A) Eliminating one of the necessary conditions for deadlock

Q#42: Deadlock avoidance uses:
(A) Banker’s algorithm
(B) Only FCFS
(C) Only round-robin
(D) Only SJF
Answer: (A) Banker’s algorithm

Q#43: Deadlock detection involves:
(A) Detecting circular wait and recovering resources
(B) Ignoring low-priority processes
(C) Only memory allocation
(D) Only CPU scheduling
Answer: (A) Detecting circular wait and recovering resources

Q#44: Semaphore can cause:
(A) Deadlock if not used carefully
(B) Only CPU utilization
(C) Only memory allocation
(D) Only disk operations
Answer: (A) Deadlock if not used carefully

Q#45: Mutex provides:
(A) Binary locking mechanism
(B) Counting mechanism
(C) Only CPU scheduling
(D) Only memory allocation
Answer: (A) Binary locking mechanism

Q#46: Monitor combines:
(A) Mutual exclusion and condition variables
(B) Only mutex
(C) Only semaphore
(D) Only CPU scheduling
Answer: (A) Mutual exclusion and condition variables

Q#47: Counting semaphore initial value represents:
(A) Number of available resources
(B) CPU cycles
(C) Memory blocks
(D) Disk sectors
Answer: (A) Number of available resources

Q#48: Semaphore operations are:
(A) Atomic to prevent race conditions
(B) Non-atomic
(C) Only CPU-bound
(D) Only memory-bound
Answer: (A) Atomic to prevent race conditions

Q#49: Monitors simplify:
(A) Synchronization and mutual exclusion management
(B) Only CPU scheduling
(C) Only memory allocation
(D) Only disk I/O
Answer: (A) Synchronization and mutual exclusion management

Q#50: Overall purpose of synchronization tools:
(A) Ensure correct and safe execution of concurrent processes
(B) Only CPU optimization
(C) Only memory efficiency
(D) Only disk management
Answer: (A) Ensure correct and safe execution of concurrent processes

Exit mobile version