操作系统习题5—存储管理
操作系統習題5—存儲管理
1、采用可變分區管理存儲空間時,若主存中按地址順序依次有五個空閑區,大小分別為 15K、28K、10K、226K、110K。現有五個作業 J1 到 J5,它們所需的主存空間依次是 10K、15K、102K、26K、180K。問分別用 first-fit, best-fit 和 worst-fit 算法將它們裝入到內存的哪個分區?能否把這五個作業按 J1 到 J5 的次序全部裝入內存?使用哪種分配算法可使內存的利用率最高?
① First-fit 算法:每次為作業分配第一個不小于其所需空間的空閑區。
| J1 | 裝入第一空閑區,第一空閑區剩余大小為 5K |
| J2 | 裝入第二空閑區,第二空閑區剩余大小為 13K |
| J3 | 裝入第四空閑區,第四空閑區剩余大小為 124K |
| J4 | 裝入第四空閑區,第四空閑區剩余大小為 98K |
| J5 | 找不到內存空間足夠的空閑區 |
結果:使用 First-fit 算法不能將這五個作業全部裝入內存
② Best-fit 算法:每次為作業分配第一個最接近的且不小于其所需空間的空閑區。
| J1 | 裝入第三空閑區,第三空閑區剩余大小為 0K |
| J2 | 裝入第一空閑區,第一空閑區剩余大小為 0K |
| J3 | 裝入第五空閑區,第五空閑區剩余大小為 8K |
| J4 | 裝入第二空閑區,第二空閑區剩余大小為 2K |
| J5 | 裝入第四空閑區,第四空閑區剩余大小為 46K |
結果:使用 Best-fit 算法可以將這五個作業全部裝入內存
③ Worst-fit 算法:每次為作業分配最大的空閑區。
| J1 | 裝入第四空閑區,第四空閑區剩余大小為 216K |
| J2 | 裝入第四空閑區,第四空閑區剩余大小為 201K |
| J3 | 裝入第四空閑區,第四空閑區剩余大小為 99K |
| J4 | 裝入第五空閑區,第五空閑區剩余大小為 84K |
| J5 | 找不到內存空間足夠的空閑區 |
結果:使用 Worst-fit 算法不能將這五個作業全部裝入內存
綜上所述,使用 Best-fit 分配算法能使內存的利用率最高。
2、若在一分頁存儲管理系統中,某作業的頁表如下所示。已知頁面大小為 1024 字節,試將邏輯地址 1011,2148,4000,5012 轉化為相應的物理地址。
設頁面為 P,頁面位移為 W,邏輯地址為 A,內存地址為 M,頁面大小為 L。P=int(A/L),W=A mod L
① 邏輯地址 1011
P = int(1011/1024) = 0
W= 1011 mod 1024 = 1011
A = 1011 = (0,1011)
查閱頁表可知,第 0 頁在第 2 物理塊,物理地址 M = 1024*2+1011 = 3059
② 邏輯地址 2148
P = int(2148/1024) = 2
W = 2148 mod 1024 =100
A = 2148 = (2,100)
查閱頁表可知,第 2 頁在第 1 物理塊,物理地址 M = 1024*1+100 = 1124
③ 邏輯地址 4000
P = int(4000/1024) = 3
W = 4000 mod 1024 = 928
A = 4000 = (3,928)
查閱頁表可知,第 3 頁在第 6 物理塊,物理地址 M = 1024*6+928 = 7072
④ 邏輯地址 5012
P = int(5012/1024) = 4
W = 5012 mod 1024 = 916
頁號超過頁表長度,該邏輯地址非法
3、某虛擬存儲器的用戶編程空間共 32 個頁面,每頁為 1KB,內存為16KB。假定某時刻一用戶頁表中已調入內存的頁面的頁號和物理塊號的對照表如下,請計算邏輯地址 0A5C(H)所對應的絕對地址。
邏輯地址 0A5C(H)轉換成十進制為 2652(D)
頁面 P = (2652/1024) = 2
頁面位移 W = 2652 mod 1024 = 604
邏輯地址 A = 2652 = (2, 604)
查閱頁表可知,第 2 頁在第 4 物理塊,物理地址 M = 1024*4+604 = 4700
物理地址 4700(D)轉換成 16 進制為 125C(H)
所以,絕對地址為 125C(H)
4、某采用頁式虛擬存儲管理的系統,接收了一個共 7 頁的作業,作業執行時依次訪問的頁為:1、2、3、4、2、1、5、6、2、1、2、3、7。當內存塊數量為 4 時,請分別用先進先出(FIFO)調度算法和最近最少使用(LRU)調度算法,計算作業執行過程中會產生多少次缺頁中斷?寫出依次產生缺頁中斷后應淘汰的頁(要求寫出計算過程)。
① FIFO 算法
| 物理塊1 | 1 | 1 | 1 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 3 | 3 |
| 物理塊2 | 2 | 2 | 2 | 2 | 2 | 2 | 6 | 6 | 6 | 6 | 6 | 7 | |
| 物理塊3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | ||
| 物理塊4 | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 | 1 | 1 | |||
| 是否缺頁 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | |||
| 淘汰頁 | 1 | 2 | 3 | 4 | 5 | 6 |
采用 FIFO 算法,發生 10 次缺頁中斷,淘汰頁依次為:1、2、3、4、5、6。
② LRU 算法
| 物理塊1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 物理塊2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | |
| 物理塊3 | 3 | 3 | 3 | 3 | 5 | 5 | 5 | 5 | 5 | 3 | 3 | ||
| 物理塊4 | 4 | 4 | 4 | 4 | 6 | 6 | 6 | 6 | 6 | 7 | |||
| 是否缺頁 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | |||||
| 淘汰頁 | 3 | 4 | 5 | 6 |
采用 LRU 算法,發生 8 次缺頁中斷,淘汰頁依次為:3、4、5、6。
5、某采用頁式虛擬存儲管理的系統,進程訪問地址序列為:10, 11, 104, 170, 73, 305, 180, 240, 244, 445, 467, 366。試問如果頁面大小為 100,請給出頁面訪問序列;進程若分得 3 個頁幀,采用 CLOCK 替換算法,求缺頁中斷率?寫出依次產生缺頁中斷后應淘汰的頁(要求寫出計算過程)。
頁面訪問序號依次為:0、0、1、1、0、3、1、2、2、4、4、3。
CLOCK 算法
| 物理塊1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 2 | 2 | 2 |
| 物理塊2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 4 | 4 | 4 | ||
| 物理塊3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||||
| 是否缺頁 | 是 | 是 | 是 | 是 | 是 | |||||||
| 淘汰頁 | 0 | 1 |
采用 CLOCK 算法,發生 5 次缺頁中斷,淘汰頁依次為 0、1。
缺頁中斷率 =(5/12)*100% = 41.7%。
總結
以上是生活随笔為你收集整理的操作系统习题5—存储管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统习题4—进程死锁
- 下一篇: 操作系统习题6—存储管理2