㈠ 設備控制器的主要功能是什麼
控制器的主要功能是交換、檢測及提供信號,具體功能說明如下:
1、控制器具備數據交換功能,這是指實現CPU與控制器之間、控制器與設備之間的數據交換。對於前者,是通過數據匯流排,由CPU並行地把數據寫入控制器,或從控制器中並行地讀出數據;對於後者,是設備將數據輸入到控制器,或從控制器傳送給設備。為此,在控制器中須設置數據寄存器。
2、設備控制器還兼管對由I/O設備傳送來的數據進行差錯檢測。若發現傳送中出現了錯誤,通常是將差錯檢測碼置位,並向 CPU報告,於是CPU將本次傳送來的數據作廢,並重新進行一次傳送。這樣便可保證數據輸入的正確性。
3、時序控制器的功能是為每條指令按時間順序提供控制信號。時序控制器包括時鍾發生器和倍頻定義單元,其中時鍾發生器由石英晶體振盪器發出非常穩定的脈沖信號,就是CPU的主頻;而倍頻定義單元則定義了CPU主頻是存儲器頻率(匯流排頻率)的幾倍。
標識和報告設備的狀態控制器應記下設備的狀態供CPU了解。例如,僅當該設備處於發送就緒狀態時,CPU才能啟動控制器從設備中讀出數據。為此,在控制器中應設置一狀態寄存器,用其中的每一位來反映設備的某一種狀態。當CPU將該寄存器的內容讀入後,便可了解該設備的狀態。
CPU可以向控制器發送多種不同的命令,設備控制器應能接收並識別這些命令。為此,在控制器中應具有相應的控制寄存器,用來存放接收的命令和參數,並對所接收的命令進行解碼。例如,磁碟控制器可以接收CPU發來的Read、Write、Format等15條不同的命令,而且有些命令還帶有參數;相應地,在磁碟控制器中有多個寄存器和命令解碼器等。
㈡ I/O設備管理
I/O系統不僅包括 各種I/O設備 ,還包括與設備相連的 設備控制器 ,有些系統還配備了專門用於輸入/輸出控制的專用計算機( 通道 ),此外: I/O系統要通過匯流排與CPU、內存相連 。
I/O系統的結構分為兩大類:
CPU與內存之間可以直接進行信息交換,但是 不能直接與設備進行信息交換 ,必須經過 設備控制器 。
主機I/O系統採用四級結構,包括: 主機、通道、設備控制器和設備 。
一個通道可以控制多個設備控制器。
一個設備控制器可以控制多個設備。
設備控制器是 CPU與I/O設備之間的介面 ,接收I/O命令並 控制設備 完成I/O工作。
設備控制器是一個 可編址設備 ,鏈接多個設備時可有多個設備地址。
一種特殊的處理機,它具有執行I/O指令的能力,並通過執行通道程序來控制I/O操作。
大型主機系統中 專門用於I/O的專用計算機 。
引入通道能夠使CPU從控制I/O操作的任務中解脫,使 CPU與I/O並行工作 ,提高CPU利用率和系統吞吐量。
目的:盡量 減少 主機對輸入/輸出控制的 干預 , 提高 主機與輸入/輸出的 並行程度 。
工作流程:
缺點:
使CPU經常處於 循環檢測狀態 ,造成 CPU的極大浪費 ,影響整個進程的 吞吐量 。
現在計算機系統廣泛採用中斷控制方式完成對I/O控制。
工作流程:
優點:
使CPU和I/O設備在某些時間段上 並行工作 ,提高 CPU利用率 和 系統吞吐量 。
DMA控制器結構:
DMA控制器中的寄存器:
工作流程:
緩沖區是用來 保存兩個設備之間或設備與應用程序之間傳輸數據的內存區域 。
由於CPU的速度遠遠高於I/O設備,為了 盡可能使CPU與設備並行工作 ,提高系統的性能,通常需要操作系統在設備管理軟體中提供緩沖區管理功能。
在數據到達速率與數據離去速率不同的地方,都可以引入緩沖區。
引入緩沖的原因:
引入緩沖的主要作用:
最簡單 的緩沖類型,在主存儲器的系統區中 只設立一個緩沖區 。
用戶進程發出I/O請求時,操作系統為該操作分配一個位於主存的緩沖區。
當一個進程往這一個緩沖區中傳輸數據(或從這個緩沖區讀取數據)時,操作系統正在清空(或填充)另一個緩沖區,這個技術稱為雙緩沖(Double Buffering),或緩沖交換(Buffering Swapping)。
在數據到達和數據離去的速度差別很大的情況下,需要增加緩沖區的數量。
多個緩沖區:
多個指針:
Getbuf過程:
Releasebuf過程:
進程使用完緩沖區後,使用Releasebuf過程 釋放緩沖區 ;
公共緩沖池中設置多個可供若干進程共享的緩沖區,提高緩沖區的利用率。
緩沖池的組成:
支持設備分配的數據結構需要記錄設備的狀態(忙或空閑)、設備類型等基本信息。
系統為每個設備建立一張設備控製表,多張設備控制構成設備控製表集合。
每張設備控製表,包含:
系統為每個控制器設置一張 用於記錄該控制器信息 的控制器控製表。通常包含:
系統為每個通道設備設一張通道控製表,通常包含:
記錄了 系統中全部設備 的情況,每個設備佔一個表目,其中包括:
關鍵點:是否具備 「請求和保持」 的條件。
基本含義: 應用程序獨立於具體使用的物理設備
應用程序中,使用 邏輯設備名稱 來請求使用某類設備。
系統在實際執行時,必須使用 物理設備名稱 。
實現設備獨立性 帶來的好處 :
設備獨立軟體的功能:
獨占設備的分配程序:
在多道程序環境下,利用 一道程序 來模擬 離線輸入 時的 外圍控制機 的功能,把低速I/O設備上的數據傳送到高速輸出磁碟上,再利用 另一道程序 來模擬 離線輸出 時 外圍控制機 的功能,把數據從磁碟傳送到低速輸出設備上。
這種在 聯機情況下實現的同時外圍操作 稱為SPOOLing。
SPOOLing的 組成 :
利用SPOOLing技術 實現共享列印機 :
SPOOLing的 特點 :
輸入輸出軟體總體目標是 將軟體組織成一種層次結構 。
低層軟體 用來屏蔽硬體的具體細節。
高層軟體 則主要是為用戶提供一個簡潔、規范的界面。
設備管理的4個層次:
將發出I/O請求而被阻塞的進程喚醒。
設備驅動程序是 I/O進程與設備控制器之間的通信程序 ,其主要任務接受上層軟體發來的抽象的I/O請求,如 read 和 write 命令,把它們轉換為具體要求後,發送給設備控制器啟動設備去執行。
磁碟存儲器不僅 容量大,存取速度快 ,而且可以實現 隨機存取 ,是存放大量程序和數據的理想設備。
磁碟管理的 重要目標 :提高磁碟 空間利用率 和磁碟 訪問速度 。
一個物理記錄存儲在一個扇區上,磁碟存儲的物理記錄數目是由 扇區數、磁軌數 及 磁碟面數 決定的。
磁碟類型:
磁碟訪問時間:
磁碟調度的一個重要目標是 使磁碟的平均尋道時間最少 。包括有:
最簡單 的磁碟調度演算法。
根據進行 請求訪問磁碟的先後順序 進行調度。
優點:公平、簡單,且每個進程的請求都能依次得到處理,不會出現某一進程的請求長期得不到滿足的情況
缺點:平均尋道時間較長
該演算法選擇的進程:其 要求訪問的磁軌 與 當前磁頭所在的磁軌 距離 最近 ,以使每次的尋道時間最短。
優點:每次的尋道時間最短
缺點:可能導致某個進程發生 飢餓 現象
又叫 電梯調度演算法 ,不僅考慮到要訪問的磁軌與當前磁軌的距離,更優先考慮磁頭當前的移動方向。
優點:有較好的尋道性能,防止 「飢餓」 現象
缺點:有時候進程請求被大大推遲
在掃描演算法的基礎上,規定磁頭是單向移動的。將最小磁軌號緊接著最大磁軌號構成循環,進行循環掃描。
NStepSCAN :FCFS + SCAN
FSCAN :