Unit3 - Subjective Questions

CSE316 • Practice Questions with Detailed Answers

1

Define the Critical Section Problem. What are the three primary requirements that a solution to the critical section problem must satisfy?

2

Distinguish between Co-operating Processes and Independent Processes. List two benefits of allowing process co-operation.

3

Explain the concept of Semaphores. Differentiate between Binary Semaphores and Counting Semaphores.

4

Describe Peterson's Solution for the critical section problem for two processes. Provide the algorithmic structure.

5

Explain the Producer-Consumer Problem. Provide a solution using Semaphores for a bounded buffer.

6

What is a Race Condition? Explain with a suitable example involving a shared variable.

7

Explain the Dining Philosophers Problem. Why is it considered a classic synchronization problem?

8

Describe the Readers-Writers Problem. Provide the structure of the solution that gives priority to Readers.

9

What is a Monitor in process synchronization? How does it differ from a Semaphore?

10

Explain the TestAndSet hardware instruction. How can it be used to implement mutual exclusion?

11

Differentiate between a Process and a Thread. Why are threads often called lightweight processes?

12

Compare User-Level Threads and Kernel-Level Threads with respect to management and performance.

13

Describe the three common Multithreading Models used to map user threads to kernel threads.

14

What are Scheduler Activations? Explain their role in thread management.

15

What is a Precedence Graph? How is it used to represent the execution relationships between concurrent processes?

16

Using the concept of Condition Variables within a Monitor, explain the x.wait() and x.signal() operations.

17

Explain the Dining Philosophers solution using Monitors. How does it prevent deadlock?

18

Implementation of Semaphores often leads to Busy Waiting. How can this be resolved? Provide the structure of a semaphore with a waiting queue.

19

What are the primary benefits of Multithreading in application development?

20

Describe the Swap() hardware instruction and how it facilitates process synchronization.