標籤:作業系統 io管理 io核心子系統 快取 假離線技術
I/O管理--I/O核心子系統
一、I/O調度概念
作業系統開發人員通過為每個裝置維護一個請求隊列來實現調度。當一個應用程式運行阻塞I/O系統調用時,該請求就加到相應裝置的隊列上。
二、快取與緩衝區
1.快取
快取是可以保留資料拷貝的高速記憶體。
主要是用來提高訪問速度!執行個體:chrome瀏覽器第一次與第二次啟動的速度差別!
2.緩衝區
緩衝區是用來儲存在兩裝置之間或在裝置和應用程式之間所傳輸資料的記憶體地區。緩衝技術可分為:
單緩衝:在裝置和處理機之間只設定一個緩衝區,由輸入裝置和輸出裝置公用。
雙緩衝:為輸入和輸出裝置分配兩個緩衝區,兩個緩衝區交替使用。
迴圈緩衝:為I/O裝置分別設定多個緩衝區,一部分專門用於輸入,另一部分專門用於輸出。
緩衝池:將多個緩衝區合并在一起構成公用緩衝池進行統一管理,池中的緩衝區可供多個進程共用。
【簡而言之:匹配高速和低速裝置之間的問題】
三、裝置分配與回收
1.裝置分配概述
裝置分配的任務是按照一定的策略請求裝置的進程分配合適的裝置及相關的硬體。分為獨佔型裝置、共用型裝置和虛擬型裝置三種。
2.裝置分配用資料結構
裝置的分配和管理是通過資料結構來進行的,通過它來描述系統的配置,I/O 裝置的狀態特性及當前的使用方式。如所示。虛線表示如果該裝置存在的話。
裝置分配的資料結構
比較重要的資料結構有:
(1)系統裝置表SDT:整個系統一張系統裝置表【在作業系統內部】。
(2)裝置控製表DCT:系統為每一台物理裝置配置一張DCT【在作業系統內部】。
(3)控制器控製表COCT:系統為每一個控制器設定一張COCT。
(4)通道控製表CHCT:只在通道控制方式的系統中存在,每個通道一張。
3.裝置分配策略
(1)裝置分配原則:裝置分配的總原則既要充分發揮裝置的使用效率。又要避免造成進程死結。
(2)裝置的分配方式:靜態分配主要用於對獨佔裝置的分配,它是在使用者作業開始運行之前由系統一次分配該作業所要求的全部裝置、控制器和通道,直到該作業被撤銷才釋放。動態分配是在進程運行過程中按需進行的,進程需要裝置時,向系統提出請求,系統按照事先規定的策略給進程分配所需要的裝置、控制器和通道,用完之後立即釋放。
(3)裝置的分配策略:常用的動態裝置分配策略有先請求先分配(FIFO)、優先順序高者先分配等。
四、假離線技術(SPOOLing)【將獨享裝置轉換為共用裝置】
SPOOLing技術,即同時聯機外圍操作技術,又稱假離線技術,是指在多道程式環境下,利用多道程式中的一道或兩道程式來類比離線輸入輸出中的外圍控制機的功能,以達到“離線”輸入輸出的目的。
SPOOLing系統的組成
(1)輸入井和輸出井:這是在磁碟上開闢的兩個大儲存空間。
(2)輸入緩衝區和輸出緩衝區:這是在記憶體中開闢的兩個緩衝區。
(3)輸入進程SP1和輸出進程SP0:這是記憶體中的兩個進程。
電腦作業系統學習筆記_13_I/O管理 --I/O核心子系統