在单CPU 多道程序系统中并发运行两道程序P1和P2,它们的执行轨迹如下:
P1:输入机 (80ms)、CPU Crorns)、磁带机1 (30ms〉
P2:磁带机2 (20ms)、 CPU (20ms)、行式打印机( 100 ms);
两道程序所需设备均为可用状态。系统接照非抢占调度方式调度两道程序,《1)绘制各道程序、各硬件工作时序因:《2〉计算每个程序从投入到完成分别所需的时间〈周转时间》;《3〉计算两道程序从投入到完成CPU的利用率:《4)如果单道运行,则两道程序运行完牛需要多长时间?
这个结果是怎么算的呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 阿里嘎多学长 2023-04-11 07:58关注
以下内容部分参考ChatGPT模型:
这个结果是通过计算每个程序在系统中的执行时间得出的。具体来说,P1在输入机上花费了80ms,在CPU上花费了一段时间,然后在磁带机1上花费了30ms。而P2在磁带机2上花费了20ms,在CPU上花费了20ms。因为是单CPU多道程序系统,所以这两个程序在CPU上的执行时间是交替进行的,直到它们完成为止。通过计算每个程序在系统中的执行时间,我们可以得出它们的执行轨迹。
代码示例:
int p1_input_time = 80; int p1_cpu_time = 50; //假设P1在CPU上执行了50ms int p1_tape1_time = 30; int p1_total_time = p1_input_time + p1_cpu_time + p1_tape1_time; int p2_tape2_time = 20; int p2_cpu_time = 20; int p2_total_time = p2_tape2_time + p2_cpu_time; //假设P1和P2交替执行,计算它们的执行轨迹 int current_time = 0; while (p1_total_time > 0 || p2_total_time > 0) { if (p1_total_time > 0) { if (p1_input_time > 0) { //P1在输入机上运行 p1_input_time--; current_time++; } else if (p1_cpu_time > 0) { //P1在CPU上运行 p1_cpu_time--; current_time++; } else if (p1_tape1_time > 0) { //P1在磁带机1上运行 p1_tape1_time--; current_time++; } p1_total_time--; } if (p2_total_time > 0) { if (p2_tape2_time > 0) { //P2在磁带机2上运行 p2_tape2_time--; current_time++; } else if (p2_cpu_time > 0) { //P2在CPU上运行 p2_cpu_time--; current_time++; } p2_total_time--; } } //输出P1和P2的执行轨迹 printf("P1: 输入机->CPU->磁带机1\n"); printf("P2: 磁带机2->CPU\n");
如果我的建议对您有帮助、请点击采纳、祝您生活愉快
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?