Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

An IO-bound process is one that, if run alone, would spend more time waiting for

ID: 3721037 • Letter: A

Question

An IO-bound process is one that, if run alone, would spend more time waiting for L'O operations than using the processor. A processor-bound process is the opposite. Q1: Given the two groups of processes, some for IO-bound and others for process-bound, which group of the processes should be given a higher priority than the other group by a short-term scheduler to maximize the (process execution) throughput? (2 points) Q2: Justify your choice. (8 points) Note: Your solution will be graded based on how well you justify your choice. Selecting the correct choice (TO-bound or processor-bound process) account for only 5 points and the rest of 10 points come from your justification. The grading your justification will focus on the idea(s) you emphasize and clarity in your explanation (i.e., nothing wrong" in your explanation will not earn much credit without adequate emphasis on the correct idea(s) and clarity in your reasoning).

Explanation / Answer

It is generally more efficient to give higher priority to I/O bound processes.

There are mainly two aspects of the effect of this prioritising: the efficiency of the human-computer interation and the processor throughput.

Human-computer interation

An I/O bound process is slower than a processor bound process because it takes longer for I/O operations from the I/O devices to complete. So it is better to have it start earlier so that the perceived time delay for the user can be reduced. If a user is working on a computer, performing some I/O operations and the processor bound operations have a higher priority, the I/O operations will seem to take longer as the computer will be even slower to respond to user inputs. For instance, after a user input, the scheduler will keep the I/O process that the user is working on, on hold while the processor is working on a processor bound task. Once this task is completed, the user's I/O bound task is executed. And as an I/O bound task is generally slower, it will increase the waiting time for the user and the program is seem to be unresponsive or slow to respond. However, if I/O operations have a higher priority the I/O operations will start off earlier, reducing the waiting time for the user.

Processor Throughput

Human interaction is not the only thing affected by this prioritising. If a processor bound task is scheduled earlier, it will complete processing that task and then start with the I/O bound task. This will lead to the processor being idle as it waits for I/O operations to complete.

As the processor waits for I/O operations to complete, it is actually freed to perform other tasks. So, if I/O bound processes have higher priority, the scheduler can assign some processor bound tasks to the processor as it is waiting for I/O operations of the I/O bound task to complete. Therefore, giving I/O bound processes higher priority will increase the processor throughput as it greatly reduces the idle time of the processor.