計算機必須在記憶體或ram(隨機訪問記憶體random access memory)執行,記憶體是處理器可以直接訪問的唯一大容量儲存區域。
記憶體和處理器本身內建暫存器是cpu能直接訪問的唯一儲存介質。
指令load能將記憶體中的字移到cpu內部的暫存器中。而指令store能將暫存器的內容移動到記憶體。除了顯式使用load和store,cpu可自動從記憶體中裝入指令以執行。
記憶體比較小,並且是易失性儲存裝置,所以計算機系統提供輔助儲存器作為記憶體的擴充。
對於i/o,每個i/o控制器都有暫存器來報存命令和所要傳輸的資料。通常,特殊的i/o指令允許在這些暫存器和系統記憶體之間進行資料傳輸。為了允許對這些i/o裝置更方便的訪問,許多計算機體系結構都提供記憶體對映i/o,記憶體位址的一塊範圍被單獨分開,並對映到裝置管理器。通過讀寫這些記憶體位址就能實現與裝置暫存器之間的資料傳輸。
通用計算機系統有乙個cpu和多個裝置控制器組成,他們通過共同的匯流排連線起來。每個裝置控制器負責特定型別的裝置,可有多個裝置與其連線。裝置控制器維護一定量的本地緩衝儲存和一定用途的暫存器。裝置控制器負責在其所控制的外部裝置與本地快取之間進行資料傳遞。通常作業系統為每個裝置控制器提供乙個裝置驅動程式。
為了開始i/o操作,裝置驅動程式在裝置控制器中裝載適當的暫存器。相應的,裝置控制器檢查這些暫存器的內容以決定採取什麼操作(如從鍵盤讀取乙個字元),控制器開始從裝置向本地快取傳輸資料,一旦資料傳輸完成,裝置控制器會通過中斷告訴驅動程式已完成操作,然後,驅動程式返回對作業系統的控制。
一旦i/o開始,就可能有兩種行動過程。對於最簡單的情況,開始進行i/o,在i/o完成後,控制權返回給使用者程序,這種情況稱為同步i/o。另一種可能,稱為非同步i/o,無須等待i/o完成,就將控制權返回給使用者程式。接著i/o繼續進行,同時其他系統操作照常進行。
一種更好地選擇是開始i/o之後,就繼續執行其他作業系統或者使用者程式**。如果需要,系統呼叫就要允許使用者程式等待i/o的完成。如果沒有使用者程式就緒可執行,作業系統也沒有其他工作可做,那麼需要wait或空閒迴圈以及能夠在同一時刻跟蹤多個i/o請求,為此,作業系統採用了裝置狀態表。
這種i/o中斷驅動適合少量資料,dma(直接記憶體訪問)可以用於大量資料移動,裝置控制器能在本地緩衝和記憶體之間傳送一整塊資料,而無需cpu的干預,且每塊只產生乙個中斷,而不是乙個位元組乙個中斷。
作業系統概念學習筆記 5 作業系統管理簡述
處於執行中的程式被稱作程序。程序需要一定的資源 包括cpu時間 記憶體 檔案 i o裝置 來完成任務。這些資源可以在程序建立時分配給程序,也可以在執行時分配給程序。除了在建立時得到各種物理和邏輯資源外,程序還可以接受傳輸過來的各種初始化資料。程式本身並不是程序,程式是被動的實體。而程序是活動的實體。...
作業系統概念閱讀筆記3
新的 程序正在被建立 執行 指令正在被執行 等待 程序等待某個事件的發生 如等待i o讀取 就緒 程序等待分配cpu 終止 程序完成執行 包括 程序狀態 標誌前面5個狀態 程式計數器 下個指令位址 cpu暫存器 累加器 索引暫存器 堆疊指標 通用暫存器和其他條件碼資訊暫存器 cpu排程資訊 程序優先...
作業系統筆記 儲存管理(3)
請求分段系統 段頁式虛擬儲存器 所謂虛擬儲存器,是指具有請求調入功能和置換功能,能從邏輯上對記憶體容量加以擴充的一種儲存器系統。其邏輯容量由記憶體容量和外存容量之和所決定,其執行速度接近於記憶體速度,而每位的成本卻又接近於外存。特徵 多次性,對換性,虛擬性。在一段時間內乙個程式的執行往往呈現出高度的...