Io
單個程序執行輸出的中斷時間線
我正在研究《作業系統概念》第 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 設備的“狀態”一詞僅用於清楚說明。希望這可以幫助。