作業系統›Ch2 I/O 運作方式
第 2 題/共 23 題
◀ OS 2/23
2. I/O Buffering、Blocking I/O、System Call Overhead
#OS-02-002難I/O BufferingBlocking I/OSystem Call Overhead

假設一個process需要對storage子系統讀寫一個大檔案。請用三個值中的一個回答下列五個小題:(A) – less than,(B) – greater than,(C) – similar to。

假設I/O model採用blocking I/O,要儲存的檔案非常大,且system load造成的延遲可以忽略。檔案系統的資料區塊為4K-byte。

下表顯示process的設定與待回答的小題。第一欄定義buffering model,第二欄定義該buffering model的參數,第三欄顯示用來儲存資料所使用的函式呼叫。表格第一列代表baseline,也就是unbuffered I/O、4K buffer size、且沒有disk synchronization的組合,後續小題都要跟這個baseline比較。

Setting(Buffering model)Setting(參數)函式呼叫待回答小題
Unbuffered IOBuf Size 4KBwrite()(baseline,用來比較)
Unbuffered IOBuf Size 4KBfsync() after write()(a) (2 pts) Clock time與baseline相比如何?
Unbuffered IOBuf Size 8KBfsync() after write()(b) (2 pts) User CPU time與baseline相比如何?
Buffered IOline-at-a-timeputs()(c) (2 pts) System CPU time與baseline相比如何?
Buffered IOfully bufferputs()(d) (2 pts) User CPU time與baseline相比如何?
Buffered IOfully bufferputs()+fflush()+fsync()(e) (2 pts) System CPU time與baseline相比如何?
📄 台大110
跳轉到第題
▤完整推導請見《WH 資工筆記 · 作業系統》Ch2 I/O 運作方式
本章題號 · 1–20 / 23