1. 程式人生 > >第六章 裝置管理

第六章 裝置管理

知識點

1.I/O系統的組成

2.I/O系統的軟體層次

  ①中斷處理過程

  ②I/O控制方式

  ③緩衝管理、裝置分配、裝置處理

3.磁碟排程

 

 I/O系統的主要功能:

1.隱藏物理裝置細節,方便使用者 使用者使用抽象的I/O命令即可

2.實現裝置無關性,方便使用者 使用者可用抽象的邏輯裝置名來使用裝置,同時也提高了OS的可移植性和易適應性。

3.提高處理機和裝置的並行性,提高利用率:緩衝區管理

4.對I/O裝置進行控制:控制方式、裝置分配、裝置處理

5.確保對裝置正確共享:虛擬裝置及裝置獨立性等

6.錯誤處理

 

I/O系統的組成

1.需要用於輸入、輸出和儲存資訊的裝置;

2.需要相應的裝置控制器;

3.控制器與CPU連線的高速匯流排;

4.有的大中型計算機系統,配置I/O通道;

 

中斷處理流程

1.測定是否有未響應的中斷訊號

2.保護被中斷程序的CPU環境

3.轉入相應的裝置處理程式

4.中斷處理

5.恢復CPU的現場

 

直接儲存器訪問DMA 方式特點:

1.資料傳輸的基本單位是資料塊;

2.所傳送的資料是從裝置直接送入記憶體的,或者直接從記憶體進裝置;不需要CPU操作。

3.CPU干預進一步減少:僅在傳送一個或多個數據塊的開始和結束時,才需CPU干預,整塊資料的傳送是在控制器的控制下完成的。     

 

DMA控制器的組成

1.主機與DMA控制器的介面;

2.DMA控制器與塊裝置的介面;

3.I/O控制邏輯。

 

DMA工作過程

1.CPU先向磁碟控制器傳送一條讀命令。

2.該命令被送到命令暫存器CR中。

3.同時傳送資料讀入到記憶體的起始地址,該地址被送入MAR中;

4.要讀資料的字數則送入資料計數器DC中;

5.將磁碟中的資料原地址直接送入DMA控制器的I/O控制邏輯上,按裝置狀態啟動磁頭到相應位置。

6.啟動DMA控制器控制邏輯開始進行資料傳送

  ①DMA控制器讀入一個數據到資料暫存器DR中,然後傳到記憶體MAR地址中;

  ②接著MAR+1,DC-1,判斷DC是否為0,如否,繼續,反之控制器發中斷請求,傳送完畢。

 

SPOOLing系統的組成

1.輸入井和輸出井

2.輸入緩衝區和輸出緩衝區

3.輸入程序和輸出程序

 

SPOOLing系統的特點

1.提高了I/O的速度。利用輸入輸出井模擬成離線輸入輸出,緩和了CPU和I/O裝置速度不匹配的矛盾。

2.將獨佔裝置改造為共享裝置。並沒有為程序分配裝置,而是為程序分配一儲存區和建立一張I/O請求表。

3.最終,實現了虛擬裝置功能。多個程序可“同時”使用一臺獨佔裝置。

 

引入緩衝區的主要原因:

1.緩和CPU與I/O裝置間速度不匹配的矛盾。

2.緩衝區資料成批傳入記憶體,也可進一步減少對CPU的中斷頻率

3.最終目的:提高CPU和I/O裝置的並行性。

 

使用緩衝區的方式:

1.單緩衝、多緩衝

2.迴圈緩衝

3.緩衝池(Buffer Pool)

 

磁碟排程方法

1.FCFS

2.最短尋道時間優先SSTF

3.掃描演算法SCAN(磁碟電梯排程演算法)

  ①迴圈掃描演算法CSCAN

  ②N-Step-SCAN演算法

  ③FSCAN演算法

 

訪問磁碟過程

1.CPU給出地址,需要訪問某儲存單元;

2.並行進行TLB查詢和cache查詢;

3.TLB查詢後申明沒有找到;

4.停止並行查詢,並通知作業系統處理;

5.作業系統檢查頁表,發現該頁不在記憶體中,需要從硬碟調入。

 

虛擬裝置是指:

通過虛擬技術將一臺獨佔裝置改造成若干臺邏輯裝置,供若干個使用者程序同時使用。

 

按資訊交換單位分類,可將裝置分為:

塊裝置和字元裝置

 

通道是:

一種負責I/O的處理機。

 

位元組多路通道主要用作:

連線大量的低速I/O裝置。

 

從資源分配的角度看,作業系統將外部裝置分為:

獨佔型裝置、共享型裝置、虛擬裝置。

 

根據資訊交換方式的不同,可以將通道分為:

位元組多路通道、資料選擇通道、資料多路通道。

 

裝置獨佔性是指:

應用程式獨立於具體使用的物理裝置。

 

緩衝技術中的緩衝池在:主存中。

 

進行裝置分配時所需要的資料表格主要有:

裝置控制表、裝置控制器控制表、通道控制表和系統裝置表。

 

大多數低速裝置都屬於:獨享裝置。

 

Spooling系統是由:

磁碟中的輸入井和輸出井、記憶體中的輸入緩衝區和輸出緩衝區以及輸入程序和輸出程序組成。

 

裝置與記憶體之間的傳輸方式有:

程式直接控制方式、中斷控制方式、通道控制方式和DMA控制方式,其中通道方式佔用CPU時間最短。

 

Spooling技術是指:

在共享裝置上模擬獨佔裝置。由預輸入程式將作業執行中需訪問的資料預先讀入到輸入井中,緩輸出程式則負責將輸出井中的資訊在輸出裝置上輸出。