第六章作业
6.2
题目:Explain the difference between preemptive and non-preemptive scheduling.
回答:
- 在抢占式调度中,CPU在有限时间内被分配给进程。
在非抢占式调度中,CPU被分配给进程,直到它终止或切换到等待状态。
- 抢占式调度中的执行过程在执行时被中断
而非抢占式调度中的执行过程在执行时不会中断。(在调度过程中)
- 抢先式调度具有将进程从就绪状态切换到运行状态以及维护就绪队列的开销。
非抢占式调度没有将进程从运行状态切换到就绪状态的开销。
- 在抢占式调度中,如果具有高优先级的进程经常在就绪队列,那么具有低优先级的进程必须等待很长时间,并且可能饥饿。
在非抢占式调度中,如果CPU被分配给具有较大突发时间的进程,那么具有小突发时间的进程可能会饥饿。
- 抢先式调度非常灵活,因为无论当前正在执行什么进程,关键进程都可以在CPU到达就绪队列时访问它们。
非抢占式调度是严格的,因为即使关键进程进入就绪队列,运行CPU的进程也不会受到干扰。
6.3
题目:Suppose that the following processes arrive for execution at the times indicated. Each process will run for the amount of time listed. In answering the questions, use non-preemptive scheduling, and base all decisions on the information you have at the time the decision must be made.
回答:
从进程提出请求到首次回应的时间为中转时间。
- FCFS:((0 + 8) + (