Unit 3: Process Synchronization and Threads - Practice Quiz

CSE316 — Operating Systems 50 Questions
0 Correct 0 Wrong 50 Left
0/50

1 What is a 'Race Condition' in Operating Systems?

A. A condition where the operating system runs faster than the hardware
B. A situation where processes compete for the CPU scheduler
C. A condition where a process races to finish before the time quantum expires
D. A situation where several processes access and manipulate the same data concurrently and the outcome depends on the order of execution

2 Which of the following is NOT a requirement for a solution to the Critical Section Problem?

A. Bounded Waiting
B. processor Speed
C. Progress
D. Mutual Exclusion

3 What does 'Mutual Exclusion' imply in the context of the Critical Section Problem?

A. All processes must execute their critical sections simultaneously
B. If a process is executing in its critical section, then no other processes can be executing in their critical sections
C. Processes must share the same memory address space
D. The operating system excludes processes from using the CPU

4 What is a Semaphore?

A. A protected integer variable that can only be accessed via two atomic operations
B. A hardware instruction
C. A specialized CPU register
D. A queue of processes waiting for I/O

5 In a Semaphore, what does the 'wait' (or P) operation do?

A. Sets the semaphore value to zero
B. Increments the semaphore value
C. Reads the semaphore value without changing it
D. Decrements the semaphore value

6 What is the main disadvantage of a Spinlock?

A. It causes context switching
B. It is difficult to implement
C. It requires busy waiting, wasting CPU cycles
D. It cannot handle multiple processes

7 A binary semaphore is also known as a:

A. Spinlock
B. Mutex lock
C. Monitor
D. Counting semaphore

8 Which hardware instruction is commonly used to implement mutual exclusion?

A. JumpAndLink
B. TestAndSet
C. PushAndPop
D. LoadAndStore

9 What is the 'Bounded Waiting' requirement?

A. There exists a bound on the number of times other processes are allowed to enter their critical sections after a process has made a request to enter its critical section
B. The critical section size must be bounded
C. Processes must wait in a queue indefinitely
D. A process must wait for a fixed amount of time

10 In the Producer-Consumer problem using a bounded buffer, when does the Producer wait?

A. When the Consumer is sleeping
B. When the mutex is unlocked
C. When the buffer is empty
D. When the buffer is full

11 Which of the following is a high-level synchronization construct that ensures mutual exclusion automatically?

A. Spinlock
B. Semaphore
C. Peterson's Solution
D. Monitor

12 In the Dining Philosophers problem, deadlock occurs if:

A. One philosopher picks up both chopsticks
B. Philosophers eat sequentially
C. The philosophers do not speak to each other
D. All philosophers pick up their left chopstick simultaneously

13 What is Peterson's Solution used for?

A. Managing memory fragmentation
B. Solving the Critical Section problem for two processes
C. Scheduling threads
D. Handling hardware interrupts

14 In Peterson's solution, which variables are shared between processes?

A. semaphore and mutex
B. turn and flag
C. lock and key
D. start and finish

15 What problem is the Readers-Writers problem primarily concerned with?

A. Ensuring exclusive access for writers while allowing multiple concurrent readers
B. Allowing multiple writers to write simultaneously
C. Synchronizing two writers only
D. Preventing readers from reading shared data

16 What happens to threads that call 'wait' on a Condition Variable in a Monitor?

A. They enter a busy-wait loop
B. They continue executing
C. They are terminated
D. They are suspended and placed in a waiting queue

17 Which of the following is NOT shared by threads of the same process?

A. Open files
B. Code section
C. Program Counter and Stack
D. Global variables

18 What is a Heavyweight Process compared to a Thread?

A. A thread with a large stack
B. A kernel-level thread
C. A process with a single thread of control
D. A process with no memory

19 Which multithreading model maps many user-level threads to a single kernel thread?

A. One-to-One Model
B. Many-to-One Model
C. Many-to-Many Model
D. Two-Level Model

20 What is a limitation of the Many-to-One multithreading model?

A. It does not support user-level threads
B. The entire process blocks if one thread makes a blocking system call
C. It consumes too many kernel resources
D. It is too complex to implement

21 Which multithreading model provides more concurrency than Many-to-One but doesn't require a kernel thread for every user thread?

A. Single Thread Model
B. One-to-One Model
C. Many-to-Many Model
D. Independent Model

22 What is 'Scheduler Activation'?

A. A hardware interrupt that starts the scheduler
B. The process of activating the CPU clock
C. A signal to kill a process
D. A mechanism for communication between the user-thread library and the kernel

23 Which standard defines the API for thread creation and synchronization (Pthreads)?

A. Win32
B. POSIX
C. Java
D. ANSI

24 What is the function of pthread_join()?

A. Creates a new thread
B. Unlocks a mutex
C. Waits for a specific thread to terminate
D. Terminates a thread

25 A Precedence Graph is a directed acyclic graph used to:

A. Describe the execution dependencies among concurrent processes
B. Visualize the memory usage of a process
C. Map virtual memory to physical memory
D. Show the hierarchy of file systems

26 What defines 'Co-operating Processes'?

A. Processes that do not share data
B. Processes running on different computers
C. Processes that can affect or be affected by other executing processes
D. Processes that are completely independent

27 In the context of process hierarchy, what system call is typically used in Unix/Linux to create a new process?

A. fork()
B. create()
C. spawn()
D. new()

28 If a Semaphore S has a value of 10, and 5 P (wait) operations and 3 V (signal) operations are performed, what is the final value of S?

A. 12
B. 8
C. 10
D. 2

29 What is the 'Bakery Algorithm' designed to solve?

A. Memory allocation
B. Deadlock recovery
C. The Producer-Consumer problem
D. The Critical Section problem for N processes

30 Which of the following is true regarding User-Level Threads (ULT)?

A. They require hardware support
B. Context switching is faster than Kernel-Level Threads
C. The kernel is aware of all ULTs
D. They cannot run on any OS

31 In the One-to-One multithreading model, what is the main drawback?

A. It is not standard
B. It does not support multiprocessors
C. It blocks the whole process on I/O
D. Creating a user thread requires creating a corresponding kernel thread, which creates overhead

32 What is an 'Upcall' in the context of Scheduler Activations?

A. increasing the priority of a thread
B. Uploading data to the cloud
C. A notification from the kernel to the thread library
D. A call from a user thread to the kernel

33 Which synchronization primitive is typically used to solve the Reader-Writer problem to prevent writer starvation?

A. TestAndSet
B. Disable Interrupts
C. Spinlocks
D. Semaphores with a priority queue

34 What is 'Priority Inversion'?

A. Inverting the bits of the semaphore
B. The scheduler runs processes in reverse order
C. A lower priority process holds a lock needed by a higher priority process
D. Assigning priority 0 to the most important process

35 How does the 'Swap' hardware instruction assist in synchronization?

A. It moves a process to swap space
B. It switches between user and kernel mode
C. It changes the process ID
D. It swaps the content of two memory words atomically

36 In a Monitor, if process P executes x.signal() and process Q was waiting on x, and Q immediately executes while P waits, this strategy is called:

A. Signal and Wait (Hoare semantics)
B. Broadcast
C. Signal and Continue (Mesa semantics)
D. Busy Waiting

37 Which component allows a thread to have its own copy of data?

A. Shared Memory
B. TLS (Thread Local Storage)
C. Global Heap
D. Semaphore

38 The problem where a producer tries to put an item into a full buffer is handled by:

A. Putting the producer to sleep
B. Killing the consumer
C. Discarding the item
D. Overwriting the oldest item

39 Why is disabling interrupts not a viable solution for mutual exclusion in multiprocessor systems?

A. It is too slow
B. It only disables interrupts on one processor, not all
C. It causes the OS to crash
D. It requires too much power

40 What is 'Busy Waiting'?

A. A process repeatedly checking a condition until it becomes true
B. A process waiting for I/O
C. The CPU executing a NOP instruction
D. A process waiting in a queue

41 Which of the following is a valid state for a Java thread?

A. WAITING
B. RUNNING
C. BLOCKED
D. All of the above

42 In the context of threads, what is 'cancellation'?

A. Deleting the thread library
B. Stopping the CPU
C. Terminating a thread before it has completed
D. Removing a semaphore

43 Deferred cancellation of a thread means:

A. The thread is cancelled after 1 minute
B. The thread cancels the parent process
C. The thread is cancelled immediately
D. The thread checks periodically if it should terminate

44 A solution to the Dining Philosophers problem using a monitor restricts a philosopher to pick up chopsticks only if:

A. The right neighbor is eating
B. They have a ticket
C. Both neighbors are not eating
D. The left neighbor is eating

45 Which type of semaphore can take any non-negative integer value?

A. Mutex
B. Spinlock
C. Counting Semaphore
D. Binary Semaphore

46 What defines a 'Thread Safe' function?

A. It can be called from multiple threads simultaneously without producing incorrect results
B. It creates a new thread
C. It uses no memory
D. It runs very fast

47 In the 'Sleeping Barber' problem (a variation of producer-consumer), what happens if the customer arrives and the waiting room is full?

A. The customer waits outside
B. The barber cuts two heads at once
C. The customer wakes the barber
D. The customer leaves

48 What is the benefit of the 'Grand Central Dispatch' (GCD) technology in macOS/iOS?

A. It replaces the kernel
B. It manages thread pools and scheduling automatically
C. It creates infinite threads
D. It increases clock speed

49 Concurrency vs Parallelism: Which statement is true?

A. Concurrency requires multiple processors
B. Parallelism is software only
C. They are exactly the same
D. Parallelism requires multiple processors/cores, Concurrency does not

50 What is the primary purpose of a Condition Variable?

A. To allow threads to wait for a specific condition to become true
B. To increment a counter
C. To store the process ID
D. To lock a file