1. 程式人生 > >第十一章—I/O管理和磁碟排程【計算機作業系統】

第十一章—I/O管理和磁碟排程【計算機作業系統】

11.1 列出並簡單定義執行I/O的三種技術。

可程式設計I/O:處理器代表程序給I/O模組傳送給一個I/O命令,該程序進入忙等待,等待操作的完成,然後才可以繼續執行。

中斷驅動I/O:處理器代表程序向I/O模組傳送一個I/O命令,然後繼續執行後續指令,當I/O模組完成工作後,處理器被該模組中斷。如果該程序不需要等待I/O完成,則後續指令可以仍是該程序中的指令,否則,該程序在這個中斷上被掛起,處理器執行其他工作。

直接儲存器訪問(DMA):一個DMA模組控制主存和I/O模組之間的資料交換。為傳送一塊資料,處理器給DMA模組傳送請求,只有當整個資料塊傳送完成後,處理器才被中斷。

11.2 邏輯I/O和裝置I/O有什麼區別?

邏輯I/O:邏輯I/O模組把裝置當作一個邏輯資源來處理,它並不關心實際控制裝置的細節。邏輯I/O模組代表使用者程序管理的一般I/O功能,允許它們根據裝置識別符號以及諸如開啟、關閉、讀、寫之類的簡單命令與裝置打交道。

裝置I/O:請求的操作和資料(緩衝的資料、記錄等)被轉換成適當的I/O指令序列、通道命令和控制器命令。可以使用緩衝技術,以提高使用率。

11.3 面向塊的裝置和麵向流的裝置有什麼區別?請舉例說明。

面向塊的裝置將資訊儲存在塊中,塊的大小通常是固定的,傳輸過程中一次傳送一塊。通常可以通過塊號訪問資料。磁碟和磁帶都是面向塊的裝置。

面向流的裝置以位元組流的方式輸入輸出資料,其末使用塊結構。終端、印表機通訊埠、滑鼠和其他指示裝置以及大多數非輔存的其他裝置,都屬於面向流的裝置。

11.4 為什麼希望用雙緩衝區而不是單緩衝區來提高I/O的效能?

雙緩衝允許兩個操作並行處理,而不是依次處理。典型的,在一個程序往一個緩衝區中傳送資料(從這個緩衝區中取資料)的同時,作業系統正在清空(或者填充)另一個緩衝區。

11.5 在磁碟讀或寫時有哪些延遲因素?

尋道時間,旋轉延遲,傳送時間

11.6 簡單定義圖11.7中描述的磁碟排程策略。

FIFO:按照先來先服務的順序處理佇列中的專案。

SSTF:選擇使磁頭臂從當前位置開始移動最少的磁碟I/O請求。

SCAN:磁頭臂僅僅沿一個方向移動,並在途中滿足所有未完成的請求,直到它到達這個方向上最後一個磁軌,或者在這個方向上沒有其他請求為止。接著反轉服務方向,沿相反方向掃描,同樣按順序完成所有請求。

C-SCAN:類似於SCAN,

11.7 簡單定義圖7層RAID。

0:非冗餘

1:被映象;每個磁碟都有一個包含相同資料的映象磁碟。

2:通過漢明碼實現冗餘;對每個資料磁碟中的相應都計算一個錯誤校正碼,並且這個碼位儲存在多個奇偶校驗磁碟中相應的檔案。

3:交錯位奇偶校驗;類似於第二層,不同之處在於RAID3為所有資料磁碟中同一位置的位的集合計算一個簡單的奇偶校驗位,而不是錯誤校正碼。

4:交錯塊分佈奇偶校驗;對每個資料磁碟中相應的條帶計算一個逐位奇偶。

5:交錯塊分佈奇偶校驗;類似於第四層,但把奇偶校驗條帶分佈在所有磁碟中。

6:交錯塊雙重分佈奇偶校驗;兩種不同的奇偶校驗計算儲存在不同磁碟的不同塊中。

11.8 典型的磁碟扇區大小是多少?

512位元