Io

單個程序執行輸出的中斷時間線

  • February 28, 2021

我正在研究《作業系統概念》第 9 版一書。第一章1.2.1部分電腦系統操作,看不懂圖1.3: 單個程序執行輸出的中斷時間線

任何人都可以為我快速解釋一下嗎?特別是關於這張圖的峰值?

I/O 設備(控制器)正忙於將數據從設備緩衝區傳輸到設備。它從空閒到轉移。這是 I/O 設備的峰值。傳輸完成後它會回到空閒狀態,直到下一個請求。

CPU 曲線在傳輸完成時顯示一個峰值,因為設備(通過中斷)通知了 CPU。

讓我們一步一步看看發生了什麼。

執行步驟前的說明: CPU 正在執行使用者其他程序。I/O 設備要麼處於傳輸數據狀態,要麼處於空閒狀態。中斷是如何工作的,來自《作業系統概念》一書,

當 CPU 中斷時,它會停止正在執行的操作並立即將執行轉移到固定位置。固定位置通常包含中斷服務程序所在的起始地址。中斷服務程序執行;完成後,CPU 恢復中斷的計算。

步驟 1: I/O 設備收到 I/O 請求。(I/O 設備最初處於空閒狀態)

第 2 步: I/O 設備開始傳輸數據,因此更改為傳輸狀態。

第 3 步: I/O 設備完成傳輸數據的工作,因此變為空閒狀態。此外,它會中斷。

第四步: CPU接收到中斷,開始執行中斷服務程序,表現為執行的變化。

第 5 步: CPU 繼續其先前的執行。

該圖的後半部分遵循相同的步驟。

請注意,I/O 設備的“狀態”一詞僅用於清楚說明。希望這可以幫助。

引用自:https://unix.stackexchange.com/questions/268340