OS Revision Questions

Operating Systems Revision Questions

1. What is a semaphore? Explain how semaphores could be used to prevent several processes simultaneously using a non-shareable device, such as a printer.

2a. Explain the different types of interrupt that can be supported by an OS.
b. What is a CPU-bound process, and what effect can it have in an interactive, multiprogramming environment?
c. What is the only type of interrupt that can guarantee that CPU-bound processes do not display the undesirable behaviour described above, and why?

3. Describe Round-Robin scheduling and one other scheduling algorithm that ensures good terminal response times in an interactive multi-user environment. If one algorithm has distinct advantages over the other, explain what these are.

4. Explain Dijkstra's Banker's Algorithm. What is it trying to achieve? What are the disadvantages of the algorithm?

5. Describe a Paged Memory Management System which uses the Associative Mapping Dynamic Address Translation method. Take care to explain the terms that you use.

6a. Briefly explain why placement, replacement, and fetch policies are required in a Memory Management system.
b. Describe two (2) replacement strategies for paged systems.

7a. Explain how buffering can help improve process execution times.
b. What are the limitations of buffering when used with non-shareable devices?
c. How can spooling overcome these limitations?

8. What is deadlock? Explain the four necessary and sufficient conditions for deadlock?

9. "In the interests of simplicity and freedom from error it is desirable to handle all [Input/Output] devices in a uniform manner" (Lister & Eager, (1988). Fundamentals of Operating Systems. Fourth Edition. pg 74). Discuss.