(6 Marks) Question 1. Briefly outline the role of the Process Control Block (PCB), listing and
describing three pieces of information an Operating System might choose to store in the PCB.
(4 marks) Question 2. If we assume that when processes are interrupted they are placed in a
queue containing all non-running processes not waiting for an I/O operation to complete, briefly
describe two strategies the Operating System might adopt to service that queue. One-word answers
will not suffice.
(5 marks) Question 3. Outline a mechanism by which counting semaphores could be implemented
using the minimal number of binary semaphores and ordinary machine instructions. Include C or
pseudo code snippets if you feel this will make your answer clearer and/or more concise.
(4 marks) Question 4. Define the terms “race condition”, “deadlock”, and “starvation” as they relate
to Operating System design and outline the relationship between deadlock and starvation.
(6 marks) Question 5. Can the “priority inversion” problem outlined in section (3) of the background
information to Lab 2 occur if user-level threads are used instead of kernel-level threads? Explain