iT邦幫忙

2022 iThome 鐵人賽

DAY 24
0
自我挑戰組

資工捲嬤的日常系列 第 24

Day24 學習日常 : 作業系統

  • 分享至 

  • xImage
  •  

作業系統

面對大量且可能會互相衝突的資源請求,作業系統必須決定如何將它們分配給特定的程式合用戶,以便它能夠高效運作。

始終在計算機上運行的一個程式——通常稱為核心。

還有其他兩種程式

  • 系統程式
  • 應用程式

中斷(interrupts)

一開始控制器將數據從設備傳輸到其本地緩衝區。
資料傳輸完成,設備控制器就會告知設備驅動程式說它已經完成了它的操作了。
然後,設備驅動程序將控制權交給作業系統的其他部分,如果操作是讀取,則可能返回數據或指向數據的指針。
對於其他操作,設備驅動程序會返回成功寫入裝置忙碌等狀態信息。
中斷必須將控制權轉移到適當的中斷服務程序。
例如:
通過修改暫存器值 => 它必須保存當前狀態,然後在返回之前恢復該狀態。
中斷結束後,保存的返回地址被加載到程序計數器中,中斷的計算一樣繼續進行。

實施(Implementation)

CPU 硬體有一條稱為中斷請求線的線。
當中斷請求線上在 CPU 發出信號的時候,它會讀取並通過使用中斷作為中斷向量的索引跳轉到中斷處理程序。
然後開始執行,在它和其索引的位址。
中斷處理程式保存它在運行期間將要改變的任何狀態,確定中斷的原因,執行必要的處理,執行狀態恢復,並執行從中斷指令返回以使 CPU 回到中斷之前的執行狀態。
然而,我們還需要更複雜的中斷處理功能。

  1. 我們需要在關鍵處理期間延遲中斷處理的能力。

  2. 我們需要一種有效的方法來分派到適當的中斷處理程式的一個裝置。

  3. 我們需要更多級的中斷,以便操作系統能夠區分高優先級和低優先級中斷,並以適當的緊急程度做出回應。

在現代計算機硬件中,這三個特性是由 CPU 和中斷控制器硬體提供的。

參考資料 : Operating System Concepts
上課PPT


上一篇
Day23 學習日常 : 作業系統
下一篇
Day25 學習日常 : 作業系統
系列文
資工捲嬤的日常30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言