答案1
I/O 设备(控制器)正忙于将数据从设备缓冲区传输到设备。它从空闲状态变为转移状态。这是 I/O 设备的峰值。传输完成后,它会返回空闲状态,直到下一个请求。
CPU 曲线在传输完成时显示峰值,因为 CPU 已收到设备通知(通过中断)。
答案2
让我们一步步看看发生了什么。
执行步骤之前的说明: CPU 正在执行用户其他进程。 I/O 设备要么处于传输数据状态,要么处于空闲状态。中断如何工作,摘自《操作系统概念》一书,
当CPU被中断时,它会停止正在做的事情并立即将执行转移到固定位置。固定位置通常包含中断服务程序所在的起始地址。中断服务程序执行;完成后,CPU 恢复中断的计算。
步骤1:I/O设备接收I/O请求。 (I/O设备最初处于空闲状态)
第2步:I/O 设备开始传输数据,从而更改为传输状态。
步骤3:I/O设备完成传输数据的工作,从而转入空闲状态。此外,它还会产生中断。
步骤4:CPU收到中断并开始执行中断服务程序,表现为其执行的变化。
第5步:CPU 继续之前的执行。
该图的后半部分遵循相同的步骤。
请注意,I/O 设备的“状态”一词仅用于清楚说明。希望这可以帮助。
答案3
该图明显显示了 CPU 状态与[设备]输出状态随时间的关系。
CPU 时间的峰值是当 CPU 忙于执行任务或休眠时,具体取决于它是进行同步写入还是异步写入。
CPU 时间的谷值是当 CPU 通过中断通知 CPU 设备已完成,以继续为下一轮设置缓冲区时。
设备中的峰值是当设备空闲、等待输出、等待 I/O 请求时,而谷值是当设备控制器独立于 CPU 将内存缓冲区写入实际设备时。通常写入是通过 DMA 完成的。 (直接内存访问)