操作系統恐龍書第十版CH10 題庫

1. What is the benefit of using sparse addresses in virtual memory?

虛擬位址空間中堆積和堆疊之間的空白空間稱為鬆散的位址空間,使用鬆散的位址空間是有益的,因為在堆疊或堆疊的成長區段,或者程式在執行時,如果我們想要動態連結到程式庫,皆能將區間填滿。

2. Explain the distinction between a demand-paging system and a paging system with swapping.

需求分頁系統就像一種使用置換法的分頁系統,process存放在輔助記憶體,使用需求分頁,當process執行時,就把那個process換至記憶體中.不將整個process交換到記憶體中,而是使用lazy swapper需要時才將該頁換到記憶體,因此,具有交換功能的分頁系統操縱整個process,而請求分頁器則關注process的各個頁面。

3. Explain the sequence of events that happens when a page-fault occurs. 

當os無法載入需要的分頁到記憶體將會發生分頁錯誤.首先,檢查記憶體參考的有效性,在請求無效的情況下,process將終止.如果請求有效,則找到一個空白欄.disk operation 會安排將頁面讀入剛剛找到的欄,更新頁表,重新啟動因為分頁錯誤而造成中斷的指令,並相對。

4. How is the effective access time computed for a demand-paged memory system? 

有效存取時間=(1-分頁錯誤出現的機率)*記憶體存取時間+分頁錯誤出現的機率*分頁。

5. Explain how copy-on-write operates.

COW讓父process和子process在最初時共享相同的分頁,只要任一process只讀取-不修改-共享頁面,兩個process就可以共享相同頁面,因此提高系統效率,然而,只要一process修改共享頁面,就會創建一個共享頁面的副本,因此為每個process提供自己的私有頁面,例如,假設一個值為 5 的整數 X 在標記為 COW 的共享頁面中。然後父process繼續修改 X,將其值更改為 10。由於此頁面被標記為 COW,因此為父process創建了該頁面的副本,這將 X 的值更改為 10。X 的值保持為5 為子process
 

6. Explain the usefulness of a modify bit.

在每頁或每欄都可以有一個修改位元來伴隨它,如果欄被修改,則修改位元被設定,當頁面被選擇進行替換時,修改位很有用,如果該位未設置,該頁不需要寫入disk。如果設置了修改位,則頁面選擇替換時需要寫入disk。

7. How does the second-chance algorithm for page replacement differ from the FIFO page replacement algorithm?

second-chance 算法是基於 FIFO 替換算法,在最壞的情況下退化為 FIFO。在第二次機會演算法中,使用參考位元實作 FIFO 替換。如果參考位元被設置,則將其清除,頁面的到達時間設置為當前時間,程序以類似的方式在頁面中移動,直到找到已清除的參考位元並隨後將其替換。

8. Explain the distinction between global allocation versus local allocation. 

全域替換法允許一個process從所有欄數中選出一個替換欄,即使目前該欄正分配給其他某process使用中,一個process可以從其他process獲得一欄.區域替換法要求每一個行程只能從自己選出欄。

9. Why doesn't a local replacement algorithm solve the problem of thrashing entirely?

若使用區域替換法,如果某process開始出現輾轉現象,他就無法從其他process處取得自己要用的欄,將會引起其他process也出現輾轉現象.如果有好幾個process都出現輾轉現象,那麼他們大部分時間將在等待分頁裝置的佇列中.處理分頁錯誤的平均時間將會增加,這是因為在等待分頁裝置的佇列中所費的時間平均變長,因此即使沒有出現輾轉現象的process,它的有效存取時間也會增加。

10. What are the benefits of using slab allocation to allocate kernel memory?

平板配置器提供兩種主要優點:

1.不會因為斷裂而浪費記憶體,當核心為一個物件要求記憶體時,平板配置器傳回代表物件需求的精確記憶體量.

2.記憶體需求能很快被滿足.預先產生物件且能很快地從快取配置,當核心用完物件釋放他的時候,他被標示當作可用,並且歸還到他的快取,因此來自核心後來的需求立刻可以使用

11. Explain the concept behind prepaging. 

例如純需求分頁系統,當一個process開始執行的時候就會出現一大堆分頁錯誤.預先分頁就是想要防止這種高度的一開始需求分頁.其策略就是把所有需要的頁都在同一時間都載入記憶體.

12. Discuss two strategies for increasing TLB reach. 

(1)加大TLB entry 數目

=>缺點:費用貴

仍不足以包含working set

(2)加大page size

=>缺點:內部碎裂嚴重

現行解法:提供不同size的pages,由os管理,非硬體,TLB由OS管理

13. How are lock bits useful in I/O requests?

鎖定位元與每個欄相關聯。如果欄被鎖定,則無法選擇它進行更換。

為了在磁帶上寫入一個區塊,我們將包含該區塊的頁面鎖定到記憶體中。系統就可以正常的運作.這些分頁無法被替換掉.當I/O工作完之後,這些分頁的鎖就會被打開.

14. Explain how working set model works. 

工作集模型使用一個參數∆,在最近∆頁參考中的頁所組成的集合就是工作集.

僅當process的整個工作集都可以容納在記憶體中時,才允許process運行。 否則,進程被換出。 如果記憶體中有足夠的額外欄,則可以啟動另一個process。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值