Saturday, November 24, 2007

IS215 - Processor Management Exercises - 1

Making use of the decryption routine before, I took the exercises contents in the single processor PDF for a ride. However it turned out that the text in text areas don't render pasted text from the clipboard properly especially for non-alphanumeric characters. If I end up having free time soon, I'll try and refine the functionality further. Right now, I need to sleep already.

Anyway, here are the exercises for the processor management chapter after a few tweaks from the resulting text:


1. Providing good response time at a terminal might introduce large overheads that in effect will reduce the overall CPU utilization. Explain what are these overheads that will reduce CPU utilization.

2. When we view all the processes in the system, we can see that a state transition by one process could cause another process to make a state transition. Under what circumstances, if any, could the following cause-and-effect transitions occur?

a) block -> dispatch
b) preempt -> dispatch
c) block -> preempt
d) wake-up -> dispatch

3. Under what circumstances, if any, would the following transitions cause no other immediate transitions:

a) dispatch
b) preempt
c) block
d) wake-up

4. Differentiate preemptive from non-preemptive scheduling in terms of when to change the program currently in control of the CPU.

Answer

Preemptive scheduling refers to a scheduling strategy where "the CPU is suspended when a higher priority process is in the ready queue" while non-preemptive scheduling refers to a scheduling strategy where "even if a higher priority process is ready, the running process is allowed to continue until either it is blocked or completes its execution."

5. When no process is ready to take control of the CPU, we need to have something to keep the CPU busy. Why?

6. State the effect of

a) time slicing; and
b) increasing the time for one interaction

on the response time of a process.


7. What is the purpose of a dispatcher in an operating system? Illustrate your answer by showing the sequence of events and dispatcher actions that occur when a process enters the run state from the ready state.

8. Differentiate high-level scheduling of jobs and low-level scheduling of processes.

Answer

High-level scheduling of jobs refers to swapping processes in and out of memory. Issues concerning high-level scheduling include deciding if another process can still run, whether the process table is full, whether the user process limit has been reached and whether to load to swap space or memory. Low-level scheduling on the other hand refers to deciding which process in memory should get CPU time next.

9. The scoring system in high-level scheduling usually "age". Why is there a need to "aged" the scores?

10. Short-term scheduling can either be preemptive or non-preemptive. Differentiate these two methods of short-term scheduling.

No comments: