单个进程执行输出的中断时间线

单个进程执行输出的中断时间线

我正在学习《操作系统概念》第九版这本书。第一章1.2.1部分计算机系统操作,我看不懂图1.3: 单个进程执行输出的中断时间线

任何人都可以为我对此做出快速解释吗?特别是关于该图的峰值?

答案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 完成的。 (直接内存访问)

相关内容