1. Define the terms (a) process, and (b) thread. (What is the difference between them?) 2. A CPU scheduling algorithm determines an order for the execution of its processes. Given n processes to be scheduled on a single-core processor, how many possible different schedules are there? 3. Define the different levels of process scheduling, (a) short-term, (b) medium-term, and (c) long-term. (What is the difference between them?) 4. Describe how the following scheduling algorithms work and their advantages and disadvantages: (a) first-come first-served (FCFS), (b) shortest-job-first (SJF), (c) priority, (d) round-robin (RR), (e) multi-level queue (MLQ), and (f) multi-level feedback queue (MLFQ), Network interface Output buffer Input buffer Network interface 1 (3)Figure 1: A general depiction of a router or switch with five network interfaces and the data flowing from bottom to top. 5. Given this variant of the Round Robin scheduling algorithm, where the entries in the ready queue are pointers to the PCBs, what would be the effect of putting two pointers to the same PCB in the ready queue? 6. Consider a short-term scheduling algorithm which favours processes that have used the least processor time in the recent past. Why will this algorithm favour I/O-bound processes and yet not starve CPU-bound processes? 7. Describe the different ways of implementing threads, e.g. user threads and kernel threads. (What is the difference between them, what advantages and disadvantages are there with the different methods?) 8. State and explain the requirements of the critical-section problem. 9. Describe the problems which need to be handled for multi-processor and multi-core processor systems. 10. State and explain the requirements for a deadlock to occur. 11. Consider a system of four resources, all of the same type, that are shared by three processes, each of which needs at most two of the resources. Show that the system cannot enter a deadlock. 12. The problem presented here is an adaption of the sleeping barber problem and the producer consumer problem, we can call it the sleeping-router problem. The problem is simplified in that traffic only flows in one direction. There are four network interfaces to which data arrive from different networks,there is also one interface through which all data eventually leaves. See Figure 1. Each interface and the box in the middle may have a small buffer keeping only a few packets. The problem is to guarantee the system is synchronized, without starvation, and that no deadlocks can occur. Describe what buffers, locks, etc. Which are needed to make this work. 3 Examination