第十一章—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位元