操作系統精髓與設計原理讀書筆記9
I/O管理
塊設備
以數據塊為單位存儲、傳輸信息
傳輸速率較高、可定址(隨機讀寫)
字元設備
以字元為單位存儲、傳輸信息
傳輸速率低、不可定址
獨佔設備
在一段時間內只能有一個進程使用的設備,一般為低速I/O設備(如印表機,磁帶等)
共享設備
在一段時間內可有多個進程共同使用的設備,多個進程以交叉的方式來使用設備,其資源利用率高(如硬碟)
虛設備
在一類設備上模擬另一類設備,常用共享設備模擬獨佔設備,用高速設備模擬低速設備,被模擬的設備稱為虛設備
目的:將慢速的獨佔設備改造成多個用戶可共享的設備,提高設備的利用率
I/O設備一般由機械和電子兩部分組成
(1) (2)電子部分又稱設備控制器(或適配器)
– (埠)地址解碼
–按照主機與設備之間約定的格式和過程接受計算機發來的數據和控制信號 或 向主機發送數據和狀態信號
–將計算機的數字信號轉換成機械部分能識別的模擬信號,或反之
–實現設備內部硬體緩衝、數據加工等提高性能或增強功能
操作系統將命令寫入控制器的介面寄存器(或介面緩衝區)中,以實現輸入/輸出,並從介面寄存器讀取狀態信息或結果信息
當控制器接受一條命令後,可獨立於CPU完成指定操作,CPU可以另外執行其他計算;命令完成時,控制器產生一個中斷,CPU響應中斷,控制轉給操作系統;通過讀控制器寄存器中的信息,獲得操作結果和設備狀態
控制器與設備之間的介面常常是一個低級介面
控制器的任務:把串列的位流轉換為位元組塊,並進行必要的錯誤修正:首先,控制器按位進行組裝,然後存入控制器內部的緩衝區中形成以位元組為單位的塊;在對塊驗證檢查和並證明無錯誤時,再將它複製到內存中
I/O埠地址:介面電路中每個寄存器具有的、唯一的地址,是個整數
所有I/O埠地址形成I/O埠空間(受到保護)
I/O指令形式與I/O地址是相互關聯的, 主要有兩種形式:
內存映像編址(內存映像I/O模式)
I/O獨立編址(I/O專用指令)
可編程I/O(輪詢/查詢)
由CPU代表進程給I/O模塊發I/O命令,進程進入忙等待,直到操作完成才繼續執行
中斷驅動I/O
為了減少設備驅動程序不斷地詢問控制器狀態寄存器的開銷
I/O操作結束後,由設備控制器主動通知設備驅動程序
硬緩衝:由硬體寄存器實現(例如:設備中設置的緩衝區)
軟緩衝:在內存中開闢一個空間,用作緩衝區
I/O軟體組織
每一層都執行操作系統所需要的功能的一個相關子集,它依賴於更低一層所執行的更原始的功能,從而可以隱藏這些功能的細節;同時,它又給高一層提供服務
較低層考慮硬體的特性,並向較高層軟體提供介面
較高層不依賴於硬體,並向用戶提供一個友好的、清晰的、簡單的、功能更強的介面
緩衝區管理
單緩衝
雙緩衝
緩衝池(多緩衝,循環緩衝):統一管理多個緩衝區,採用有界緩衝區的生產者/消費者模型對緩衝池中的緩衝區進行循環使用
推薦閱讀:
※不借外部工具,對window 7用戶密碼破解與防護
※操作系統九成被國外壟斷,中國造何時覺醒?
※如何減少電腦中病毒的幾率?
※命令行中四個常見命令的使用
※深入計算機底層,從幾本靠譜的書開始