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. Define the terms “race condition”, “deadlock”, and “starvation” as they relate to Operating System design and outline the relationship between deadlock and starvation.
(4 marks) Question 3. 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.
(6 marks) Question 4. 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 your answer.
(5 marks) Question 5. Describe a mechanism by which counting semaphores could be implemented using the minimal number of binary semaphores and ordinary machine instructions. Include C code snippets if you feel this will make your answer clearer and/or more concise.