Study Questions; these are not comprehensive and they will not be on the exam. these are intended for you to judge by yourself whether you know these subjects. 1) Draw a process flow graph that can be described by fork, join, and quit primitives, but not by cobegin/coend. 2) Assume a simple processor architecture (i.e., a set of registers and a few useful machine instructions) of your choosing. Using the architecture, implement the following kernel routines: fork,quit join block,unblock suspend,activate context switch (timer interrupt service routine) 3) Make up a collection of process requests, where each request consists of an arrival time, and the amount of computation time required for the process. Compute the response time of the processes in your collection under various scheduling heuristics (e.g., SJF, Round-Robin). Determine also the total response time for the collection of processes. (Be sure to consider both the preemptive and non-preemptive versions of the scheduling heuristics.) Which heuristic seems to work best for your collection of requests? How did you define "best"? Can you come up with a different collection of requests that makes one of the other heuristics perform better? 4) Implement a 10-level priority queue. Define data structures, and write routines to insert a process in the queue, to delete (an arbitrary) process from the queue, and to delete the highest priority process from the queue. 5) If you were designing an operating system, what scheduling heuristic would you use? If you were making up your own heuristic, what kind of information about the processes would you like to have? If you were a user of your system, what kinds of information about your processes would be easy (convenient) to supply to the scheduler? 6) Describe what happens when a machine is "booted", i.e., how does an operating system get started when power is turned on to a machine? 7) The status of a process (e.g., running, ready, blocked) describes its "schedulability". Describe events which can cause a kernel to switch a process to switch from one status to another.