- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
资工系网媒所NEWS试验室
* /80 * 工作集合模式 5 5 5 4 7 7 7 5 1 1 6 2 3 4 1 5 3 4 1 5 5 5 3 4 3 4 3 3 3 1 2 3 2 3 4 4 4 3 4 4 4 … n WS(t1)={1,4,5,7} t1 n WS(t2)={3,4,5} t2 * /80 * 工作集合模型(3/3) 作業系統監督每個行程的工作集合 若能給予每個行程足夠的頁框,則不會發生分頁置換的問題 若系統內所有行程的所有工作集合所需頁框的總和超過記憶體所能提供就發生輾轉現象 解決方式:給予行程更多的頁框數目;或降低程式多元度 工作集合的做法可以有效預防輾轉現象;也盡可能維持較高的程式多元度,使 CPU 有較高的使用率 * /80 * 分頁錯誤頻率(1/2) 藉由控制系統中的分頁錯誤頻率以避免發生輾轉現象 作業系統中先定義分頁錯誤頻率的上限與下限 當某行程的分頁錯誤頻率大於系統定義上限,表示此行程所需頁框數目不足,必須再配置 若分頁錯誤頻率比下限還低,表示此行程擁有過多的頁框,系統可以收回未使用頁框 若行程的分頁錯誤頻率增加但系統中已無空頁框可使用 可暫停部份行程,將其頁框收回並配置給其餘行程使用 * /80 * 分頁錯誤頻率(2/2) 分頁錯誤率 配置頁框數目 上限 下限 * /80 * 第九章 虛擬記憶體 背景介紹 分頁替換 頁框配置 輾轉現象 實作議題 預先分頁 程式結構 分頁伺服精靈 分頁上鎖 分頁大小 其他考量 摘要 * /80 * 預先分頁 將行程所需的分頁,在實際使用前先置入記憶體,以降低分頁錯誤的發生 可能預先分頁處理的代價高於處理分頁錯誤,例:許多被預先載入記憶體的分頁最後並沒有被使用 * /80 * 程式結構(1/2) 謹慎地設計程式與資料結構,可增加行程局部區域性,並降低分頁錯誤的次數 分頁大小對分頁錯誤的影響也相當大 * /80 * 一個 3 × 2 陣列 B[0][0] B[0][1] B[1][0] B[1][1] B[2][0] B[2][1] M:array[0 … 2,0 … 1] of integer M[0][0] M[0][1] M[1][0] M[1][1] M[2][0] M[2][1] M[0][0] M[1][0] M[2][0] M[0][1] M[1][1] M[2][1] (a) 列優先 (b) 行優先 * /80 * 程式結構(2/2) N:[1 … 128,1 … 128] of integer for j = 1 to 128 for i = 1 128 N[i][j] = 0; N[1][1] N[1][2] : N[1][128] N[2][1] N[2][2] : N[2][128] 列優先 每頁 256 位元 * /80 * 分頁伺服精靈 在頁框數目足夠的狀況下,分頁法會有較好效果 當分頁錯誤發生時,只要直接將所要求的分頁置入所分配頁框即可 可省下將換出分頁寫回磁碟的時間 分頁伺服精靈:每隔一段時間檢查記憶體的狀態 若可用的頁框太少,伺服精靈會利用分頁替換演算法選擇一個分頁,並在系統較空閒時置換掉;被選中的分頁如果被修改過,它才會被存回磁碟中 若某分頁行程需要再度使用該分頁,且原本記憶體中資料沒被修改,分頁伺服精靈會直接取得此分頁,不必重新從磁碟中載入 可確保系統中有足夠空的頁框可用;保持記憶體中頁框供應無虞 * /80 * 分頁上鎖 有些狀況必須讓分頁被鎖在記憶體中,不進行置換 例:當某行程由硬碟讀取檔案,或等待資料讀入而作系統呼叫 該行程會被放到 I/O 等待佇列中 系統切換到另一個行程執行 如果新執行的行程發生分頁錯誤,且使用全域配置頁框法,就有可能將等待 I/O 的行程分頁置換掉,會發生問題 解決方法: 允許分頁能夠被鎖在記憶體中,不會被置換 所有 I/O 的動作都必須先寫入系統緩衝區,再將資料搬移到使用者分頁 * /80 * 分頁大小(1/2) 決定最佳分頁的大小,需考慮: 內部斷裂的情形: 每一個行程平均浪費半頁的空間;使用較小的分頁,會減少記憶體的浪費 區域性:使用較小分頁可以精確表現行程的區域性 使用較大的分頁: 分頁的數目減少使得分頁表較小;節省空間也節省搜尋分頁表的時間 可涵蓋較多的指令與資料,降低分頁錯誤的發生 * /80 * 分頁大小(2/2) 從 I/O 的角度,要載入相同的資料,只需載入較少數量的分頁,所花費的時間比較小分頁所花費的時間少 進行內文切換時,只需切換較小的分頁表 使用較大分頁較好:因為現在 CPU 執行速度很快;記憶體容量大又便宜,存取的速度也很快,為了提高系統的效能 * /80 * 其他考量(1/2) 即時處理方面: 需要即時處理的行程,取得 CPU 執行權後,
文档评论(0)