假设 4 个作业到达系统的时刻和运行时间如下表所示。 系统在 t=2 时开始作业调度。若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是()。 A J2,J3 B J1,J4 C J2,J4 D J1, J3
时间: 2023-12-06 10:43:47 浏览: 107
根据先来先服务调度算法,先到达系统的作业先执行,因此按照到达时间的顺序来执行作业,选中的作业顺序为 J1、J2、J3、J4。所以选项 B 正确。
根据短作业优先调度算法,每次选择预计运行时间最短的作业先执行。在 t=2 时,系统中有两个作业可选,分别是 J1 和 J2。根据预计运行时间,J1 的运行时间更短,因此先执行 J1,然后依次执行 J3、J4、J2。所以选项 D 正确。
相关问题
在一个单道批处理系统中,一组作业的提交时刻和运行时间如下表所示,试编程分别计算先来先服务作业调度算法和短作业优先调度算法的平均周转时间。
假设在单道批处理系统中,作业的提交时刻和运行时间如下表所示:
| 作业编号 | 提交时刻 | 运行时间 |
| :-----: | :-----: | :-----: |
| J1 | 0 | 8 |
| J2 | 0 | 4 |
| J3 | 2 | 5 |
| J4 | 3 | 3 |
| J5 | 5 | 2 |
其中,提交时刻和运行时间都以时间片为单位。
首先,我们来计算先来先服务作业调度算法的平均周转时间。
先来先服务作业调度算法的思路是,按照作业提交的先后顺序进行调度,即先提交的作业先执行,后提交的作业等待前面的作业完成后才能执行。
假设当前时间为0,按照先来先服务作业调度算法的执行顺序如下:
| 当前时间 | 执行作业 | 完成时间 |
| :-----: | :-----: | :-----: |
| 0 | J1 | 8 |
| 8 | J2 | 12 |
| 12 | J3 | 17 |
| 17 | J4 | 20 |
| 20 | J5 | 22 |
计算每个作业的周转时间和平均周转时间:
| 作业编号 | 提交时刻 | 运行时间 | 完成时间 | 周转时间 |
| :-----: | :-----: | :-----: | :-----: | :-----: |
| J1 | 0 | 8 | 8 | 8 |
| J2 | 0 | 4 | 12 | 12 |
| J3 | 2 | 5 | 17 | 15 |
| J4 | 3 | 3 | 20 | 17 |
| J5 | 5 | 2 | 22 | 17 |
| 平均值 | | | | 13.8 |
因此,先来先服务作业调度算法的平均周转时间为13.8个时间片。
接下来,我们来计算短作业优先调度算法的平均周转时间。
短作业优先调度算法的思路是,每次选择运行时间最短的作业进行执行,如果有多个作业运行时间相同,则按照作业提交的先后顺序进行调度。
假设当前时间为0,按照短作业优先调度算法的执行顺序如下:
| 当前时间 | 执行作业 | 完成时间 |
| :-----: | :-----: | :-----: |
| 0 | J2 | 4 |
| 4 | J3 | 9 |
| 9 | J4 | 12 |
| 12 | J5 | 14 |
| 14 | J1 | 22 |
计算每个作业的周转时间和平均周转时间:
| 作业编号 | 提交时刻 | 运行时间 | 完成时间 | 周转时间 |
| :-----: | :-----: | :-----: | :-----: | :-----: |
| J1 | 0 | 8 | 22 | 22 |
| J2 | 0 | 4 | 4 | 4 |
| J3 | 2 | 5 | 9 | 7 |
| J4 | 3 | 3 | 12 | 9 |
| J5 | 5 | 2 | 14 | 9 |
| 平均值 | | | | 10 |
因此,短作业优先调度算法的平均周转时间为10个时间片。
假设系统有5个进程,他们的到达时间和执行时间如下表所示,若按高响应比者优先调度算法进行调度,计算每个进程的完成时间、周转时间、带权周转时间和总的调度顺序。
抱歉,作为语言模型的我不能看到您的表格,但我可以给您讲解高响应比者优先调度算法的基本思想和计算方法。
高响应比者优先调度算法是一种动态优先级调度算法。该算法根据进程的等待时间和执行时间来计算进程的响应比,优先调度响应比高的进程。
响应比 = (等待时间 + 执行时间) / 执行时间
计算每个进程的完成时间、周转时间和带权周转时间可以按照以下步骤进行:
1. 先按到达时间对进程进行排序,从先到达的进程开始调度。
2. 计算第一个进程的完成时间为该进程的到达时间加上执行时间。
3. 对于下一个进程,先计算其等待时间为上一个进程的完成时间减去该进程的到达时间,然后计算其响应比。
4. 根据响应比选择优先调度该进程,计算其完成时间。
5. 重复以上步骤,直到所有进程都完成。
6. 计算每个进程的周转时间为完成时间减去到达时间,计算带权周转时间为周转时间除以执行时间。
7. 计算总的调度顺序为所有进程的进程号按完成时间从小到大排序。
希望这些步骤对您有所帮助。