欢迎来到天天文库
浏览记录
ID:43223694
大小:202.50 KB
页数:40页
时间:2019-10-04
《记忆体管理课件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章記憶體管理著作權所有©旗標出版股份有限公司本章提要實體記憶體的分割方式分頁分段置換2著作權所有©旗標出版股份有限公司4-1實體記憶體的分割方式-由簡而繁單一分割區的配置多個行程時的記憶體配置固定長度的多重分割區變動長度的多重分割區好搭檔系統3著作權所有©旗標出版股份有限公司單一分割區的配置將記憶體空間分成兩塊﹐一塊給作業系統使用﹐另一塊則給行程使用可以利用硬體的基底暫存器來避免行程存取到作業系統的記憶體位址如果程式所產生的位址小於基底暫存器中的位址﹐則會產生定址錯誤的例外中斷4著作權所有©旗標出版股份有限公司>定址錯誤例外中斷是否圖4-1.a合法的邏輯位址實體
2、位址基底暫存器100記憶體0Max-1實體記憶體位址100112作業系統使用者行程1125著作權所有©旗標出版股份有限公司>定址錯誤例外中斷是否圖4-1.b存取到作業系統的記憶體位址實體位址基底暫存器100記憶體0Max-1實體記憶體位址100作業系統使用者行程0010016著作權所有©旗標出版股份有限公司課堂練習假設作業系統是位於實體記憶體由0開始的連續區段之中,且長度為256KB請問基底暫存器的值至少應該設為多少?請問下列位址何者為合法的行程位址?300K25K3007著作權所有©旗標出版股份有限公司練習解答基底暫存器的值:大於等於256K行程:300K-合法2
3、5K-不合法600-不合法8著作權所有©旗標出版股份有限公司重定址暫存器另一種保護的方式是使用重定址暫存器,用來存放行程的啟始位址在編譯的時候﹐將程式從0開始配置邏輯位址:程式好像是運作在一個從0開始的一大片連續的邏輯位址空間中實體位址:由記憶體管理硬體負責將邏輯位址轉換為在實體記憶體中的真正位址9著作權所有©旗標出版股份有限公司圖4-2利用重定址暫存器的記憶體位址轉換邏輯位址重定址暫存器100記憶體0Max-1實體記憶體位址32100132使用者行程作業系統10著作權所有©旗標出版股份有限公司程式的載入絕對程式碼:在程式編譯時預先決定這支程式要放在實體記憶體的哪個
4、位置執行﹐則編譯出來的程式碼邏輯位址會等於實體位址缺點在於程式碼只能放在記憶體的固定位置﹐當多個行程要共享記憶體時﹐就可能彼此產生干擾可重定址程式碼:在編譯時是從0開始配置位址,然後在載入時才決定要放在哪個位置必須透過邏輯位址加上重定址暫存器的內容,才能取得行程的實體位址如果需要改變行程在實體記憶體中的位置時﹐只要在搬移行程之後改變重定址暫存器的值就可以了11著作權所有©旗標出版股份有限公司多個行程時的記憶體配置-固定長度將記憶體切割為相同大小的分割區﹐作業系統只需要記住每個行程分配到哪個分割區就可以了--最簡單的多行程配置方式因為分割區的長度都相同﹐所以在開機的時
5、候就可以設定長度暫存器的值然後在某個行程取得CPU控制權的時候﹐作業系統就將重定址暫存器的內容重新設定到該行程所在的分割區如果將記憶體分割成相同大小的分割區﹐有些區域內就會剩下很多空間,稱為內部碎片可以將記憶體分割為大小不等的數個固定長度分割區,並且將不同大小的行程配置到不同長度的分割區中當輪到某個行程使用CPU時﹐除了要設定重定址暫存器之外﹐作業系統還必須將長度暫存器的值設定為該行程所在分割區的長度12著作權所有©旗標出版股份有限公司變動長度的多重分割區另一種減少內部碎片的方法﹐就是不要事先分割記憶體﹐而是根據目前的記憶體使用情況﹐與即將要載入的行程長度﹐來動態分
6、割記憶體可以將內部碎片降至最低﹐但是卻可能造成外部碎片如果分割區配置的選擇不當,就可能會加重外部碎片的問題可利用聚集法重新搬移各個行程﹐將這些碎片聚集成為完整的一大塊連續空間13著作權所有©旗標出版股份有限公司圖4-3外部碎片範例實體記憶體ABCDFree(a)實體記憶體ABDFree(b)(c)Free行程C結束行程F想要進入F>CF>FreeF7、容納的洞中次適法:從上次搜尋結束的位置往下繼續搜尋﹐以改善搜尋的時間最適法:從所有的閒置區域中找出長度大於這個行程﹐而且最接近這個行程的洞最不適法:將最大的洞分配給行程15著作權所有©旗標出版股份有限公司圖4-4分割區的選擇演算法範例ABCD上次配置結束位置新行程記憶體FirstFitBestFitNextFitWorstFit16著作權所有©旗標出版股份有限公司課堂練習A(500K)B(200K)E(330K)D(700K)上次配置結束位置300K新行程C(400K)Q:假設記憶體目前的配置狀況如圖,白色區域為尚未使用的部份。請分別指出使用先適法、次適法、最適
7、容納的洞中次適法:從上次搜尋結束的位置往下繼續搜尋﹐以改善搜尋的時間最適法:從所有的閒置區域中找出長度大於這個行程﹐而且最接近這個行程的洞最不適法:將最大的洞分配給行程15著作權所有©旗標出版股份有限公司圖4-4分割區的選擇演算法範例ABCD上次配置結束位置新行程記憶體FirstFitBestFitNextFitWorstFit16著作權所有©旗標出版股份有限公司課堂練習A(500K)B(200K)E(330K)D(700K)上次配置結束位置300K新行程C(400K)Q:假設記憶體目前的配置狀況如圖,白色區域為尚未使用的部份。請分別指出使用先適法、次適法、最適
此文档下载收益归作者所有