《現代操作系統》第5章 輸入輸出

1.  I/O設備的分類

塊設備和字符設備

塊設備把信息存儲在固定大小的塊中,每個塊有自己的地址。

字符設備以字符爲單位發送或接受一個字符流。字符設備所以不可尋址的,也沒有任何尋址操作。打印機、網絡接口、鼠標等式字符設備。

時鐘例外:不是塊可尋址、也不產生或接收字符流。它按預先規定好的時間間隔產生中斷。

2.  設備控制器

I/O設備由機械部件和電子部件兩部分組成。

電子部件稱設備控制器或適配器。

任務:把串行的位流轉換成字節塊,並進行必要的錯誤校正工作,再複製到主存中。

3.  內存映射I/O

CPU與設備的控制寄存器和數據緩衝區(如視頻RAM)的通訊的方式:

(a)  單獨的I/O和內存空間(每個控制寄存器被分配一個I/O port 號,所有的I/O端口形成I/O端口空間,普通用戶程序不能對其進行訪問)(如大型主機)

(b)  內存映射I/O(所有控制寄存器映射到內存地址中,每個控制器被分配唯一的一個內存地址)(如PDP-11)

(c)   混合方案(Memory-mapped I/O &Separate I/O port)(具有內存映射I/O的數據緩衝區,而控制寄存器則具有單獨的I/O端口)(如Pentium處理器)

4.  中斷

精確中斷和不精確中斷

5.  I/O軟件的目標

1)    設備獨立性

2)    統一命名

3)    錯誤處理

4)    同步(即阻塞)和異步(即中斷驅動)傳輸

5)    緩衝

6)    共享設備和獨佔設備

6.  I/O的三種不同的實現方式

1) 程序控制I/O

輪詢/忙等待:CPU不斷查詢設備以瞭解它是否就緒準備接收另一字符,直到全部I/O完成前要佔用CPU的全部時間。

2) 中斷驅動I/O

啓動一個I/O操作的驅動程序阻塞起來,直到I/O操作完成且產生一箇中斷。

3) 使用DMA的I/O

DMA做全部工作,將中斷的次數從打印每個字符一次減少到打印每個緩衝區一次。

7.  I/O軟件層次

用戶級I/O軟件-與設備無關的操作系統軟件-設備驅動程序-中斷處理程序-硬件

中斷處理程序:將啓動一個I/O操作的驅動程序阻塞起來,直到I/O操作完成且產生一箇中斷。

設備驅動程序:控制設備的特定代碼,一般由設備製造商編寫提供。每個設備驅動程序通常處理一種類型的設備。一般功能包括:接受請求、對設備進行初始化、管理電源需求和日誌事件。

8.  磁盤調度算法

磁盤調度的影響因素:尋道時間(主導)/旋轉延遲/實際數據傳輸時間

算法:

1)    FCFS先來先服務

2)    SSF最短尋道優先

3)    電梯算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章