操作系統原理之存儲問題


 1. 某個OS采用可變分區分配方法管理,用戶主存512KB,自由區由可用空區表管 理。若分配時采用分配自由區的低地址部分的方案,假設初始時全為空。對於 下列申請順序: 申請(300KB), 申請(100KB), 釋放(300KB), 申請(150KB),申請 (30KB),申請(40KB),申請(60KB),釋放(30KB)。 回答下列問題: ( 1) 采用首次適應( FF),自由空區中有哪些空塊(給出地址和大小)? ( 2) 若采用最佳適應( BF),回答( 1)中的問題。 ( 3) 如果再申請100KB,針對( 1)和( 2)各有什么結果?

1)如圖

  

 

空閑區: 起始地址: 150K     280K     400K

                 大小:  30K      20K     112K

 

(2)如圖

                      

 

空閑區: 起始地址: 210K     400K     470K

                  大小:  90K      30K      42K

 

(3)        針對(1) 可分配在400K位置

            針對(2) 無法分配

 

2. 考慮下面的頁訪問串: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 假定有4,5,6個頁塊, 應用下面的頁面替換算法,計算各會出現多少次缺頁中斷。注意,所給定的頁 塊初始均為空,因此,首次訪問一頁時就會發生缺頁中斷。

( 1) LRU ( 2) FIFO ( 3) Optimal

 

(1) LRU

 

 4個頁塊:

 

頁面

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

內存塊

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

 

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

 

 

1

2

3

4

2

1

5

6

6

1

2

3

7

6

3

3

1

2

 

 

 

1

1

3

4

2

1

5

5

6

1

2

2

7

6

6

6

1

缺頁

y

y

y

y

 

 

y

y

 

 

 

y

y

y

 

 

y

 

 

 

 

可得共出現缺頁中斷10次

 

步驟同上圖可得5個頁塊共出現缺頁中斷8次,6個頁塊共出現缺頁中斷7次

 

(2) FIFO

 

4個頁塊:

 

頁面

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

內存塊

1

2

3

4

4

4

5

6

2

1

1

3

7

6

6

2

1

1

3

3

 

1

2

3

3

3

4

5

6

2

2

1

3

7

7

6

2

2

1

1

 

 

1

2

2

2

3

4

5

6

6

2

1

3

3

7

6

6

2

2

 

 

 

1

1

1

2

3

4

5

5

6

2

1

1

3

7

7

6

6

缺頁

y

y

y

y

 

 

y

y

y

y

 

y

y

y

 

y

y

 

y

 

 

可得共出現缺頁中斷14次

 

步驟同上圖可得5個頁塊共出現缺頁中斷10次,6個頁塊共出現缺頁中斷10次

 

(3) Optimal

 

4個頁塊:

 

頁面

1

2

3

4

2

1

5

6

2

1

2

3

7

6

3

2

1

2

3

6

內存塊

1

2

3

4

4

4

5

6

6

6

6

6

7

7

7

7

1

1

1

1

 

1

2

3

3

3

3

3

3

3

3

3

6

6

6

6

6

6

6

6

 

 

1

2

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

 

 

 

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

缺頁

y

y

y

y

 

 

y

y

 

 

 

 

y

 

 

 

y

 

 

 

 

可得共出現缺頁中斷8次

 

步驟同上圖可得5個頁塊共出現缺頁中斷8次,6個頁塊共出現缺頁中斷7次

 

3. 一台計算機有4個頁塊,裝入時間、上次引用時間、它們的R(讀)與M(修改) 位如下表所示(時間:滴答),請問NRU、 FIFO、 LRU和第二次機會算法將替 換那一頁?

NRU算法將替換0類編號頁頁0;

FIFO算法將替換最早裝入頁頁2

LRU算法將替換最近未被使用頁頁1

第二次機會算法將替換載入時間早且R位為零的頁頁0。

 

4. 有一頁式系統,其頁表存放在主存中。

( 1)如果對主存的一次存取需要1.5微秒,試問實現一次頁面訪問時的存取時間是 多少?

( 2)如果系統加有快表且平均命中率為85%,而頁表項在快表中的查找時間忽略為 0,試問此時的存取時間為多少?

 

(1)需要兩次訪問內存:

 

第一次是訪問頁表,從而找到線性地址對應的物理地址;

 

第二次是利用找到的物理地址來訪問實際的內存頁面。

 

所以共需要3微秒。

 

(2)在快表中得到物理地址到主存找的概率是85%,需要1.5微秒;頁表不在快表中在主存的概率是15%,需要3微秒,所以存取時間為1.5*0.85+3*0.15=1.725微秒。

 

 

5. 已知某系統頁面長4KB,頁表項4B,采用多層分頁策略映射64位虛擬地址空間。 若限定最高層頁表占1頁,問它可以采用幾層分頁策略。

 

頁面大小為4KB,總共有212位信息,其中只有210位信息是所需要的信息,而另外4字節的內容是管理這張頁表的信息。64位地址空間,事實上每頁只能存放10位的容量,去掉作為頁內地址的12位空間,將有252頁表,將這些頁表按每頁存放10位容量計算,則需要[52/10]=6層,故必須采取6層分頁策略。

 

6. 在一個段式存儲管理系統中,其段表如表1所示。試求表2所示中的邏輯地址所 對應的物理地址。

(1)由於第0段的內存始址為210,段長為500,故邏輯地址[0,430]是合法地址。邏輯地址[0,430] 對應的物理地址為210+430=640。

 

(2)由於第1段的內存始址為2350,段長為20,故邏輯地址[1,10]是合法地址。邏輯地址[1,10]對應 的物理地址為2350+10=2360。

 

(3)由於第段起始地址為100,段長為90,所給邏輯地址[2,500]非法。

 

(4)由於第3段的內存始址為1350,段長為590,故邏輯地址[3,400]是合法地址。邏輯地址[3,400] 對應的物理地址為1350+400=1750 。

 

(5)由於第4段的內存始址為1938,段長為95,所給邏輯地址[4,112]非法。

 

(6)由於系統中不存在第5段,所給邏輯地址[5,32]非法。

 

7. 請求分頁管理系統中,假設某進程的頁表內容如下表所示:

頁面大小為 4KB,一次內存的訪問時間是 100ns,一次快表(TLB)的訪問時間是10ns, 處理一次缺頁的平均時間 10^8 ns(已含更新 TLB 和頁表的時間),進程的駐留集大小固定為 2,采用最近最少使用置換算法(LRU)和局部淘汰策略。

假設( 1) TLB 初始 為空;( 2) 地址轉換時先訪問 TLB,若 TLB 未命中,再訪問頁表(忽略訪問頁表之后 的 TLB 更新時間);( 3) 有效位為 0 表示頁面不在內存,產生缺頁中斷,缺頁中斷處理后,返回到產生缺頁中斷的指令處重新執行。設有虛地址訪問序列2362H、 1565H、 25A5H,

請問: (1)依次訪問上述三個虛地址,各需多少時間?給出計算過程。

(2)基於上述訪問序列,虛地址 1565H 的物理地址是多少?請說明理由。

 

(1)根據頁式管理工作原理,應先考慮頁面大小,以便將頁號和頁內位移分解出來。頁面大小為4KB,即212,則得到頁內位移占虛地址12位,頁號占剩余高位。可得三個虛地址的頁號P如下: 

 

2362H: P=2,訪問快表10ns,因初始為空,訪問頁表100ns得到頁框號,合成物理地址后訪問主存100ns,共計10ns+100ns+100ns=210ns。 

 

1565H:P=1,訪問快表10ns,落空,訪問頁表100ns,落空,進行缺頁中斷處理108ns,合成物理地址后訪問主存100ns,共計10ns+100ns+108ns+100ns≈108ns。 

 

25A5H:P=2,訪問快表,因第一次訪問已將該頁號放入塊表,因此花費10ns便可合成物理地址,訪主存100ns,共計10ns+100ns=110ns。

 

(2)當訪問虛地址1565H時,產生缺頁中斷,合法駐留集為2,必須從頁表中淘汰一個頁面,根據題目的置換算法,應淘汰0號頁面,因此1565H的對應頁框號為101H。由此可得1565H物理地址為101565H。 

 

8. 設某計算機的邏輯地址空間和物理地址空間均為 64KB,按字節編址。若某進程 最多需要 6 頁(Page)數據存儲空間,頁的大小為 1KB,操作系統采用固定分配 局部置換策略為此進程分配 4 個頁框(Page Frame)。在時刻 260 前的該進程 訪問情況如下表所示(訪問位即使用位)。

當該進程執行到時刻 260 時,要訪問邏輯地址為 17CAH 的數據。請回答下列問題:

(1) 該邏輯地址對應的頁號是多少?

(2) 若采用先進先出(FIFO)置換算法,該邏輯地址對應的物理地址是多少?要求給出計算過程。

(3) 若采用時鍾(CLOCK)置換算法,該邏輯地址對應的物理地址是多少?要求給出計算過程 (設搜索下一頁的指針沿順時針方向移動,且當前指向2號頁框,示意圖如下) 。

(1)17CAH=(0001 0111 1100 1010)2。頁大小為1K,所以頁內偏移地址為10位,於是前6位是頁號,所以得到頁號為:5。

(2)若采用FIFO算法,則被置換的頁面所在頁框為7,所以對應的物理地址為(0001 1111 1100 1010)2=1FCAH。

(3)若采用時鍾算法,第一次循環時訪問位都置為0,又當前指針指向2號頁框,故第二次循環將置換2號頁框對應的頁,所以對應的物理地址為(0000 1011 1100 1010)2=0BCAH。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM