详细解题思路
时间: 2023-11-29 14:10:46 浏览: 41
这是一道多道程序设计环境下的作业调度问题,需要根据每个作业对CPU和输入/输出设备的使用顺序和时间,计算出它们的完成时间,从而确定它们的完成顺序。
我们可以按照以下步骤来解决这道题目:
1. 画出每个作业的执行流程图,以便更好地理解它们的执行顺序和时间。
2. 根据流程图,计算出每个作业的完成时间。
3. 比较每个作业的完成时间,确定它们的完成顺序。
具体来说,对于这道题目,我们可以按照以下步骤来解决:
1. 画出每个作业的执行流程图:
```
Job1: I2(30ms) -> CPU(10ms) -> I1(30ms) -> CPU(10ms) -> I2(20ms)
Job2: I1(20ms) -> CPU(20ms) -> I2(40ms)
Job3: CPU(30ms) -> I1(20ms) -> CPU(10ms) -> I1(10ms)
```
在流程图中,我们按照作业执行的顺序,标明了每个作业使用CPU和输入/输出设备的时间,以及它们之间的顺序关系。
2. 计算出每个作业的完成时间:
根据流程图,我们可以得到每个作业的完成时间:
```
Job1: 100ms
Job2: 80ms
Job3: 70ms
```
我们可以按照以下步骤来计算每个作业的完成时间:
- 对于Job1,它的完成时间是在第一次使用I2设备的时间加上使用I2设备的时间、使用CPU的时间、使用I1设备的时间、使用CPU的时间和第二次使用I2设备的时间,即30ms + 30ms + 10ms + 30ms + 10ms + 20ms = 100ms。
- 对于Job2,它的完成时间是在第一次使用I1设备的时间加上使用I1设备的时间、使用CPU的时间和使用I2设备的时间,即20ms + 20ms + 40ms = 80ms。
- 对于Job3,它的完成时间是在使用CPU的时间加上使用I1设备的时间、使用CPU的时间和使用I1设备的时间,即30ms + 20ms + 10ms + 10ms = 70ms。
3. 确定作业的完成顺序:
根据每个作业的完成时间,我们可以确定它们的完成顺序:
- Job3的完成时间最早,所以它是第一个完成的。
- Job2的完成时间稍晚于Job3,所以它是第二个完成的。
- Job1的完成时间最晚,所以它是最后一个完成的。
因此,作业的完成顺序为:Job3 -> Job2 -> Job1。
综上所述,我们就完成了这道多道程序设计环境下的作业调度问题。