第八章—虛擬內存【計算機操作系統】

8.1 簡單分頁與虛擬分頁有什麼區別?

簡單分頁:一個程序中的所有的頁都必須在主存儲器中程序才能正常運行,除非使用覆蓋技術。

擬內存分頁:不是程序的每一頁都必須在主存儲器的幀中來使程序運行,頁在需要的時候進行讀取。

8.2 解釋什麼是抖動。

虛擬內存結構的震動現象,在這個過程中處理器大部分的時間都用於交換塊,而不是執行指令。

8.3 爲什麼在使用虛擬內存時,局部性原理是至關重要的?

可以根據局部性原理設計算法來避免抖動。總的來說,局部性原理允許算法預測哪一個當前頁在最近的未來是最少可能被使用的,並由此就決定候選的替換出的頁。

8.4 哪些元素是頁表項中可以找到的元素?簡單定義每個元素。

幀號:用來表示主存中的頁來按順序排列的號碼。

存在位(P):表示這一頁是否當前在主存中。

修改位(M):表示這一頁在放進主存後是否被修改過。

8.5 轉移後備緩衝器的目的是什麼?

轉移後備緩衝器(TLB)是一個包含最近經常被使用過的頁表項的高速緩衝存儲器。它的目的是爲了減少從磁盤中恢復一個頁表項所需的時間。

8.6 簡單定義兩種可供選擇的頁讀取策略。

在請求式分頁中,只有當訪問到某頁中的一個單元時纔將該頁取入主存。

在預約式分頁中,讀取的並不是頁錯誤請求的頁。

8.7 駐留集管理和頁替換策略有什麼區別?

駐留集管理主要關注以下兩個問題:(1)給每個活動進程分配多少個頁幀。(2)被考慮替換的頁集是僅限在引起頁錯誤的進程的駐留集中選擇還是在主存中所有的頁幀中選擇。

頁替換策略關注的是以下問題:在考慮的頁集中,哪一個特殊的頁應該被選擇替換。

8.8 FIFO和Clock頁替換算法有什麼區別?

時鐘算法與FIFO算法很接近,除了在時鐘算法中,任何一個使用位爲一的頁被忽略。

8.9 頁緩衝實現的是什麼?

(1)被替換出駐留集的頁不久又被訪問到時,仍在主存中,減少了一次磁盤讀寫。

(2)被修改的頁以簇的方式被寫回,而不是一次只寫一個,這就大大減少了I/O操作的數目,從而減少了磁盤訪問的時間。

8.10 爲什麼不可能把全局替換策略和固定分配策略組合起來?

固定分配策略要求分配給一個進程的幀的數目是確定的,當一個進程中取入一個新的頁時,這個進程駐留頁集中的一頁必須被替換出來(保持分配的幀的數目不變),這是一種局部替換策略。

8.11 駐留集和工作集有什麼區別?

一個進程的駐留集是指當前在主存中的這個進程的頁的個數。一個進程的工作集是指這個進程最近被使用過的頁的個數。

8.12 請求式清除和預約式清除有什麼區別?

在請求式清除中,只有當一頁被選擇用於替換時才被寫回輔存;

在預約式清除中,將這些被修改的多個頁在需要用到它們所佔據的頁幀之前成批的寫回輔存。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章