m0_69418807 2023-04-11 00:59 采纳率: 50%
浏览 81
已结题

这个结果是怎么算的呢

在单CPU 多道程序系统中并发运行两道程序P1和P2,它们的执行轨迹如下:
P1:输入机 (80ms)、CPU Crorns)、磁带机1 (30ms〉
P2:磁带机2 (20ms)、 CPU (20ms)、行式打印机( 100 ms);
两道程序所需设备均为可用状态。系统接照非抢占调度方式调度两道程序,《1)绘制各道程序、各硬件工作时序因:《2〉计算每个程序从投入到完成分别所需的时间〈周转时间》;《3〉计算两道程序从投入到完成CPU的利用率:《4)如果单道运行,则两道程序运行完牛需要多长时间?

  • 写回答

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");
    

    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月25日
  • 已采纳回答 4月17日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?