Always, on every assignment, please write your name legibly as it appears on your University ID and on the class list!
This thread manager includes a very rudimentary deadlock detection scheme.
Part A: What deadlock model applies to applications written to run under the example thread manager?
Part B: Would it be practical to add a general purpose deadlock detection mechanism to the example thread manager, so that it would detect and report (with an error message) all deadlocked applications running under the thread manager. If so, explain what detection algorithm you would use. If not, explain why.
Fortunately, the CPU did put out some useful signals with every address. The MMU could determine if an address was an operand address, the address of the first byte of an instruction, or the address of some later byte. Assume you were the chief operating system programmer in charge of writing the page fault handler on this early HP workstation.
Part A: What data would you ask the MMU designers to collect whenever there is a page-fault in order to allow you to reconstruct the CPU state prior to the fault? Remember, you can't change the CPU, but you can assume that MMU has yet to be designed!
Part B: How would you use this data?