第四章存儲(chǔ)管理_第1頁(yè)
第四章存儲(chǔ)管理_第2頁(yè)
第四章存儲(chǔ)管理_第3頁(yè)
第四章存儲(chǔ)管理_第4頁(yè)
第四章存儲(chǔ)管理_第5頁(yè)
已閱讀5頁(yè),還剩102頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、存儲(chǔ)管理存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)器的層次結(jié)構(gòu)寄存器寄存器高速緩存高速緩存主存主存磁盤緩存磁盤緩存磁盤磁盤可移動(dòng)存儲(chǔ)介質(zhì)可移動(dòng)存儲(chǔ)介質(zhì)第四章第四章 存儲(chǔ)管理存儲(chǔ)管理存儲(chǔ)管理第四章第四章 存儲(chǔ)管理存儲(chǔ)管理l存儲(chǔ)管理主要研究進(jìn)程如何占用主存資源。存儲(chǔ)管理主要研究進(jìn)程如何占用主存資源。l設(shè)計(jì)操作系統(tǒng)的重要目標(biāo)之一是提高計(jì)算機(jī)設(shè)計(jì)操作系統(tǒng)的重要目標(biāo)之一是提高計(jì)算機(jī)資源的利用率,而提高計(jì)算機(jī)資源利用率的資源的利用率,而提高計(jì)算機(jī)資源利用率的根本途徑是采用多道程序設(shè)計(jì)技術(shù)。因此,根本途徑是采用多道程序設(shè)計(jì)技術(shù)。因此,必須合理地管理主存儲(chǔ)空間,使盡可能多的必須合理地管理主存儲(chǔ)空間,使盡可能多的進(jìn)程能夠同時(shí)存放于主

2、存以競(jìng)爭(zhēng)進(jìn)程能夠同時(shí)存放于主存以競(jìng)爭(zhēng)CPU,保證,保證CPU和和I/O設(shè)備足夠繁忙。設(shè)備足夠繁忙。存儲(chǔ)管理第四章第四章 存儲(chǔ)管理存儲(chǔ)管理l存儲(chǔ)管理所研究的內(nèi)容主要包括三個(gè)方面:存儲(chǔ)管理所研究的內(nèi)容主要包括三個(gè)方面:l?。簩⒛膫€(gè)進(jìn)程(或進(jìn)程的某些部分)從輔存調(diào)入主存取:將哪個(gè)進(jìn)程(或進(jìn)程的某些部分)從輔存調(diào)入主存l放:研究將取來(lái)的進(jìn)程按何種方式放在主存的什么地方放:研究將取來(lái)的進(jìn)程按何種方式放在主存的什么地方l替換:研究將哪個(gè)進(jìn)程(或進(jìn)程的某部分)暫時(shí)從主存替換:研究將哪個(gè)進(jìn)程(或進(jìn)程的某部分)暫時(shí)從主存移到輔存,以騰出主存空間供其他進(jìn)程占用。移到輔存,以騰出主存空間供其他進(jìn)程占用。l這三方面中

3、,這三方面中,“放放”是存儲(chǔ)管理的基礎(chǔ)。是存儲(chǔ)管理的基礎(chǔ)。l目前,目前,“放放”的技術(shù)可歸結(jié)成兩類:一類是連續(xù)的,的技術(shù)可歸結(jié)成兩類:一類是連續(xù)的,即運(yùn)行的程序和數(shù)據(jù)必須放在主存的一片連續(xù)空間即運(yùn)行的程序和數(shù)據(jù)必須放在主存的一片連續(xù)空間中;另一類是不連續(xù)的,即運(yùn)行的程序和數(shù)據(jù)可以中;另一類是不連續(xù)的,即運(yùn)行的程序和數(shù)據(jù)可以放在主存的多個(gè)不相鄰的塊中。放在主存的多個(gè)不相鄰的塊中。存儲(chǔ)管理第四章第四章 存儲(chǔ)管理存儲(chǔ)管理4.1 連續(xù)空間分配連續(xù)空間分配單道連續(xù)分配單道連續(xù)分配多道固定劃分法(固定分區(qū)分配)多道固定劃分法(固定分區(qū)分配)多道連續(xù)可變劃分法(動(dòng)態(tài)分區(qū)分配)多道連續(xù)可變劃分法(動(dòng)態(tài)分區(qū)分配

4、)4.2 不連續(xù)空間分配不連續(xù)空間分配頁(yè)式管理頁(yè)式管理段式管理段式管理段頁(yè)式管理段頁(yè)式管理4.3 虛擬內(nèi)存管理虛擬內(nèi)存管理存儲(chǔ)管理4.1 連續(xù)空間分配連續(xù)空間分配在早期的操作系統(tǒng)設(shè)計(jì)中,都是采用連續(xù)在早期的操作系統(tǒng)設(shè)計(jì)中,都是采用連續(xù)空間分配的策略。早期操作系統(tǒng)中還沒(méi)有空間分配的策略。早期操作系統(tǒng)中還沒(méi)有引入進(jìn)程概念,主存分配還是以作業(yè)(相引入進(jìn)程概念,主存分配還是以作業(yè)(相當(dāng)于進(jìn)程)為單位進(jìn)行的。當(dāng)于進(jìn)程)為單位進(jìn)行的。存儲(chǔ)管理內(nèi)存空間安排內(nèi)存空間安排4.1.14.1.1單道連續(xù)分配單道連續(xù)分配特點(diǎn):任一時(shí)刻內(nèi)存只有一道作業(yè),該任一時(shí)刻內(nèi)存只有一道作業(yè),該作業(yè)連續(xù)存放于內(nèi)存中。作業(yè)連續(xù)存放于

5、內(nèi)存中。一、空間劃分與保護(hù)操作系統(tǒng)操作系統(tǒng)用戶程序用戶程序0a aa+1a+1n n界地址寄存器界地址寄存器存儲(chǔ)管理界地址寄存器界地址寄存器主存主存A a?A a?cpucputruetruefalsefalse地址地址A A終止程序運(yùn)行終止程序運(yùn)行越界檢查機(jī)構(gòu):用戶程序每次執(zhí)行訪存指用戶程序每次執(zhí)行訪存指令,硬件越界檢查機(jī)構(gòu)將訪問(wèn)的地址與界令,硬件越界檢查機(jī)構(gòu)將訪問(wèn)的地址與界地址寄存器中的值比較。若越界,則終止地址寄存器中的值比較。若越界,則終止其執(zhí)行。其執(zhí)行。存儲(chǔ)管理二、覆蓋(overlay) 因內(nèi)存小于作業(yè)的程序空間而引入覆蓋。將用戶因內(nèi)存小于作業(yè)的程序空間而引入覆蓋。將用戶空間劃分成一

6、個(gè)固定區(qū)和多個(gè)覆蓋區(qū)。主程序放空間劃分成一個(gè)固定區(qū)和多個(gè)覆蓋區(qū)。主程序放固定區(qū),依次調(diào)用的子程序則放在同一個(gè)覆蓋區(qū)。固定區(qū),依次調(diào)用的子程序則放在同一個(gè)覆蓋區(qū)。首先將那些即將要用的段放在覆蓋區(qū),其他段放首先將那些即將要用的段放在覆蓋區(qū),其他段放在輔存,在需要調(diào)用前通過(guò)特定系統(tǒng)調(diào)用將其調(diào)在輔存,在需要調(diào)用前通過(guò)特定系統(tǒng)調(diào)用將其調(diào)入占用覆蓋區(qū),替換覆蓋區(qū)中原有的段。入占用覆蓋區(qū),替換覆蓋區(qū)中原有的段。操作系統(tǒng)提供覆蓋系統(tǒng)調(diào)用函數(shù),操作系統(tǒng)提供覆蓋系統(tǒng)調(diào)用函數(shù),由用戶編程序由用戶編程序時(shí)考慮調(diào)用。時(shí)考慮調(diào)用。存儲(chǔ)管理例如:某作業(yè)各過(guò)程間關(guān)系如下:例如:某作業(yè)各過(guò)程間關(guān)系如下:操作系統(tǒng)操作系統(tǒng)固定區(qū)固

7、定區(qū)(4k)(4k)覆蓋區(qū)覆蓋區(qū)(6k)(6k)覆蓋區(qū)覆蓋區(qū)(10k)(10k)A(4k)A(4k)E(10k)E(10k)D(6k)D(6k)C(4k)C(4k)B(6k)B(6k)F(8k)F(8k)存儲(chǔ)管理覆蓋技術(shù)的主要特點(diǎn)是打破了必須將一個(gè)作業(yè)的覆蓋技術(shù)的主要特點(diǎn)是打破了必須將一個(gè)作業(yè)的全部信息裝入主存后才能運(yùn)行的限制。在一定程全部信息裝入主存后才能運(yùn)行的限制。在一定程度上解決了小主存運(yùn)行大作業(yè)的矛盾。度上解決了小主存運(yùn)行大作業(yè)的矛盾。采用覆蓋技術(shù)是把解決空間不足的問(wèn)題交給了用采用覆蓋技術(shù)是把解決空間不足的問(wèn)題交給了用戶。操作系統(tǒng)提供幫助用戶將覆蓋段調(diào)入主存的戶。操作系統(tǒng)提供幫助用戶將

8、覆蓋段調(diào)入主存的系統(tǒng)調(diào)用,但用戶自己必須說(shuō)明覆蓋段,并安排系統(tǒng)調(diào)用,但用戶自己必須說(shuō)明覆蓋段,并安排調(diào)入覆蓋段,由此可見(jiàn)覆蓋技術(shù)用戶參與過(guò)多,調(diào)入覆蓋段,由此可見(jiàn)覆蓋技術(shù)用戶參與過(guò)多,會(huì)給用戶帶來(lái)麻煩。會(huì)給用戶帶來(lái)麻煩。存儲(chǔ)管理基本思想:將處于等待狀態(tài)將處于等待狀態(tài)( (等等I/O)I/O)或就緒或就緒( (等等CPU)CPU)狀態(tài)的進(jìn)程從主存換出到輔存,把將狀態(tài)的進(jìn)程從主存換出到輔存,把將要執(zhí)行的進(jìn)程移入主存。要執(zhí)行的進(jìn)程移入主存。三、交換進(jìn)程的換出:系統(tǒng)首先選擇處于阻塞狀態(tài)且優(yōu)先進(jìn)程的換出:系統(tǒng)首先選擇處于阻塞狀態(tài)且優(yōu)先級(jí)最低的進(jìn)程作為換出進(jìn)程,然后啟動(dòng)磁盤,將級(jí)最低的進(jìn)程作為換出進(jìn)程,然

9、后啟動(dòng)磁盤,將該進(jìn)程的程序和數(shù)據(jù)傳送到磁盤的對(duì)換區(qū)上,回該進(jìn)程的程序和數(shù)據(jù)傳送到磁盤的對(duì)換區(qū)上,回收內(nèi)存。收內(nèi)存。 進(jìn)程的換入:系統(tǒng)定時(shí)查看所有進(jìn)程的狀態(tài),從進(jìn)程的換入:系統(tǒng)定時(shí)查看所有進(jìn)程的狀態(tài),從中找出就緒狀態(tài)但已換出的進(jìn)程,將其中換出時(shí)中找出就緒狀態(tài)但已換出的進(jìn)程,將其中換出時(shí)間最久的進(jìn)程換入。間最久的進(jìn)程換入。存儲(chǔ)管理程序的裝入和鏈接程序的裝入和鏈接如何將一個(gè)用戶源程序變成一個(gè)可在內(nèi)如何將一個(gè)用戶源程序變成一個(gè)可在內(nèi)存中執(zhí)行的程序?存中執(zhí)行的程序? 對(duì)用戶程序的處理步驟對(duì)用戶程序的處理步驟 存儲(chǔ)管理常用的基本概念1.物理地址空間和邏輯地址空間 物理地址空間物理地址空間(也稱內(nèi)存空間、絕

10、對(duì)地址空間或?qū)崳ㄒ卜Q內(nèi)存空間、絕對(duì)地址空間或?qū)嵖臻g或存儲(chǔ)空間):是指主存中物理單元的集合。空間或存儲(chǔ)空間):是指主存中物理單元的集合。這些單元的編號(hào)稱為物理地址或絕對(duì)地址。這些單元的編號(hào)稱為物理地址或絕對(duì)地址。 邏輯地址空間邏輯地址空間(也稱相對(duì)地址空間、虛空間或地址(也稱相對(duì)地址空間、虛空間或地址空間)空間):當(dāng)對(duì)源程序進(jìn)行編譯時(shí),編譯后一個(gè)目標(biāo)當(dāng)對(duì)源程序進(jìn)行編譯時(shí),編譯后一個(gè)目標(biāo)程序所限定的地址范圍稱為該作業(yè)的邏輯地址空間。程序所限定的地址范圍稱為該作業(yè)的邏輯地址空間。通常所得的目標(biāo)程序起始地址是從通常所得的目標(biāo)程序起始地址是從0 0開(kāi)始的。開(kāi)始的。作業(yè)運(yùn)行時(shí)不能按其邏輯地址訪問(wèn)內(nèi)存單元,

11、而應(yīng)作業(yè)運(yùn)行時(shí)不能按其邏輯地址訪問(wèn)內(nèi)存單元,而應(yīng)按相應(yīng)的物理地址訪問(wèn),需要進(jìn)行邏輯地址到物理按相應(yīng)的物理地址訪問(wèn),需要進(jìn)行邏輯地址到物理地址的轉(zhuǎn)換。地址的轉(zhuǎn)換。 存儲(chǔ)管理存儲(chǔ)管理2.地址重定位 當(dāng)一個(gè)地址裝入與其地址空間不一致當(dāng)一個(gè)地址裝入與其地址空間不一致的存儲(chǔ)空間中,就得要地址變換。也就的存儲(chǔ)空間中,就得要地址變換。也就是說(shuō)將邏輯地址映射為物理地址,把這是說(shuō)將邏輯地址映射為物理地址,把這種作法叫做地址重定位。種作法叫做地址重定位。存儲(chǔ)管理 根據(jù)對(duì)地址變換進(jìn)行的時(shí)間及采用的技術(shù)手段的根據(jù)對(duì)地址變換進(jìn)行的時(shí)間及采用的技術(shù)手段的不同,可把地址重定位分為靜態(tài)重定位和動(dòng)態(tài)重不同,可把地址重定位分為靜

12、態(tài)重定位和動(dòng)態(tài)重定位兩類。定位兩類。 靜態(tài)重定位靜態(tài)重定位:是指在程序運(yùn)行之前由裝入程:是指在程序運(yùn)行之前由裝入程序完成的重定位過(guò)程。在裝入一個(gè)作業(yè)時(shí),把作序完成的重定位過(guò)程。在裝入一個(gè)作業(yè)時(shí),把作業(yè)中的指令地址全部轉(zhuǎn)換為絕對(duì)地址(地址轉(zhuǎn)換業(yè)中的指令地址全部轉(zhuǎn)換為絕對(duì)地址(地址轉(zhuǎn)換工作是在作業(yè)執(zhí)行前集中一次完成的)在作業(yè)執(zhí)工作是在作業(yè)執(zhí)行前集中一次完成的)在作業(yè)執(zhí)行過(guò)程中就無(wú)須再進(jìn)行地址轉(zhuǎn)換工作。行過(guò)程中就無(wú)須再進(jìn)行地址轉(zhuǎn)換工作。 原地址原地址+ +目標(biāo)代碼所在主存起始地址目標(biāo)代碼所在主存起始地址 動(dòng)態(tài)重定位動(dòng)態(tài)重定位:是在程序執(zhí)行過(guò)程中,需要硬:是在程序執(zhí)行過(guò)程中,需要硬件地址轉(zhuǎn)換機(jī)制實(shí)現(xiàn),

13、在執(zhí)行訪存指令時(shí)將件地址轉(zhuǎn)換機(jī)制實(shí)現(xiàn),在執(zhí)行訪存指令時(shí)將“原原地址地址+ +目標(biāo)代碼所在主存起始地址目標(biāo)代碼所在主存起始地址”后進(jìn)行訪問(wèn)。后進(jìn)行訪問(wèn)。 存儲(chǔ)管理靜態(tài)地址重定位靜態(tài)地址重定位主要優(yōu)點(diǎn):無(wú)需增加硬件地址變換機(jī)構(gòu),因而可在一主要優(yōu)點(diǎn):無(wú)需增加硬件地址變換機(jī)構(gòu),因而可在一般計(jì)算機(jī)上實(shí)現(xiàn)般計(jì)算機(jī)上實(shí)現(xiàn) 主要缺點(diǎn):要求給每個(gè)作業(yè)分配一個(gè)連續(xù)的存儲(chǔ)空間,主要缺點(diǎn):要求給每個(gè)作業(yè)分配一個(gè)連續(xù)的存儲(chǔ)空間,且在作業(yè)的整個(gè)執(zhí)行期間不能再移動(dòng),因而也就不能且在作業(yè)的整個(gè)執(zhí)行期間不能再移動(dòng),因而也就不能實(shí)現(xiàn)重新分配主存。實(shí)現(xiàn)重新分配主存。動(dòng)態(tài)地址重定位動(dòng)態(tài)地址重定位主要優(yōu)點(diǎn)有:主要優(yōu)點(diǎn)有:用戶作業(yè)不要求

14、分配連續(xù)的存儲(chǔ)空間。用戶作業(yè)不要求分配連續(xù)的存儲(chǔ)空間。 用戶作業(yè)在執(zhí)行過(guò)程中,可以動(dòng)態(tài)申請(qǐng)存儲(chǔ)空間和用戶作業(yè)在執(zhí)行過(guò)程中,可以動(dòng)態(tài)申請(qǐng)存儲(chǔ)空間和在主存中移動(dòng)。在主存中移動(dòng)。 主要缺點(diǎn)有:主要缺點(diǎn)有:需要附加的硬件支持。需要附加的硬件支持。 實(shí)現(xiàn)存儲(chǔ)管理的軟件算法比較復(fù)雜實(shí)現(xiàn)存儲(chǔ)管理的軟件算法比較復(fù)雜。存儲(chǔ)管理利用一個(gè)重定位寄存器。該寄存器的值由調(diào)度程序根據(jù)作業(yè)利用一個(gè)重定位寄存器。該寄存器的值由調(diào)度程序根據(jù)作業(yè)分配到的存儲(chǔ)空間的起始地址來(lái)設(shè)定。在具有這種地址變換分配到的存儲(chǔ)空間的起始地址來(lái)設(shè)定。在具有這種地址變換機(jī)構(gòu)的計(jì)算機(jī)系統(tǒng)中,當(dāng)作業(yè)執(zhí)行時(shí),不是根據(jù)機(jī)構(gòu)的計(jì)算機(jī)系統(tǒng)中,當(dāng)作業(yè)執(zhí)行時(shí),不是根

15、據(jù)CPUCPU給出的給出的邏輯地址去訪問(wèn)主存,而是將邏輯地址與重定位寄存器中的邏輯地址去訪問(wèn)主存,而是將邏輯地址與重定位寄存器中的內(nèi)容相加后得到的地址作為訪問(wèn)主存的地址。內(nèi)容相加后得到的地址作為訪問(wèn)主存的地址。 存儲(chǔ)管理特點(diǎn):任一時(shí)刻內(nèi)存可有多道進(jìn)程,每個(gè)進(jìn)任一時(shí)刻內(nèi)存可有多道進(jìn)程,每個(gè)進(jìn)程連續(xù)存放于內(nèi)存程連續(xù)存放于內(nèi)存. .操作系統(tǒng)操作系統(tǒng)U1U1.UnUn4.1.2 4.1.2 多道固定劃分法(固定分區(qū)分配)多道固定劃分法(固定分區(qū)分配)一、空間劃分及保護(hù) 將用戶內(nèi)存空將用戶內(nèi)存空間分成長(zhǎng)度固定間分成長(zhǎng)度固定的若干塊的若干塊。用戶空間用戶空間存儲(chǔ)管理1.上下界寄存器和地址檢查機(jī)構(gòu)。當(dāng)作業(yè)當(dāng)

16、作業(yè)被調(diào)度運(yùn)行時(shí),作業(yè)在內(nèi)存中的上下界地被調(diào)度運(yùn)行時(shí),作業(yè)在內(nèi)存中的上下界地址送上下界寄存器,每次執(zhí)行訪存指令時(shí),址送上下界寄存器,每次執(zhí)行訪存指令時(shí),地址檢查機(jī)構(gòu)作越界檢查。作業(yè)程序要是地址檢查機(jī)構(gòu)作越界檢查。作業(yè)程序要是絕對(duì)地址或靜態(tài)重定位的。絕對(duì)地址或靜態(tài)重定位的。CPUCPU主存主存下界寄存器下界寄存器上界寄存器上界寄存器 TrueTrueTrueTrue地址地址A AF F F F程序性異常程序性異常地址訪問(wèn)保護(hù)有兩種方式:地址訪問(wèn)保護(hù)有兩種方式:存儲(chǔ)管理2.基址寄存器、長(zhǎng)度寄存器和動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu)。當(dāng)作業(yè)被調(diào)度運(yùn)行時(shí),將作業(yè)所當(dāng)作業(yè)被調(diào)度運(yùn)行時(shí),將作業(yè)所占內(nèi)存基址及長(zhǎng)度送基址、長(zhǎng)度

17、寄存器,占內(nèi)存基址及長(zhǎng)度送基址、長(zhǎng)度寄存器,每次執(zhí)行訪存指令時(shí),先看訪問(wèn)地址是否每次執(zhí)行訪存指令時(shí),先看訪問(wèn)地址是否小于長(zhǎng)度,然后小于長(zhǎng)度,然后+ +基址進(jìn)行訪存。用戶程基址進(jìn)行訪存。用戶程序代碼是動(dòng)態(tài)重定位的。序代碼是動(dòng)態(tài)重定位的。CPUCPU主存主存基地址寄存器基地址寄存器長(zhǎng)度寄存器長(zhǎng)度寄存器 + +TrueTrue地址地址A AF F 程序性異常程序性異常存儲(chǔ)管理二、作業(yè)存儲(chǔ)調(diào)度在多道固定劃分法下,作業(yè)調(diào)度一般分為多隊(duì)列法在多道固定劃分法下,作業(yè)調(diào)度一般分為多隊(duì)列法和單隊(duì)列法。和單隊(duì)列法。多隊(duì)列法是指每個(gè)存儲(chǔ)區(qū)對(duì)應(yīng)一個(gè)作業(yè)隊(duì)列,在作多隊(duì)列法是指每個(gè)存儲(chǔ)區(qū)對(duì)應(yīng)一個(gè)作業(yè)隊(duì)列,在作業(yè)到達(dá)后,按

18、作業(yè)的大小在對(duì)應(yīng)隊(duì)列中排隊(duì)。業(yè)到達(dá)后,按作業(yè)的大小在對(duì)應(yīng)隊(duì)列中排隊(duì)。單隊(duì)列法是指系統(tǒng)中僅保持一個(gè)作業(yè)隊(duì)列。單隊(duì)列法是指系統(tǒng)中僅保持一個(gè)作業(yè)隊(duì)列。例如:總存儲(chǔ)量為例如:總存儲(chǔ)量為32KB,操作系統(tǒng)占,操作系統(tǒng)占10KB,用戶空,用戶空間被劃分成長(zhǎng)度為間被劃分成長(zhǎng)度為4KB、6KB、12KB三塊。作業(yè)要求三塊。作業(yè)要求的存儲(chǔ)量若未超過(guò)這三個(gè)存儲(chǔ)量,則分別進(jìn)入相應(yīng)的存儲(chǔ)量若未超過(guò)這三個(gè)存儲(chǔ)量,則分別進(jìn)入相應(yīng)的隊(duì)列的隊(duì)列1、隊(duì)列、隊(duì)列2、隊(duì)列、隊(duì)列3。存儲(chǔ)管理二、作業(yè)存儲(chǔ)調(diào)度OS4k6k12kOS4k6k12k.7k3k4k5k.3k4k3k2k.5k6k.7k10k11k8k多隊(duì)列法多隊(duì)列法單隊(duì)列法

19、單隊(duì)列法存儲(chǔ)管理三、存儲(chǔ)碎片 內(nèi)部碎片:內(nèi)部碎片:內(nèi)存某存儲(chǔ)區(qū)間大于其存放作內(nèi)存某存儲(chǔ)區(qū)間大于其存放作 業(yè)空間的部分。業(yè)空間的部分。 外部碎片:外部碎片:內(nèi)存某存儲(chǔ)區(qū)間容不下要運(yùn)行內(nèi)存某存儲(chǔ)區(qū)間容不下要運(yùn)行 的作業(yè)時(shí)。的作業(yè)時(shí)。OS12k4k3K內(nèi)部碎片內(nèi)部碎片OSOS4k4k6k6k12k12k作業(yè)長(zhǎng)度:作業(yè)長(zhǎng)度:5K5K、8K8K、12K12K外部碎片外部碎片存儲(chǔ)管理一、管理方法4.1.34.1.3多道連續(xù)可變劃分法(動(dòng)態(tài)分區(qū)分配)多道連續(xù)可變劃分法(動(dòng)態(tài)分區(qū)分配)特點(diǎn):多道、連續(xù)、但不固定劃分內(nèi)存。多道、連續(xù)、但不固定劃分內(nèi)存。 系統(tǒng)設(shè)置一個(gè)空閑塊隊(duì)列,初始狀態(tài)時(shí)隊(duì)系統(tǒng)設(shè)置一個(gè)空閑塊隊(duì)列

20、,初始狀態(tài)時(shí)隊(duì)列中只有一個(gè)連續(xù)的空閑塊。作業(yè)到達(dá)后,列中只有一個(gè)連續(xù)的空閑塊。作業(yè)到達(dá)后,以某種策略分配空間。作業(yè)撤離時(shí),將釋放以某種策略分配空間。作業(yè)撤離時(shí),將釋放的空間加入空閑隊(duì)列。的空間加入空閑隊(duì)列。存儲(chǔ)管理舉例:假設(shè)任一時(shí)間段內(nèi),內(nèi)存中每一作舉例:假設(shè)任一時(shí)間段內(nèi),內(nèi)存中每一作業(yè)的運(yùn)行時(shí)間片相等。業(yè)的運(yùn)行時(shí)間片相等。作業(yè)到來(lái)次序作業(yè)到來(lái)次序 所需存儲(chǔ)量所需存儲(chǔ)量 運(yùn)行時(shí)間運(yùn)行時(shí)間 1 60 10 2 100 5 3 30 20 4 70 8 5 50 15OS040255J1J2J3J4J5存儲(chǔ)管理分配:調(diào)度程序?yàn)檫x中的作業(yè)分配存儲(chǔ)空間,則在可用分配:調(diào)度程序?yàn)檫x中的作業(yè)分配存儲(chǔ)空間,

21、則在可用塊集合中按某種策略選擇一個(gè)大小滿足該用戶作業(yè)要求塊集合中按某種策略選擇一個(gè)大小滿足該用戶作業(yè)要求的可用分配給用戶。的可用分配給用戶。分配策略包括分配策略包括首次滿足法首次滿足法/ /最佳滿足法最佳滿足法/ /最大滿足最大滿足法法,在找到合適的空閑塊后,從其中將作業(yè)大小,在找到合適的空閑塊后,從其中將作業(yè)大小的空間分給作業(yè),而剩余部分掛入空閑隊(duì)列。的空間分給作業(yè),而剩余部分掛入空閑隊(duì)列。下面下面F F是空閑塊集合是空閑塊集合; size(k); size(k)為塊為塊k k的大小的大小; size(v); size(v)為為用戶所需空間。用戶所需空間。if if 所有屬于所有屬于F F的

22、的k k,均有,均有size(k)size(v),size(k)size(v),則失敗。則失敗。否則按某一策略選出否則按某一策略選出k k,使得,使得size(k)size(v).size(k)size(v).1.1.F = F F = F k; k;分配與回收存儲(chǔ)空間的算法:分配與回收存儲(chǔ)空間的算法:存儲(chǔ)管理回收: 當(dāng)作業(yè)結(jié)束時(shí),收回作業(yè)所占空間,當(dāng)作業(yè)結(jié)束時(shí),收回作業(yè)所占空間,將此塊鏈入空閑隊(duì)列。將此塊鏈入空閑隊(duì)列。 若空閑隊(duì)列中原來(lái)有與此塊的相鄰塊,若空閑隊(duì)列中原來(lái)有與此塊的相鄰塊,則把這些塊合并成一個(gè)大連續(xù)塊。則把這些塊合并成一個(gè)大連續(xù)塊。(續(xù)分配)(續(xù)分配)4. if size(k)

23、-size(v)4. if size(k)-size(v)1.=1.順序查找各個(gè)空閑區(qū),把第一個(gè)找到能容納申順序查找各個(gè)空閑區(qū),把第一個(gè)找到能容納申請(qǐng)要求的內(nèi)存區(qū)分配給申請(qǐng)者請(qǐng)要求的內(nèi)存區(qū)分配給申請(qǐng)者. .(若空閑區(qū)比作業(yè)(若空閑區(qū)比作業(yè)長(zhǎng)度大,則分割該空閑區(qū)。一部分分配給作業(yè)一長(zhǎng)度大,則分割該空閑區(qū)。一部分分配給作業(yè)一部分空閑。)部分空閑。)=2.=2.調(diào)整相應(yīng)的空閑表和已分配表。調(diào)整相應(yīng)的空閑表和已分配表。評(píng)價(jià)評(píng)價(jià):性能一般,但實(shí)現(xiàn)比較簡(jiǎn)單直接,易于釋放性能一般,但實(shí)現(xiàn)比較簡(jiǎn)單直接,易于釋放時(shí)合并相鄰空間分區(qū)。比較容易的滿足大作業(yè)的時(shí)合并相鄰空間分區(qū)。比較容易的滿足大作業(yè)的需要。完成一次分

24、配平均需要的搜索次數(shù)較大,需要。完成一次分配平均需要的搜索次數(shù)較大,影響了工作效率。影響了工作效率。存儲(chǔ)管理 最佳滿足算法:最佳滿足算法:思想:思想:先使用小的空閑區(qū),將大的空閑區(qū)留給大作先使用小的空閑區(qū),將大的空閑區(qū)留給大作 業(yè),所以它總是試圖找出最接近實(shí)際需要的業(yè),所以它總是試圖找出最接近實(shí)際需要的 空閑區(qū)??臻e區(qū)。評(píng)價(jià):評(píng)價(jià):盡可能的保留了較大的空間。盡可能的保留了較大的空間。 產(chǎn)生大量的不用被使用的很小的空閑區(qū)。產(chǎn)生大量的不用被使用的很小的空閑區(qū)。 存儲(chǔ)管理最大滿足算法最大滿足算法評(píng)價(jià):評(píng)價(jià):分割后產(chǎn)生的空閑區(qū)一般仍可以供以后分配使用。分割后產(chǎn)生的空閑區(qū)一般仍可以供以后分配使用。 工作

25、一段時(shí)間后,不能滿足大作業(yè)對(duì)空閑區(qū)的請(qǐng)求。工作一段時(shí)間后,不能滿足大作業(yè)對(duì)空閑區(qū)的請(qǐng)求。存儲(chǔ)管理例題:分區(qū)存儲(chǔ)管理算法題假定主存中按地址順序依次有五個(gè)空閑區(qū)??占俣ㄖ鞔嬷邪吹刂讽樞蛞来斡形鍌€(gè)空閑區(qū)??臻e區(qū)大小依次為:閑區(qū)大小依次為:15k,28k,10k,226k,110k.現(xiàn)有五個(gè)作業(yè)現(xiàn)有五個(gè)作業(yè)J1,J2,J3,J4,J5。他們各需要主存他們各需要主存10k,15k,102k,26k,180k。判斷用首次滿足算法,最大滿足算法,最佳滿判斷用首次滿足算法,最大滿足算法,最佳滿足算法能否將這五個(gè)作業(yè)順序裝入?足算法能否將這五個(gè)作業(yè)順序裝入?存儲(chǔ)管理OS15K28K10K226K110K內(nèi)內(nèi)存存

26、空空閑閑區(qū)區(qū)示示意意圖:圖:OS28K10K226K110K裝裝入入J1后,后,內(nèi)內(nèi)存存空空閑閑區(qū)區(qū)示示意意圖:圖:J15k結(jié)論:只有最佳結(jié)論:只有最佳滿足算法可以。滿足算法可以。存儲(chǔ)管理v緊致空間方法消除了固定分區(qū)管理造成的消除了固定分區(qū)管理造成的“內(nèi)碎片內(nèi)碎片”,但是但是 “外碎片外碎片”仍然存在。仍然存在。采用移動(dòng)(緊致)技術(shù)。定時(shí)的或在內(nèi)存采用移動(dòng)(緊致)技術(shù)。定時(shí)的或在內(nèi)存緊張時(shí),將內(nèi)存中所有作業(yè)移到內(nèi)存的一緊張時(shí),將內(nèi)存中所有作業(yè)移到內(nèi)存的一端,使其相鄰。端,使其相鄰。存儲(chǔ)管理經(jīng)過(guò)緊縮后的進(jìn)程在內(nèi)存中的位置發(fā)生了經(jīng)過(guò)緊縮后的進(jìn)程在內(nèi)存中的位置發(fā)生了變化,若不對(duì)程序和數(shù)據(jù)的地址進(jìn)行修

27、改,變化,若不對(duì)程序和數(shù)據(jù)的地址進(jìn)行修改,在進(jìn)程就無(wú)法運(yùn)行。在進(jìn)程就無(wú)法運(yùn)行。要使其運(yùn)行,必須進(jìn)行要使其運(yùn)行,必須進(jìn)行“動(dòng)態(tài)重定位動(dòng)態(tài)重定位”存儲(chǔ)管理連續(xù)空間分配小結(jié):連續(xù)空間分配小結(jié):連續(xù)存儲(chǔ)分配容易出現(xiàn)大段的連續(xù)空間因連續(xù)存儲(chǔ)分配容易出現(xiàn)大段的連續(xù)空間因不能容納作業(yè)或進(jìn)程而不可用。不能容納作業(yè)或進(jìn)程而不可用。存在許多的存儲(chǔ)碎片和空間管理較復(fù)雜的存在許多的存儲(chǔ)碎片和空間管理較復(fù)雜的問(wèn)題,主要原因在于連續(xù)分配要求把作業(yè)問(wèn)題,主要原因在于連續(xù)分配要求把作業(yè)或進(jìn)程放在主存的一片連續(xù)區(qū)域中。或進(jìn)程放在主存的一片連續(xù)區(qū)域中。因此,為充分利用存儲(chǔ)空間資源,引入了因此,為充分利用存儲(chǔ)空間資源,引入了不連續(xù)

28、空間分配策略。不連續(xù)空間分配策略。存儲(chǔ)管理l1某基于動(dòng)態(tài)分區(qū)分配的系統(tǒng)中,其主存某基于動(dòng)態(tài)分區(qū)分配的系統(tǒng)中,其主存可用容量為可用容量為55MB(初始狀態(tài))。采用最佳(初始狀態(tài))。采用最佳適配分配算法,分配和釋放的順序?yàn)椋悍诌m配分配算法,分配和釋放的順序?yàn)椋悍峙渑?5MB,分配分配30MB,釋放釋放15MB,分配,分配8MB,此時(shí)主存中最大空閑分區(qū)大小是此時(shí)主存中最大空閑分區(qū)大小是( )。A7MB B9MB C.10MB D.15MB 存儲(chǔ)管理2. 在把裝入模塊裝入內(nèi)存后,并不立即把在把裝入模塊裝入內(nèi)存后,并不立即把裝入模塊中的相對(duì)地址轉(zhuǎn)換為絕對(duì)地址,裝入模塊中的相對(duì)地址轉(zhuǎn)換為絕對(duì)地址,而是把地

29、址轉(zhuǎn)換推遲到程序真正要執(zhí)行時(shí)而是把地址轉(zhuǎn)換推遲到程序真正要執(zhí)行時(shí)才進(jìn)行,稱為(才進(jìn)行,稱為( )。)。A.編譯編譯 B.連接連接 C.動(dòng)態(tài)重定位動(dòng)態(tài)重定位 D.重定位重定位存儲(chǔ)管理分頁(yè)存儲(chǔ)管理是解決存儲(chǔ)零頭的一種方法。分頁(yè)存儲(chǔ)管理是解決存儲(chǔ)零頭的一種方法。動(dòng)態(tài)重定位是解決存儲(chǔ)器零頭問(wèn)題的一種途動(dòng)態(tài)重定位是解決存儲(chǔ)器零頭問(wèn)題的一種途徑,但要移動(dòng)大量信息花去不少處理機(jī)時(shí)間徑,但要移動(dòng)大量信息花去不少處理機(jī)時(shí)間,代價(jià)比較高代價(jià)比較高,這是因?yàn)檫@種分配要求把作業(yè)必這是因?yàn)檫@種分配要求把作業(yè)必須安置在一連續(xù)存儲(chǔ)區(qū)內(nèi)的緣故須安置在一連續(xù)存儲(chǔ)區(qū)內(nèi)的緣故,而分頁(yè)存儲(chǔ)而分頁(yè)存儲(chǔ)管理正是要避開(kāi)這種連續(xù)性要求。管理

30、正是要避開(kāi)這種連續(xù)性要求。4.2 4.2 不連續(xù)空間分配不連續(xù)空間分配4.2.14.2.1頁(yè)式管理頁(yè)式管理存儲(chǔ)管理一、空間安排 用戶編程時(shí)所設(shè)想的空間和所用的地址叫用戶編程時(shí)所設(shè)想的空間和所用的地址叫邏輯邏輯空間空間( (地址地址) ) 內(nèi)存空間內(nèi)存空間( (地址地址) )叫叫物理空間物理空間( (地址地址) ), 用相同長(zhǎng)度為單位對(duì)邏輯空間等分出的每個(gè)區(qū)用相同長(zhǎng)度為單位對(duì)邏輯空間等分出的每個(gè)區(qū)域叫域叫頁(yè)頁(yè)或者或者頁(yè)面頁(yè)面,對(duì)物理空間等分出的區(qū)域叫,對(duì)物理空間等分出的區(qū)域叫頁(yè)頁(yè)幀幀或者或者頁(yè)框頁(yè)框,輔存所劃分出的每個(gè)區(qū)域叫,輔存所劃分出的每個(gè)區(qū)域叫塊塊。4.2 4.2 不連續(xù)空間分配不連續(xù)空間

31、分配4.2.14.2.1頁(yè)式管理頁(yè)式管理特點(diǎn):作業(yè)作業(yè)( (進(jìn)程進(jìn)程) )分成頁(yè)面,內(nèi)存也劃分成分成頁(yè)面,內(nèi)存也劃分成頁(yè)面,將作業(yè)頁(yè)面,將作業(yè)( (進(jìn)程進(jìn)程) )頁(yè)面不連續(xù)地分布到內(nèi)頁(yè)面不連續(xù)地分布到內(nèi)存頁(yè)面。存頁(yè)面。存儲(chǔ)管理回收:當(dāng)進(jìn)程結(jié)束時(shí),系統(tǒng)回收它的所有物理當(dāng)進(jìn)程結(jié)束時(shí),系統(tǒng)回收它的所有物理頁(yè)幀放入空閑隊(duì)列。頁(yè)幀放入空閑隊(duì)列。二、動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu) 因頁(yè)式方法中邏輯地址與物理地址之間失因頁(yè)式方法中邏輯地址與物理地址之間失去自然聯(lián)系,故要通過(guò)去自然聯(lián)系,故要通過(guò)頁(yè)表頁(yè)表,并由硬件,并由硬件動(dòng)態(tài)地動(dòng)態(tài)地址轉(zhuǎn)換機(jī)構(gòu)址轉(zhuǎn)換機(jī)構(gòu)將邏輯地址映射成物理地址才能正將邏輯地址映射成物理地址才能正確訪存。確

32、訪存。分配:系統(tǒng)初始時(shí),所有頁(yè)幀都在空閑系統(tǒng)初始時(shí),所有頁(yè)幀都在空閑隊(duì)列中,當(dāng)用戶進(jìn)程被創(chuàng)建時(shí),系統(tǒng)按隊(duì)列中,當(dāng)用戶進(jìn)程被創(chuàng)建時(shí),系統(tǒng)按需要量從空閑隊(duì)列獲得相應(yīng)量的頁(yè)幀。需要量從空閑隊(duì)列獲得相應(yīng)量的頁(yè)幀。存儲(chǔ)管理(一)頁(yè)表由于邏輯地址和物理地址不一致,因此必須把由于邏輯地址和物理地址不一致,因此必須把邏輯地址所對(duì)應(yīng)的物理地址登記在一張稱為頁(yè)邏輯地址所對(duì)應(yīng)的物理地址登記在一張稱為頁(yè)表的表中,邏輯空間若有表的表中,邏輯空間若有n n頁(yè),頁(yè)表就應(yīng)該有頁(yè),頁(yè)表就應(yīng)該有n n項(xiàng)。項(xiàng)。頁(yè)表放在系統(tǒng)空間的頁(yè)表區(qū),存放邏輯頁(yè)與物頁(yè)表放在系統(tǒng)空間的頁(yè)表區(qū),存放邏輯頁(yè)與物理頁(yè)幀的對(duì)應(yīng)關(guān)系。理頁(yè)幀的對(duì)應(yīng)關(guān)系。PCB

33、PCB表中有指針指向頁(yè)表。表中有指針指向頁(yè)表。存儲(chǔ)管理頁(yè)表的第頁(yè)表的第i項(xiàng)描述第項(xiàng)描述第i頁(yè),比如某作業(yè)由頁(yè),比如某作業(yè)由5頁(yè)組成,分頁(yè)組成,分別放在第別放在第1號(hào)、號(hào)、8號(hào)、號(hào)、5號(hào)、號(hào)、3號(hào)、號(hào)、0號(hào)頁(yè)幀中。號(hào)頁(yè)幀中。18530498765432103210邏輯空間邏輯空間頁(yè)表頁(yè)表頁(yè)號(hào)頁(yè)號(hào)物理空間物理空間存儲(chǔ)管理 (二)地址結(jié)構(gòu) 分頁(yè)邏輯地址分頁(yè)邏輯地址 = P(= P(頁(yè)號(hào)頁(yè)號(hào)).d().d(頁(yè)內(nèi)位移頁(yè)內(nèi)位移) ) 分頁(yè)物理地址分頁(yè)物理地址 = f(= f(頁(yè)幀號(hào)頁(yè)幀號(hào)).d().d(頁(yè)幀內(nèi)位移頁(yè)幀內(nèi)位移) ) P = P = 線性邏輯地址線性邏輯地址 / / 頁(yè)面大??;頁(yè)面大小; d

34、= d = 線性邏輯地址線性邏輯地址 - p- p* *頁(yè)面大小。頁(yè)面大小。在求解邏輯地址對(duì)應(yīng)的物理地址時(shí),首先應(yīng)在求解邏輯地址對(duì)應(yīng)的物理地址時(shí),首先應(yīng)分解邏輯地址的頁(yè)號(hào)和頁(yè)內(nèi)位移,然后按頁(yè)分解邏輯地址的頁(yè)號(hào)和頁(yè)內(nèi)位移,然后按頁(yè)號(hào)查找對(duì)應(yīng)的頁(yè)表項(xiàng)號(hào)查找對(duì)應(yīng)的頁(yè)表項(xiàng)43210頁(yè)號(hào)頁(yè)號(hào)存儲(chǔ)管理因此,從邏輯地址轉(zhuǎn)換為物理地址可以這因此,從邏輯地址轉(zhuǎn)換為物理地址可以這樣計(jì)算:樣計(jì)算:通過(guò)邏輯地址求出通過(guò)邏輯地址求出P P和和d d將頁(yè)表始地址加上將頁(yè)表始地址加上P P得到頁(yè)表項(xiàng)地址;得到頁(yè)表項(xiàng)地址;從頁(yè)表項(xiàng)中獲得該頁(yè)所駐留的頁(yè)幀號(hào)從頁(yè)表項(xiàng)中獲得該頁(yè)所駐留的頁(yè)幀號(hào)f f;再將再將f f乘頁(yè)面大小加乘頁(yè)面

35、大小加d d就得到所要的物理地址就得到所要的物理地址存儲(chǔ)管理 (三)頁(yè)面大小的考慮將頁(yè)面大小取成將頁(yè)面大小取成2 2的的k k次冪次冪(k(k是正整數(shù)是正整數(shù)),),獲取獲取p p和和d d的除、乘法只要通過(guò)位移實(shí)現(xiàn)的除、乘法只要通過(guò)位移實(shí)現(xiàn). .頁(yè)面大小為頁(yè)面大小為2 2的的k k次冪的地址轉(zhuǎn)換原理如下:次冪的地址轉(zhuǎn)換原理如下:P d頁(yè)表始地fnk-10f dnk-10+頁(yè)表存儲(chǔ)管理 練習(xí)練習(xí)在頁(yè)式存儲(chǔ)管理中,某作業(yè)的邏輯地址空在頁(yè)式存儲(chǔ)管理中,某作業(yè)的邏輯地址空間為間為4頁(yè)(頁(yè)大小為頁(yè)(頁(yè)大小為1KB),作業(yè)的頁(yè)面映),作業(yè)的頁(yè)面映像為像為0-2#,1-4#,2-6#,3-8# ,求出邏輯

36、,求出邏輯地址地址2075所對(duì)應(yīng)的物理地址。所對(duì)應(yīng)的物理地址。 存儲(chǔ)管理CPUCPU有一個(gè)用于有一個(gè)用于頁(yè)號(hào)頁(yè)號(hào)頁(yè)幀號(hào)頁(yè)幀號(hào)轉(zhuǎn)換的聯(lián)想存儲(chǔ)器。將頁(yè)轉(zhuǎn)換的聯(lián)想存儲(chǔ)器。將頁(yè)表存入聯(lián)想存儲(chǔ)器的地址轉(zhuǎn)換原理如下:表存入聯(lián)想存儲(chǔ)器的地址轉(zhuǎn)換原理如下:l聯(lián)想存儲(chǔ)器是一種高速存儲(chǔ)體,每一項(xiàng)主要由兩部分聯(lián)想存儲(chǔ)器是一種高速存儲(chǔ)體,每一項(xiàng)主要由兩部分構(gòu)成:關(guān)鍵字和值。構(gòu)成:關(guān)鍵字和值。l當(dāng)輸入信息到達(dá)后,便同時(shí)與聯(lián)想存儲(chǔ)器中各項(xiàng)的關(guān)當(dāng)輸入信息到達(dá)后,便同時(shí)與聯(lián)想存儲(chǔ)器中各項(xiàng)的關(guān)鍵字進(jìn)行比較,如果某項(xiàng)關(guān)鍵字與輸入信息相同,則鍵字進(jìn)行比較,如果某項(xiàng)關(guān)鍵字與輸入信息相同,則輸出該項(xiàng)的值。如所有項(xiàng)的關(guān)鍵字與輸入信息不匹

37、配,輸出該項(xiàng)的值。如所有項(xiàng)的關(guān)鍵字與輸入信息不匹配,則輸出一個(gè)特殊信號(hào)表示匹配不成功。則輸出一個(gè)特殊信號(hào)表示匹配不成功。l把頁(yè)式系統(tǒng)中的頁(yè)表項(xiàng)放在聯(lián)想存儲(chǔ)器,則其頁(yè)號(hào)為把頁(yè)式系統(tǒng)中的頁(yè)表項(xiàng)放在聯(lián)想存儲(chǔ)器,則其頁(yè)號(hào)為關(guān)鍵字,對(duì)應(yīng)的頁(yè)幀號(hào)為值。將待轉(zhuǎn)換的邏輯地址的關(guān)鍵字,對(duì)應(yīng)的頁(yè)幀號(hào)為值。將待轉(zhuǎn)換的邏輯地址的頁(yè)號(hào)作為輸入,與聯(lián)想存儲(chǔ)器的每一項(xiàng)進(jìn)行匹配,若頁(yè)號(hào)作為輸入,與聯(lián)想存儲(chǔ)器的每一項(xiàng)進(jìn)行匹配,若匹配成功,輸出頁(yè)幀號(hào)。匹配成功,輸出頁(yè)幀號(hào)。(四)聯(lián)想存儲(chǔ)器(快表)存儲(chǔ)管理Pdnk-10fdnk-10P2f2P1f1.Pf.Pmfm關(guān)鍵字關(guān)鍵字 值值存儲(chǔ)管理聯(lián)想存儲(chǔ)器價(jià)格昂貴,一般只將一部分頁(yè)聯(lián)想

38、存儲(chǔ)器價(jià)格昂貴,一般只將一部分頁(yè)表項(xiàng)放在其中。表項(xiàng)放在其中。地址轉(zhuǎn)換:首先把頁(yè)號(hào)送到聯(lián)想存儲(chǔ)器中地址轉(zhuǎn)換:首先把頁(yè)號(hào)送到聯(lián)想存儲(chǔ)器中匹配,若匹配成功,形成物理地址,否則匹配,若匹配成功,形成物理地址,否則到主存頁(yè)表中查找頁(yè)表項(xiàng)來(lái)形成物理地址。到主存頁(yè)表中查找頁(yè)表項(xiàng)來(lái)形成物理地址。存儲(chǔ)管理地址轉(zhuǎn)換的一般過(guò)程地址轉(zhuǎn)換的一般過(guò)程( (聯(lián)想存儲(chǔ)器可以看成是頁(yè)表的聯(lián)想存儲(chǔ)器可以看成是頁(yè)表的cache)cache)Pdnk-10fdnk-10P2f2P1f1.Pf.Pmfmf頁(yè)表始地址+頁(yè)表聯(lián)想存儲(chǔ)器存儲(chǔ)管理命中率:命中率:選用選用8-128-12項(xiàng)組成的聯(lián)想存儲(chǔ)器,項(xiàng)組成的聯(lián)想存儲(chǔ)器,并采用適當(dāng)?shù)奶鎿Q策

39、略,在聯(lián)想存儲(chǔ)器中并采用適當(dāng)?shù)奶鎿Q策略,在聯(lián)想存儲(chǔ)器中匹配成功的可能性可達(dá)匹配成功的可能性可達(dá)80-90%80-90%。存儲(chǔ)管理 三、可用空間管理可用可用bitmapbitmap數(shù)組或空閑頁(yè)幀鏈來(lái)管理可用頁(yè)幀數(shù)組或空閑頁(yè)幀鏈來(lái)管理可用頁(yè)幀。(1 1)若可用頁(yè)幀總數(shù)小于作業(yè)(進(jìn)程)總頁(yè)數(shù),)若可用頁(yè)幀總數(shù)小于作業(yè)(進(jìn)程)總頁(yè)數(shù),則拒絕分配,結(jié)束。則拒絕分配,結(jié)束。(2 2)否則,取作業(yè)(進(jìn)程)的下一頁(yè))否則,取作業(yè)(進(jìn)程)的下一頁(yè)P(yáng) P,分配一,分配一可用頁(yè)幀可用頁(yè)幀f f,將,將P P的內(nèi)容抄到的內(nèi)容抄到f f中。中。(3 3)將)將f f抄到頁(yè)抄到頁(yè)P(yáng) P的頁(yè)表項(xiàng)中。的頁(yè)表項(xiàng)中。(4 4)若

40、所有頁(yè)都處理完,則結(jié)束,否則轉(zhuǎn)向)若所有頁(yè)都處理完,則結(jié)束,否則轉(zhuǎn)向2 2。存儲(chǔ)管理 四、共享與保護(hù)l在操作系統(tǒng)中,很多代碼是可以共享的,如在操作系統(tǒng)中,很多代碼是可以共享的,如命令解釋程序、編譯程序、編輯程序等。在連命令解釋程序、編譯程序、編輯程序等。在連續(xù)分配存儲(chǔ)空間模式下,共享是不可能的,因續(xù)分配存儲(chǔ)空間模式下,共享是不可能的,因?yàn)橐粋€(gè)作業(yè)運(yùn)行時(shí)只能訪問(wèn)一片連續(xù)的區(qū)域,為一個(gè)作業(yè)運(yùn)行時(shí)只能訪問(wèn)一片連續(xù)的區(qū)域,多個(gè)作業(yè)顯然不能與被共享程序都保持連續(xù)。多個(gè)作業(yè)顯然不能與被共享程序都保持連續(xù)。l在頁(yè)式系統(tǒng)中便可實(shí)現(xiàn)共享。通過(guò)頁(yè)表可以在頁(yè)式系統(tǒng)中便可實(shí)現(xiàn)共享。通過(guò)頁(yè)表可以使幾個(gè)邏輯空間指向同一個(gè)

41、物理空間,實(shí)現(xiàn)程使幾個(gè)邏輯空間指向同一個(gè)物理空間,實(shí)現(xiàn)程序共享。序共享。存儲(chǔ)管理 舉例舉例:有有3 3個(gè)進(jìn)程共享編輯程序個(gè)進(jìn)程共享編輯程序EDITEDIT,EDITEDIT長(zhǎng)度為長(zhǎng)度為3 3頁(yè),分別駐留在主存的頁(yè),分別駐留在主存的3 3、4 4、6 6號(hào)頁(yè)號(hào)頁(yè)幀中。幀中。EDIT1EDIT2EDIT3DATA1EDIT1EDIT2EDIT3DATA2EDIT1EDIT2EDIT3DATA33461346734610OSDATA1EDIT101234567891011EDIT2EDIT3 DATA2DATA3P1P2P3頁(yè)表存儲(chǔ)管理每個(gè)進(jìn)程在運(yùn)行時(shí)由自己的頁(yè)表來(lái)進(jìn)行地每個(gè)進(jìn)程在運(yùn)行時(shí)由自己的頁(yè)表

42、來(lái)進(jìn)行地址映射,從而實(shí)現(xiàn)了多個(gè)進(jìn)程對(duì)一個(gè)址映射,從而實(shí)現(xiàn)了多個(gè)進(jìn)程對(duì)一個(gè)EDIT程序的共享。程序的共享。存儲(chǔ)管理 存儲(chǔ)保護(hù)引入頁(yè)式不連續(xù)分配以后,由于共享的出現(xiàn)對(duì)存引入頁(yè)式不連續(xù)分配以后,由于共享的出現(xiàn)對(duì)存儲(chǔ)保護(hù)也提出了新的要求。除了仍需要越界保護(hù)儲(chǔ)保護(hù)也提出了新的要求。除了仍需要越界保護(hù)以外,對(duì)共享頁(yè)還要進(jìn)行特殊的保護(hù)。以外,對(duì)共享頁(yè)還要進(jìn)行特殊的保護(hù)。 越界保護(hù):設(shè)置頁(yè)表長(zhǎng)度寄存器,查頁(yè)表前,越界保護(hù):設(shè)置頁(yè)表長(zhǎng)度寄存器,查頁(yè)表前,先檢查頁(yè)號(hào)是否越界。先檢查頁(yè)號(hào)是否越界。 操作訪問(wèn)保護(hù):在每個(gè)頁(yè)表項(xiàng)中增設(shè)一存儲(chǔ)保操作訪問(wèn)保護(hù):在每個(gè)頁(yè)表項(xiàng)中增設(shè)一存儲(chǔ)保護(hù)域,用于說(shuō)明對(duì)該頁(yè)的訪問(wèn)權(quán)限,每一個(gè)

43、對(duì)該護(hù)域,用于說(shuō)明對(duì)該頁(yè)的訪問(wèn)權(quán)限,每一個(gè)對(duì)該頁(yè)存儲(chǔ)的訪問(wèn)都首先要比照是否滿足該頁(yè)訪問(wèn)權(quán)頁(yè)存儲(chǔ)的訪問(wèn)都首先要比照是否滿足該頁(yè)訪問(wèn)權(quán)限的說(shuō)明,滿足則訪問(wèn),否則報(bào)錯(cuò)。限的說(shuō)明,滿足則訪問(wèn),否則報(bào)錯(cuò)。存儲(chǔ)管理設(shè)為每一頁(yè)表項(xiàng)增加三位,設(shè)為每一頁(yè)表項(xiàng)增加三位,R R位表示讀權(quán)位表示讀權(quán)限,限,W W位表示寫權(quán)限,位表示寫權(quán)限,E E位表示執(zhí)行權(quán)限。位表示執(zhí)行權(quán)限。R RW WE E0 00 00 0 不可進(jìn)行任何操作不可進(jìn)行任何操作0 00 01 1 可以執(zhí)行可以執(zhí)行, ,不可以讀寫不可以讀寫0 01 10 0 只可以寫只可以寫0 01 11 11 10 00 01 10 01 11 11 10 01

44、11 11 1存儲(chǔ)管理五、兩級(jí)頁(yè)表 現(xiàn)代的大多數(shù)計(jì)算機(jī)系統(tǒng),都支持非常大的邏輯地址空間現(xiàn)代的大多數(shù)計(jì)算機(jī)系統(tǒng),都支持非常大的邏輯地址空間(232264)。在這樣的環(huán)境下,頁(yè)表就變得非常大,要占用相當(dāng)。在這樣的環(huán)境下,頁(yè)表就變得非常大,要占用相當(dāng)大的內(nèi)存空間。例如,對(duì)于一個(gè)具有大的內(nèi)存空間。例如,對(duì)于一個(gè)具有32位邏輯地址空間的分頁(yè)位邏輯地址空間的分頁(yè)系統(tǒng),規(guī)定頁(yè)面大小為系統(tǒng),規(guī)定頁(yè)面大小為4KB即即212B,則在每個(gè)進(jìn)程頁(yè)表中的頁(yè),則在每個(gè)進(jìn)程頁(yè)表中的頁(yè)表項(xiàng)可達(dá)表項(xiàng)可達(dá)1兆個(gè)之多。又因?yàn)槊總€(gè)頁(yè)表項(xiàng)占用一個(gè)字節(jié),兆個(gè)之多。又因?yàn)槊總€(gè)頁(yè)表項(xiàng)占用一個(gè)字節(jié), 故每故每個(gè)進(jìn)程僅僅其頁(yè)表就要占用個(gè)進(jìn)程僅僅

45、其頁(yè)表就要占用1MB的內(nèi)存空間,而且還要求是連的內(nèi)存空間,而且還要求是連續(xù)的。續(xù)的。 可以采用這樣兩個(gè)方法來(lái)解決這一問(wèn)題:可以采用這樣兩個(gè)方法來(lái)解決這一問(wèn)題: 采用離散采用離散分配方式來(lái)解決難以找到一塊連續(xù)的大內(nèi)存空間的問(wèn)題:分配方式來(lái)解決難以找到一塊連續(xù)的大內(nèi)存空間的問(wèn)題: 只將當(dāng)前需要的部分頁(yè)表項(xiàng)調(diào)入內(nèi)存,只將當(dāng)前需要的部分頁(yè)表項(xiàng)調(diào)入內(nèi)存, 其余的頁(yè)表項(xiàng)仍駐留其余的頁(yè)表項(xiàng)仍駐留在磁盤上,需要時(shí)再調(diào)入。在磁盤上,需要時(shí)再調(diào)入。 存儲(chǔ)管理1. 兩級(jí)頁(yè)表兩級(jí)頁(yè)表(Two-Level Page Table) 邏輯地址結(jié)構(gòu)可描述如下:邏輯地址結(jié)構(gòu)可描述如下: 存儲(chǔ)管理圖4-14兩級(jí)頁(yè)表結(jié)構(gòu)存儲(chǔ)管理圖

46、圖 4-15 具有兩級(jí)頁(yè)表的地址變換機(jī)構(gòu)具有兩級(jí)頁(yè)表的地址變換機(jī)構(gòu) 存儲(chǔ)管理 練習(xí):練習(xí):某使用二級(jí)頁(yè)表的系統(tǒng)的虛地址是某使用二級(jí)頁(yè)表的系統(tǒng)的虛地址是32位。位。地址的后地址的后9位是一級(jí)頁(yè)表的索引,中間位是一級(jí)頁(yè)表的索引,中間11位位指定二級(jí)頁(yè)表項(xiàng)。試問(wèn):指定二級(jí)頁(yè)表項(xiàng)。試問(wèn):(1)頁(yè)的大小是多少個(gè)字節(jié)?頁(yè)的大小是多少個(gè)字節(jié)?(2)一級(jí)頁(yè)表的長(zhǎng)度是多少?一級(jí)頁(yè)表的長(zhǎng)度是多少?(3)二級(jí)頁(yè)表的長(zhǎng)度是多少?二級(jí)頁(yè)表的長(zhǎng)度是多少?(4)虛地址空間中有多少個(gè)頁(yè)?虛地址空間中有多少個(gè)頁(yè)?存儲(chǔ)管理4.2.2 4.2.2 段式管理段式管理頁(yè)式管理頁(yè)式管理:對(duì)用戶而言不自然,用戶看待對(duì)用戶而言不自然,用戶看

47、待程序是以自然段為單位的,如主程序段、程序是以自然段為單位的,如主程序段、子程序段、數(shù)據(jù)段等。子程序段、數(shù)據(jù)段等。0 123 45 程序段程序段數(shù)據(jù)段數(shù)據(jù)段比如某段只能讀,另一段可執(zhí)行。分頁(yè)可能把不屬于同比如某段只能讀,另一段可執(zhí)行。分頁(yè)可能把不屬于同一段的兩塊分到一頁(yè)中。一段的兩塊分到一頁(yè)中。第第4頁(yè)中放入程序段(可執(zhí)行)和數(shù)據(jù)段(可讀寫)各頁(yè)中放入程序段(可執(zhí)行)和數(shù)據(jù)段(可讀寫)各半,從而無(wú)法對(duì)其進(jìn)行保護(hù)。半,從而無(wú)法對(duì)其進(jìn)行保護(hù)。存儲(chǔ)管理 段式管理的特點(diǎn):按作業(yè)的自然段將其邏輯按作業(yè)的自然段將其邏輯空間分成若干段,作業(yè)以段為單位分配內(nèi)存。空間分成若干段,作業(yè)以段為單位分配內(nèi)存。 一、空

48、間安排 例如,某用戶作業(yè)(進(jìn)程)由主程序、兩個(gè)例如,某用戶作業(yè)(進(jìn)程)由主程序、兩個(gè)子程序、棧和一段數(shù)據(jù)組成。于是可將這個(gè)作子程序、棧和一段數(shù)據(jù)組成。于是可將這個(gè)作業(yè)劃分為業(yè)劃分為5 5個(gè)段。個(gè)段。 邏輯地址:段號(hào)邏輯地址:段號(hào). .段內(nèi)偏移,記作段內(nèi)偏移,記作S,dS,d。編譯。編譯及裝配時(shí)把所有地址記成及裝配時(shí)把所有地址記成(S,d)(S,d)的形式。若作業(yè)的形式。若作業(yè)正在運(yùn)行主程序,則地址形式為(正在運(yùn)行主程序,則地址形式為(0 0,d d);一);一旦調(diào)用子程序旦調(diào)用子程序1 1,地址變?yōu)椋?,地址變?yōu)椋? 1,d d);若訪問(wèn)數(shù));若訪問(wèn)數(shù)據(jù)段,地址變?yōu)椋〒?jù)段,地址變?yōu)椋? 4,d

49、d)。)。存儲(chǔ)管理 物理內(nèi)存空間管理:與多道可變劃分法物理內(nèi)存空間管理:與多道可變劃分法一樣,系統(tǒng)以段為單位分配物理內(nèi)存。一樣,系統(tǒng)以段為單位分配物理內(nèi)存。 主程序主程序 子程序子程序1 子程序子程序2棧棧數(shù)據(jù)數(shù)據(jù)邏輯空間邏輯空間 子程序子程序2主程序主程序棧棧數(shù)據(jù)數(shù)據(jù)OS 子程序子程序1物理空間物理空間存儲(chǔ)管理二、動(dòng)態(tài)地址轉(zhuǎn)換保護(hù)碼段長(zhǎng) 本段在內(nèi)存始地址由于作業(yè)在邏輯空間連續(xù)但主存空間不連續(xù),由于作業(yè)在邏輯空間連續(xù)但主存空間不連續(xù),故運(yùn)行時(shí)需要進(jìn)行地址轉(zhuǎn)換。故運(yùn)行時(shí)需要進(jìn)行地址轉(zhuǎn)換。段表:由如下格式的段表項(xiàng)組成,作業(yè)每段由由如下格式的段表項(xiàng)組成,作業(yè)每段由一個(gè)段表項(xiàng)表示一個(gè)段表項(xiàng)表示. .作

50、業(yè)被劃分成作業(yè)被劃分成n n段,段表就應(yīng)段,段表就應(yīng)該有該有n n項(xiàng)項(xiàng)段表放于系統(tǒng)空間。系統(tǒng)還設(shè)置段表始地址寄段表放于系統(tǒng)空間。系統(tǒng)還設(shè)置段表始地址寄存器、段表長(zhǎng)度寄存器。存器、段表長(zhǎng)度寄存器。存儲(chǔ)管理段號(hào) 保護(hù)碼 段長(zhǎng) 段內(nèi)存始址.保護(hù)碼 段長(zhǎng) 段內(nèi)存始址.Sd段表始址段表長(zhǎng)度+PA越界地址轉(zhuǎn)換過(guò)程地址轉(zhuǎn)換過(guò)程LA聯(lián)想存儲(chǔ)器聯(lián)想存儲(chǔ)器存儲(chǔ)管理 對(duì)于用戶而言對(duì)于用戶而言,段頁(yè)式管理與段式相同,用戶,段頁(yè)式管理與段式相同,用戶邏輯地址只涉及段號(hào)與段內(nèi)位移。邏輯地址只涉及段號(hào)與段內(nèi)位移。 對(duì)于物理內(nèi)存管理而言對(duì)于物理內(nèi)存管理而言,它與頁(yè)式系統(tǒng)相同。,它與頁(yè)式系統(tǒng)相同。4.2.34.2.3段頁(yè)式管理

51、段頁(yè)式管理特點(diǎn):將作業(yè)分成若干段,每段用頁(yè)式管將作業(yè)分成若干段,每段用頁(yè)式管理實(shí)現(xiàn)內(nèi)存分配理實(shí)現(xiàn)內(nèi)存分配。一、空間安排存儲(chǔ)管理作業(yè)空間的內(nèi)部表示主程序子程序數(shù)據(jù)保護(hù)碼長(zhǎng)度頁(yè)表始地OS段表頁(yè)表主存作業(yè)段表段表+ +頁(yè)表頁(yè)表存儲(chǔ)管理段表主程序子程序數(shù)據(jù)作業(yè)1主程序子程序數(shù)據(jù)作業(yè)2段表頁(yè)表OS主存存儲(chǔ)管理在段頁(yè)式管理中,邏輯地址由段號(hào)、段內(nèi)在段頁(yè)式管理中,邏輯地址由段號(hào)、段內(nèi)頁(yè)號(hào)以及頁(yè)內(nèi)位移三部分組成。頁(yè)號(hào)以及頁(yè)內(nèi)位移三部分組成。 存儲(chǔ)管理存儲(chǔ)管理總結(jié)總結(jié)“放放” 連續(xù)存放連續(xù)存放 單道連續(xù)劃分單道連續(xù)劃分 多道連續(xù)固定劃分多道連續(xù)固定劃分 多道連續(xù)可變劃分多道連續(xù)可變劃分 不連續(xù)存放不連續(xù)存放 頁(yè)

52、式存儲(chǔ)頁(yè)式存儲(chǔ) 段式存儲(chǔ)段式存儲(chǔ) 段頁(yè)式存儲(chǔ)段頁(yè)式存儲(chǔ)存儲(chǔ)管理 練習(xí)練習(xí)在頁(yè)式存儲(chǔ)管理中,某作業(yè)的邏輯地址空在頁(yè)式存儲(chǔ)管理中,某作業(yè)的邏輯地址空間為間為4頁(yè)(頁(yè)大小為頁(yè)(頁(yè)大小為1KB),作業(yè)的頁(yè)面映),作業(yè)的頁(yè)面映像為像為0-3#,1-2#,2-8#,3-6# ,求出邏輯,求出邏輯地址地址3047所對(duì)應(yīng)的物理地址。所對(duì)應(yīng)的物理地址。 存儲(chǔ)管理 練習(xí):練習(xí):某使用二級(jí)頁(yè)表的系統(tǒng)的虛地址是某使用二級(jí)頁(yè)表的系統(tǒng)的虛地址是32位。位。地址的后地址的后9位是一級(jí)頁(yè)表的索引,中間位是一級(jí)頁(yè)表的索引,中間10位位指定二級(jí)頁(yè)表項(xiàng)。試問(wèn):指定二級(jí)頁(yè)表項(xiàng)。試問(wèn):(1)頁(yè)的大小是多少個(gè)字節(jié)?頁(yè)的大小是多少個(gè)字節(jié)?

53、(2)一級(jí)頁(yè)表的長(zhǎng)度是多少?一級(jí)頁(yè)表的長(zhǎng)度是多少?(3)二級(jí)頁(yè)表的長(zhǎng)度是多少?二級(jí)頁(yè)表的長(zhǎng)度是多少?(4)虛地址空間中有多少個(gè)頁(yè)?虛地址空間中有多少個(gè)頁(yè)?存儲(chǔ)管理 練習(xí):練習(xí):在某段頁(yè)式系統(tǒng)中,虛地址空間包含了在某段頁(yè)式系統(tǒng)中,虛地址空間包含了8個(gè)個(gè)段,段長(zhǎng)為段,段長(zhǎng)為229B。硬件把每個(gè)段分成大小。硬件把每個(gè)段分成大小為為256B的頁(yè),問(wèn)虛地址中有多少位用于指的頁(yè),問(wèn)虛地址中有多少位用于指定:定:(1)段號(hào);)段號(hào);(2)頁(yè)號(hào);)頁(yè)號(hào);(3)頁(yè)內(nèi)偏移量;)頁(yè)內(nèi)偏移量;(4)整個(gè)虛地址。)整個(gè)虛地址。存儲(chǔ)管理假定某操作系統(tǒng)存儲(chǔ)器采用頁(yè)式存儲(chǔ)管理假定某操作系統(tǒng)存儲(chǔ)器采用頁(yè)式存儲(chǔ)管理,頁(yè)的大小為,

54、頁(yè)的大小為64字節(jié),假定一進(jìn)程的代碼字節(jié),假定一進(jìn)程的代碼段長(zhǎng)度為段長(zhǎng)度為702個(gè)字節(jié),頁(yè)表如左表所示。個(gè)字節(jié),頁(yè)表如左表所示?,F(xiàn)進(jìn)程有如下的訪問(wèn)序列現(xiàn)進(jìn)程有如下的訪問(wèn)序列:其邏輯地址為八進(jìn)制的:其邏輯地址為八進(jìn)制的105105、217217、567567、11201120、25002500。試問(wèn)給定的這些地址。試問(wèn)給定的這些地址能否進(jìn)行轉(zhuǎn)換?若能,請(qǐng)說(shuō)能否進(jìn)行轉(zhuǎn)換?若能,請(qǐng)說(shuō)明地址轉(zhuǎn)換過(guò)程及相應(yīng)的物明地址轉(zhuǎn)換過(guò)程及相應(yīng)的物理地址。若不能,則說(shuō)明理理地址。若不能,則說(shuō)明理由。由。存儲(chǔ)管理4.3.1虛存的基本思想4.3 4.3 虛存管理虛存管理目的:提供用戶進(jìn)程一個(gè)巨大的虛擬存儲(chǔ)空間提供用戶進(jìn)程

55、一個(gè)巨大的虛擬存儲(chǔ)空間. .手段:手段:通過(guò)統(tǒng)一管理主存、輔存,利用輔存實(shí)通過(guò)統(tǒng)一管理主存、輔存,利用輔存實(shí)現(xiàn)此虛空間現(xiàn)此虛空間. .系統(tǒng)為進(jìn)程提供一個(gè)比物理內(nèi)存大得多的系統(tǒng)為進(jìn)程提供一個(gè)比物理內(nèi)存大得多的虛擬存儲(chǔ)空間,虛擬空間大小不受物理內(nèi)虛擬存儲(chǔ)空間,虛擬空間大小不受物理內(nèi)存大小的限制。存大小的限制。 虛擬空間的容量由系統(tǒng)的有效地址長(zhǎng)度決虛擬空間的容量由系統(tǒng)的有效地址長(zhǎng)度決定。假設(shè)地址長(zhǎng)度為定。假設(shè)地址長(zhǎng)度為3232,按字節(jié)尋址,則,按字節(jié)尋址,則虛擬存儲(chǔ)空間大小為虛擬存儲(chǔ)空間大小為2 23232個(gè)字節(jié)。個(gè)字節(jié)。存儲(chǔ)管理實(shí)現(xiàn)頁(yè)式虛空間的基本方法是: 在頁(yè)式管理的基礎(chǔ)上,僅將進(jìn)程的一部在頁(yè)式

56、管理的基礎(chǔ)上,僅將進(jìn)程的一部分頁(yè)放于主存。頁(yè)表項(xiàng)中注明該頁(yè)是否在分頁(yè)放于主存。頁(yè)表項(xiàng)中注明該頁(yè)是否在主存。程序執(zhí)行時(shí),如果訪問(wèn)的頁(yè)不在主主存。程序執(zhí)行時(shí),如果訪問(wèn)的頁(yè)不在主存,根據(jù)頁(yè)表項(xiàng)的指示,將其從輔存調(diào)入存,根據(jù)頁(yè)表項(xiàng)的指示,將其從輔存調(diào)入主存,如果此時(shí)無(wú)可用的內(nèi)存空間,則先主存,如果此時(shí)無(wú)可用的內(nèi)存空間,則先淘汰若干頁(yè)幀。淘汰若干頁(yè)幀。存儲(chǔ)管理虛擬內(nèi)存是把一個(gè)程序所需要的存儲(chǔ)空間虛擬內(nèi)存是把一個(gè)程序所需要的存儲(chǔ)空間分成若干頁(yè),程序運(yùn)行用到頁(yè)就放在內(nèi)存分成若干頁(yè),程序運(yùn)行用到頁(yè)就放在內(nèi)存里,暫時(shí)不用就放在外存中。當(dāng)用到外存里,暫時(shí)不用就放在外存中。當(dāng)用到外存中的頁(yè)時(shí),就把它們調(diào)到內(nèi)存,反之

57、就把中的頁(yè)時(shí),就把它們調(diào)到內(nèi)存,反之就把它們送到外存中。它們送到外存中。存儲(chǔ)管理一、頁(yè)表項(xiàng)結(jié)構(gòu):合法位修改位頁(yè)類型保護(hù)碼輔存塊號(hào)頁(yè)幀號(hào)合法位:合法位:置上表示該頁(yè)在內(nèi)存置上表示該頁(yè)在內(nèi)存. .修改位:修改位:置上表示該頁(yè)被修改過(guò),在釋放或淘汰時(shí)應(yīng)回寫置上表示該頁(yè)被修改過(guò),在釋放或淘汰時(shí)應(yīng)回寫輔存。輔存。頁(yè)類型頁(yè)類型: :1 1、零頁(yè)時(shí):表示該頁(yè)在分配物理頁(yè)幀時(shí)應(yīng)清零頁(yè)時(shí):表示該頁(yè)在分配物理頁(yè)幀時(shí)應(yīng)清0 0頁(yè)頁(yè)幀空間幀空間;2;2、回寫、回寫swapswap區(qū)頁(yè)時(shí)區(qū)頁(yè)時(shí): :表示在回寫時(shí)必須分配表示在回寫時(shí)必須分配swapswap區(qū),并回寫到區(qū),并回寫到swapswap空間中。沒(méi)有設(shè)置頁(yè)類型時(shí),

58、表示按正空間中。沒(méi)有設(shè)置頁(yè)類型時(shí),表示按正常方式處理。常方式處理。保護(hù)碼:保護(hù)碼:R R、W W、E E保護(hù)說(shuō)明。保護(hù)說(shuō)明。輔存塊號(hào):輔存塊號(hào):該頁(yè)所在輔存的塊號(hào)。該頁(yè)所在輔存的塊號(hào)。頁(yè)頁(yè) 幀幀 號(hào):號(hào):當(dāng)合法位置上時(shí)代表該頁(yè)所在內(nèi)存的頁(yè)幀號(hào)。當(dāng)合法位置上時(shí)代表該頁(yè)所在內(nèi)存的頁(yè)幀號(hào)。4.3.2 頁(yè)式虛存管理存儲(chǔ)管理交換區(qū)(交換區(qū)(SWAPSWAP):):進(jìn)程剛建立時(shí),進(jìn)程頁(yè)進(jìn)程剛建立時(shí),進(jìn)程頁(yè)面所在的輔存即程序文件所在的輔存位置。程面所在的輔存即程序文件所在的輔存位置。程序文件中一般包含有程序的二進(jìn)制目標(biāo)碼及數(shù)序文件中一般包含有程序的二進(jìn)制目標(biāo)碼及數(shù)據(jù)初始值和初值為據(jù)初始值和初值為0 0的工作

59、區(qū)。的工作區(qū)。l程序在進(jìn)程的運(yùn)行過(guò)程中,數(shù)據(jù)的初始值頁(yè)面程序在進(jìn)程的運(yùn)行過(guò)程中,數(shù)據(jù)的初始值頁(yè)面被調(diào)入主存使用,而且存放初始值的主存單元被調(diào)入主存使用,而且存放初始值的主存單元可能被修改。這時(shí),系統(tǒng)不能將修改過(guò)的頁(yè)面可能被修改。這時(shí),系統(tǒng)不能將修改過(guò)的頁(yè)面回寫到執(zhí)行程序文件中去,因?yàn)閳?zhí)行程序中的回寫到執(zhí)行程序文件中去,因?yàn)閳?zhí)行程序中的初始值不能被改變。因此引入了交換區(qū)用于存初始值不能被改變。因此引入了交換區(qū)用于存放那些可讀寫的頁(yè)面。放那些可讀寫的頁(yè)面。存儲(chǔ)管理l還有一種頁(yè)面,在執(zhí)行程序文件中被說(shuō)明是初還有一種頁(yè)面,在執(zhí)行程序文件中被說(shuō)明是初值為值為0 0的工作區(qū),我們稱為零頁(yè),表示該頁(yè)的初的工

60、作區(qū),我們稱為零頁(yè),表示該頁(yè)的初值為值為0 0。這種頁(yè)面分配主存頁(yè)幀時(shí)不必從輔存獲。這種頁(yè)面分配主存頁(yè)幀時(shí)不必從輔存獲得初始數(shù)據(jù),只要在分配頁(yè)幀時(shí),將頁(yè)幀清得初始數(shù)據(jù),只要在分配頁(yè)幀時(shí),將頁(yè)幀清0 0即即可。當(dāng)回寫時(shí),也需要分配交換空間,然后回可。當(dāng)回寫時(shí),也需要分配交換空間,然后回寫到交換空間中。寫到交換空間中。存儲(chǔ)管理 在執(zhí)行虛存訪問(wèn)指令時(shí)在執(zhí)行虛存訪問(wèn)指令時(shí), ,由硬件合成物理地由硬件合成物理地址。首先若能在聯(lián)想存儲(chǔ)器中獲得該虛頁(yè)的物址。首先若能在聯(lián)想存儲(chǔ)器中獲得該虛頁(yè)的物理頁(yè)幀號(hào),則訪問(wèn)之。若要查當(dāng)前進(jìn)程頁(yè)表,理頁(yè)幀號(hào),則訪問(wèn)之。若要查當(dāng)前進(jìn)程頁(yè)表,須先檢查該頁(yè)頁(yè)表項(xiàng)的合法位,若置上,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論