每次磁碟訪問的目的以及為什麼可能不會發生

每次磁碟訪問的目的以及為什麼可能不會發生

我正在複習過去的考試試卷,但我的大學沒有提供答案,以便我檢查它們,請您讓我知道我的理解是否正確,如果不正確,請您糾正。

問題:Linux系統上執行的程式P以磁碟上包含文字的檔案的名稱和路徑作為參數;它打開文件並從中讀取第一個字元。假設程式已經運行並且文件存在,列出可能發生的磁碟讀取請求,描述:

• 每次磁碟存取的目的。

• 為什麼磁碟讀取請求可能不會總是發生。

試圖:磁碟讀取請求可能不會總是發生,因為可能會發生快取命中,因此可以在沒有磁碟讀取請求的情況下從快取讀取檔案。如果不發生這種情況,將會發生磁碟存取。一個用於獲取文件名,另一個用於獲取文件的路徑,最後一個用於從文件中讀取第一個字符

答案1

您忘記了至少一次磁碟存取:檔案的目錄條目有一個access time,因此每次讀取,即使檔案本身位於快取中,也意味著必須更新目錄。

但說實話,如果不知道很多前提條件,這個問題就很難回答。 「可能的」磁碟存取取決於許多因素,最重要的因素可能是檔案的大小。

相關內容