

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章 實(shí)存管理技術(shù),存儲(chǔ)器是計(jì)算機(jī)最重要的資源之一,內(nèi)存管理一直是操作系統(tǒng)最主要的功能之一。內(nèi)存容量一直是計(jì)算機(jī)硬件資源中最緊張的資源,特別在多道程序設(shè)計(jì)技術(shù)條件下,一方面要充分利用內(nèi)存容量,另一方面必須保證多個(gè)程序在內(nèi)存中互不干擾即保證內(nèi)存安全。存儲(chǔ)器管理技術(shù)分實(shí)存管理和虛存管理。,,,基本的存儲(chǔ)管理方法是分區(qū)法、覆蓋技術(shù)、交換技術(shù) 、分頁(yè)法、分段法、段頁(yè)法。,第七章 實(shí)存管理技術(shù),7.1 存儲(chǔ)管理的基本概念7.2 連
2、續(xù)分配存儲(chǔ)管理方式7.3 離散分配存儲(chǔ)管理方式7.4 交換技術(shù)7.5 覆蓋技術(shù),7.1 存儲(chǔ)管理的基本概念,7.1.1 存儲(chǔ)管理要解決的問(wèn)題7.1.2 存儲(chǔ)管理的分類7.1.3 地址映射(重定位),,7.1.1 存儲(chǔ)管理要解決的問(wèn)題,早期計(jì)算機(jī)系統(tǒng)中,內(nèi)存是最緊張的資源之一。為了在小內(nèi)存中運(yùn)行大程序,人們先發(fā)明了覆蓋技術(shù)。當(dāng)發(fā)明虛存管理技術(shù)后,才真正解決了在小內(nèi)存中運(yùn)行大程序的問(wèn)題。為了有效管理計(jì)算機(jī)內(nèi)存資源
3、,操作系統(tǒng)的存儲(chǔ)管理要具備以下功能:1. 內(nèi)存空間分配與回收根據(jù)某種分配方式,遵循某種分配算法,為進(jìn)程分配內(nèi)存,當(dāng)進(jìn)程結(jié)束時(shí)再回收內(nèi)存。,,,2. 地址映射設(shè)計(jì)地址變換機(jī)構(gòu),靜態(tài)和動(dòng)態(tài)地址變換的方法。3. 內(nèi)存保護(hù)怎樣讓內(nèi)存中各個(gè)進(jìn)程互不干擾,怎樣保證內(nèi)存中程序、數(shù)據(jù)的安全。4. 內(nèi)存擴(kuò)充怎樣從邏輯上擴(kuò)充內(nèi)存。這屬于虛存管理的范疇。,7.1.2 存儲(chǔ)管理的分類,從分配方式上按進(jìn)程在內(nèi)存中是否連續(xù),可以把存儲(chǔ)管理分成連續(xù)分
4、配方式和離散分配方式兩類。1. 連續(xù)分配方式必須為進(jìn)程在內(nèi)存分配一片連續(xù)的空間。2. 離散分配方式允許將一個(gè)進(jìn)程分散地裝入內(nèi)存的多個(gè)不相鄰的區(qū)域。,,,從進(jìn)程是整體裝入還是局部裝入內(nèi)存可以把存儲(chǔ)管理分成實(shí)存管理和虛存管理兩類。1. 實(shí)存管理必須把進(jìn)程完整地裝入內(nèi)存。2. 虛存管理允許將一個(gè)進(jìn)程局部地裝入內(nèi)存。,7.1.3 地址映射(重定位),1. 地址空間和存儲(chǔ)空間源程序經(jīng)過(guò)編譯或匯編產(chǎn)生目標(biāo)文件,目標(biāo)文件經(jīng)過(guò)連接和
5、裝配產(chǎn)生可以執(zhí)行的文件。在連接裝配時(shí),語(yǔ)言系統(tǒng)并不知道將來(lái)這個(gè)執(zhí)行文件會(huì)放在內(nèi)存的哪個(gè)位置,為了方便地將執(zhí)行文件裝入內(nèi)存,把執(zhí)行文件中第一條指令的地址設(shè)為 0。 其他指令的地址都以它做參照。執(zhí)行文件中指令的地址稱相對(duì)地址或邏輯地址。而相對(duì)地址的集合稱相對(duì)地址空間,簡(jiǎn)稱地址空間。,,,內(nèi)存每個(gè)字節(jié)都有一個(gè)地址,這是物理地址是真實(shí)的地址,也稱絕對(duì)地址。絕對(duì)地址空間也叫物理地址空間,簡(jiǎn)稱存儲(chǔ)空間。一個(gè)程序的邏輯地址和它在內(nèi)存中的地址是不同的
6、,顯然必須先將邏輯地址變成物理地址后程序才能正確運(yùn)行。,,2. 靜態(tài)重定位 靜態(tài)重定位是由專門設(shè)計(jì)的重定位裝配程序來(lái)完成的,是在目標(biāo)程序裝入到內(nèi)存區(qū)時(shí)由裝配程序來(lái)完成地址轉(zhuǎn)換。 優(yōu)點(diǎn):無(wú)需增加地址轉(zhuǎn)換機(jī)構(gòu) 缺點(diǎn) :不能實(shí)現(xiàn)重新分配內(nèi)存 用戶必須事先確定所需的存儲(chǔ)量 每個(gè)用戶進(jìn)程需各自使用一個(gè)獨(dú)立的副本。,,Load #1,450,… …,… …,3500,0,100,450,… …,Load #1,2450,…
7、 …,3500,… …,… …,… …,2100,操作系統(tǒng),2000,2450,邏輯地址,物理地址,,,圖 7-2 靜態(tài)地址映射,,3. 動(dòng)態(tài)重定位 動(dòng)態(tài)重定位是在目標(biāo)程序執(zhí)行過(guò)程中,在CPU訪問(wèn)內(nèi)存之前,由硬件地址映射機(jī)構(gòu)來(lái)完成將要訪問(wèn)的指令或數(shù)據(jù)的邏輯地址向內(nèi)存的物理地址的轉(zhuǎn)換。 優(yōu)點(diǎn):內(nèi)存的使用更加靈活有效;幾個(gè)作業(yè)共享一程序段的單個(gè)副本比較容易;無(wú)需用戶干預(yù),由系統(tǒng)來(lái)負(fù)責(zé)全部的存儲(chǔ)管理。 缺點(diǎn) :需附加硬件支持
8、;實(shí)現(xiàn)存儲(chǔ)器管理的軟件比較復(fù)雜。,,Load#1,450,… …,… …,3500,0,100,450,… …,Load#1, 450,… …,3500,… …,… …,… …,2100,操作系統(tǒng),2000,2450,邏輯地址,物理地址,圖 7-3 動(dòng)態(tài)地址映射,基址寄存器,2000,,+,,,,7.2 連續(xù)分配方式,7.2.1 單一連續(xù)分配方式7.2.2 固定分區(qū)內(nèi)存管理方式7.2.3 可變分區(qū)內(nèi)存管理方式,,7.2.
9、1 單一連續(xù)分配方式,在單任務(wù)的操作系統(tǒng)條件下,讓用戶占用計(jì)算機(jī)所有資源,內(nèi)存管理采用單一連續(xù)分配方式。內(nèi)存被分成兩個(gè)區(qū)1. 系統(tǒng)區(qū) 供操作系統(tǒng)使用2. 用戶區(qū)供用戶放一個(gè)程序,操作系統(tǒng)區(qū),用戶區(qū)… …,,7.2.2 固定分區(qū)內(nèi)存管理方式,分區(qū)管理是滿足多道程序設(shè)計(jì)的一種最早采用的存儲(chǔ)管理方法。其基本原理是給每一個(gè)進(jìn)程在內(nèi)存中劃分一塊可用的存儲(chǔ)區(qū),連續(xù)存儲(chǔ)各進(jìn)程的程序和數(shù)據(jù),使各進(jìn)程能并發(fā)進(jìn)行。,,,內(nèi)存分配算法:
10、 (1)首次適應(yīng)法 空閑分區(qū)按物理地址為升序排列,在內(nèi)存現(xiàn)有空閑分區(qū)中,找到第一個(gè)可用的分區(qū)就分配。 (2)最佳適應(yīng)法 在內(nèi)存現(xiàn)有的空閑分區(qū)中,找一個(gè)浪費(fèi)最小的分區(qū)分配。,,(3)最壞適應(yīng)法 在現(xiàn)有內(nèi)存空閑區(qū)中,找一個(gè)浪費(fèi)最大的分區(qū)分配。 (4)唯一最佳分配法 作業(yè)按長(zhǎng)度分類排隊(duì),一個(gè)分區(qū)對(duì)應(yīng)一個(gè)隊(duì),使這個(gè)隊(duì)中每個(gè)作業(yè)的長(zhǎng)度小于等于分區(qū)的長(zhǎng)度,使分配后內(nèi)存浪費(fèi)最小。從整體上看,這個(gè)算法也不是最佳的。
11、,,固定分區(qū)法 固定分區(qū)法就是把內(nèi)存固定劃分為若干個(gè)不等的區(qū)域,劃分的原則由系統(tǒng)決定。在整個(gè)執(zhí)行過(guò)程中保持分區(qū)長(zhǎng)度和分區(qū)個(gè)數(shù)不變。操作系統(tǒng)為每個(gè)用戶作業(yè)分配一個(gè)分區(qū)。,內(nèi)存管理 :,管理數(shù)據(jù)結(jié)構(gòu):設(shè)置內(nèi)存分配表內(nèi)存分配:每個(gè)區(qū)分配一個(gè)進(jìn)程內(nèi)存回收:簡(jiǎn)單缺點(diǎn):內(nèi)存利用率不高,如何記錄系統(tǒng)的狀況呢?,,,分配策略,分區(qū)4,分區(qū)3,分區(qū)2,分區(qū)1,操作系統(tǒng),0,100K,200K,400K,700K,1300K,,,,,,,多個(gè)輸入
12、隊(duì)列,分區(qū)4,分區(qū)3,分區(qū)2,分區(qū)1,操作系統(tǒng),0,100K,200K,400K,700K,1300K,,單個(gè)輸入隊(duì)列,,,,,,,,,,(a)唯一最佳分配算法,(b)其他分配算法,,,,,,,,,,,,固定分區(qū),,操作系統(tǒng)建立一個(gè)內(nèi)存分區(qū)管理表(分區(qū)號(hào)、分區(qū)長(zhǎng)度、分區(qū)首址和分區(qū)狀態(tài)),所有分區(qū)按物理地址升序排列,每個(gè)分區(qū)占表中一行。操作系統(tǒng)為作業(yè)分配內(nèi)存時(shí),按(1)、(2)、(4)中某個(gè)分配算法查表,有合適的分區(qū)就分配,否則就不分配。
13、 固定分區(qū)法管理方式雖然簡(jiǎn)單,但是存在大量?jī)?nèi)碎片(在分區(qū)內(nèi)存在空余的空間,這就稱為內(nèi)碎片),內(nèi)存利用率不高。,,內(nèi)存分區(qū)管理表,,地址映射對(duì)于固定分區(qū),可以采用靜態(tài)地址映射也可以采用動(dòng)態(tài)地址映射。內(nèi)存保護(hù)可以采用界限寄存器法,用兩個(gè)寄存器分別放用戶區(qū)的首地址和用戶的長(zhǎng)度。用戶程序訪問(wèn)內(nèi)存的地址必須在這個(gè)范圍內(nèi),否則就是地址越界。,7.2.3 可變分區(qū)內(nèi)存管理方式,可變分區(qū)法 動(dòng)態(tài)分區(qū)分配是根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)地為
14、它分配連續(xù)的內(nèi)存空間,各個(gè)分區(qū)是在相應(yīng)進(jìn)程裝入內(nèi)存時(shí)建立的,其大小恰好等于進(jìn)程的大小。 為了實(shí)現(xiàn)內(nèi)存分配,系統(tǒng)中設(shè)置了相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來(lái)記錄內(nèi)存的使用情況,常用的數(shù)據(jù)結(jié)構(gòu)形式有空閑分區(qū)鏈。,,,內(nèi)存分配數(shù)據(jù)結(jié)構(gòu),可以用空閑區(qū)鏈表,節(jié)點(diǎn)中包含空閑區(qū)的首址、長(zhǎng)度、鏈指針。在進(jìn)程PCB中包含進(jìn)程的內(nèi)存首址、長(zhǎng)度、訪問(wèn)權(quán)限等項(xiàng)目。分配算法:首次適應(yīng)法、最佳適應(yīng)法、最壞適應(yīng)法。分配時(shí),操作系統(tǒng)填寫PCB中進(jìn)程的內(nèi)存首址、長(zhǎng)度、訪問(wèn)權(quán)限
15、。,,內(nèi)存回收為了最大限度的利用內(nèi)存資源,就要不斷將分散的小碎片拼接成一個(gè)大的空閑區(qū),這里有個(gè)拼接的時(shí)機(jī)問(wèn)題,可以在分配時(shí)拼接,也可以在回收時(shí)拼接。拼接意味著要求進(jìn)程能在內(nèi)存中移動(dòng),例如現(xiàn)在進(jìn)程的首址是 a ,將它向地址增大方向移動(dòng) b 個(gè)字節(jié),進(jìn)程的首址變成 a + b 。進(jìn)程長(zhǎng)度不變。,,地址映射為了實(shí)現(xiàn)內(nèi)存拼接,必須用動(dòng)態(tài)地址映射CPU提供基址寄存器、限長(zhǎng)寄存器、地址運(yùn)算器。進(jìn)程切換時(shí),操作系統(tǒng)把PCB中的內(nèi)存信息( 進(jìn)
16、程的首址、長(zhǎng)度 )寫入基址寄存器和限長(zhǎng)寄存器同時(shí)將進(jìn)程PCB中的現(xiàn)場(chǎng)信息寫入CPU的寄存器集合。,,動(dòng)態(tài)重定位的實(shí)現(xiàn)過(guò)程,,內(nèi)存保護(hù)利用基址寄存器和限長(zhǎng)寄存器,一個(gè)進(jìn)程只能訪問(wèn)自己的內(nèi)存區(qū),只有操作系統(tǒng)進(jìn)程可以訪問(wèn)全部的內(nèi)存區(qū)。除了地址界限保護(hù)外,為了進(jìn)程間共享數(shù)據(jù)還需要訪問(wèn)權(quán)限保護(hù),進(jìn)程可以給另一個(gè)進(jìn)程賦予訪問(wèn)權(quán)限,允許在訪問(wèn)權(quán)限范圍內(nèi)訪問(wèn)。,動(dòng)態(tài)分區(qū)舉例,外碎片進(jìn)程外的內(nèi)存空間碎片化能用壓縮方法解決OS 移動(dòng)進(jìn)程使進(jìn)程和進(jìn)
17、程相連。消耗CPU時(shí)間,P1 (20M),P2(14M),P3(18M),Empty (56M),Empty (4M),P4(8M),Empty (6M),P2(14M),Empty (6M),Refer to Figure 7.4,,例:現(xiàn)在有三個(gè)作業(yè)A(20KB),B(80KB),C(50KB),內(nèi)存有兩個(gè)空閑區(qū)F1(110KB),F(xiàn)2(60KB)。 首次適應(yīng)法(設(shè)F1的首址 < F2的首址 ) A(占2
18、0KB) B(占80KB) C(占50KB),,F1( 100KB, 10KB ),,F2( 50KB, 10KB ),,首次適應(yīng)法(設(shè)F1的首址 > F2的首址 ) A(20KB) B(80KB) 最壞適應(yīng)法 A(20KB) B(80KB) C(50KB),,,F2(20KB,40KB),F1(80KB,30KB),,,F1( 100KB, 10KB ),F2( 50KB, 10K
19、B ),,最佳適應(yīng)法 A(20KB) B(80KB) 可變分區(qū)分配采用最佳適應(yīng)算法,結(jié)果不一定是最佳的;采用最壞程序算法,結(jié)果不一定是最差的。,F2( 20KB, 40KB ),F1( 80KB, 30KB ),,,伙伴系統(tǒng),全部可用空間被分成一個(gè)長(zhǎng)度是2U的塊如請(qǐng)求分配長(zhǎng)度s符合2U-1 < s <= 2U全部空間分配給它否則塊被分成兩個(gè)相等的伙伴。這個(gè)過(guò)程一直持續(xù)直到找到符合長(zhǎng)度<= s
20、的伙伴,伙伴系統(tǒng)舉例,伙伴系統(tǒng)樹型表示,7.3 離散分配存儲(chǔ)管理方式,固定分區(qū)和可變分區(qū)都是連續(xù)分配內(nèi)存的技術(shù),把一個(gè)進(jìn)程裝入一個(gè)分區(qū),使用這種方法會(huì)造成許多碎片,降低了內(nèi)存的利用率。產(chǎn)生碎片的根本原因就是要求把一個(gè)進(jìn)程連續(xù)地放在一個(gè)內(nèi)存區(qū)。雖然可變分區(qū)技術(shù)使用內(nèi)存拼接技術(shù)把分散的空閑分區(qū)集中成較大的分區(qū),但要增加系統(tǒng)的開銷。人們考慮能否化整為零提高內(nèi)存的利用率。,,,,7.3.1 分頁(yè)式存儲(chǔ)管理方式7.3.2 分段式存儲(chǔ)管理方
21、式7.3.3 段頁(yè)式存儲(chǔ)管理方式,7.3.1 分頁(yè)式存儲(chǔ)管理方式,可變分區(qū)方式除了產(chǎn)生大量的外碎片,還有一個(gè)缺點(diǎn),就是進(jìn)程動(dòng)態(tài)增長(zhǎng)不方便。分頁(yè)管理是解決碎片問(wèn)題的一種有效辦法,它允許進(jìn)程在內(nèi)存空間里是不連續(xù)的;還便于進(jìn)程動(dòng)態(tài)增長(zhǎng)。 分頁(yè)管理技術(shù)原理(1)操作系統(tǒng)按一個(gè)2的整數(shù)次冪為長(zhǎng)度,把內(nèi)存用戶區(qū)分成若干存儲(chǔ)區(qū),稱為塊,每個(gè)塊的容量都是相同的,每個(gè)塊按物理地址值由小到大順序從 0 開始編號(hào),稱為塊號(hào)。,,,,000000 0
22、00,000000 001,000000 010,000000 …,000000 111,,000001 000,000001 001,000001 …,000001 111,,… … …,111111 000,111111 001,111111 010,111111 …,111111 111,,,,,塊 號(hào) 塊內(nèi)地址,# 0,# 1,# 63,假設(shè)每塊的容量是23個(gè)字節(jié)物理地址被分成兩部分,高位部分稱為塊號(hào),低
23、位部分稱為塊內(nèi)地址。假設(shè)內(nèi)存共有64個(gè)塊,每塊有 8 個(gè)字節(jié)。塊號(hào)是從物理地址中截出來(lái),是物理地址固有的。物理地址=(塊號(hào),塊內(nèi)地址)=( B , d )內(nèi)存塊的起始地址等于內(nèi)存塊號(hào)乘以塊長(zhǎng)。,物理地址,,(2)用戶進(jìn)程的邏輯空間也按內(nèi)存塊的大小分頁(yè),每頁(yè)也按邏輯地址由小到大編號(hào)稱為頁(yè)號(hào)。假設(shè)一個(gè)進(jìn)程有61個(gè)字節(jié),以每頁(yè)8個(gè)字節(jié)分頁(yè),分成8 頁(yè),如圖所示:,,,000000 000,000000 001,000000 010,0
24、00000 …,000000 111,,000001 000,000001 001,000001 …,000001 111,,… … …,000111 000,000111 001,000111 010,000111 101,,,,,頁(yè) 號(hào) 頁(yè)內(nèi)地址,# 0,# 1,# 7,每頁(yè)的容量是23邏輯地址被分成兩部分,高位部分稱為頁(yè)號(hào),低位部分稱為頁(yè)內(nèi)地址。邏輯地址=( p , d )程序共有8頁(yè),每頁(yè)有 8 個(gè)字
25、節(jié)。頁(yè)號(hào)是從邏輯地址中截出來(lái)的。為程序的每一頁(yè)分配一個(gè)內(nèi)存塊,這就得出程序任何一頁(yè)裝入內(nèi)存后,它的頁(yè)內(nèi)地址就等于塊內(nèi)地址。,邏輯地址,… … …,物理地址(塊號(hào),塊內(nèi)地址)用(B,d)表示, 邏輯地址(頁(yè)號(hào),頁(yè)內(nèi)地址)用(p,d)表示, 設(shè)邏輯地址是A,頁(yè)長(zhǎng)是L,從數(shù)學(xué)角度描述: p = A div L d = A mod L 因?yàn)長(zhǎng)=2m,所以p是A邏輯右移 m 位后
26、的結(jié)果,d 是A邏輯右移 m 位時(shí),移出去的m 位值。,,用匯編語(yǔ)言整數(shù)除法指令很容易描述,以A 作為被除數(shù),以L 作為除數(shù),商就是頁(yè)號(hào),余數(shù)就是頁(yè)內(nèi)地址。其實(shí)不用對(duì)邏輯地址移位,也不用對(duì)邏輯地址做除法,在工程上直接根據(jù)頁(yè)長(zhǎng)的位數(shù),將邏輯地址一分為二,高位部分是頁(yè)號(hào),低位部分是頁(yè)內(nèi)地址(頁(yè)內(nèi)偏移)。,,內(nèi)存空間分配與回收 頁(yè)式管理以塊為單位給進(jìn)程分配內(nèi)存,操作系統(tǒng)必須隨時(shí)掌握內(nèi)存塊的狀態(tài)(已分配、未分配、當(dāng)前空閑塊的總數(shù))。
27、 下面建立內(nèi)存空間分配與回收的數(shù)學(xué)模型: 首先看數(shù)據(jù)的性質(zhì),內(nèi)存塊具有哪些屬性??jī)?nèi)存塊的起始地址、內(nèi)存塊的狀態(tài)(已分配或空閑),內(nèi)存塊的總數(shù)是固定的。,,這個(gè)模型要能反映內(nèi)存塊的地址和狀態(tài)信息。并且內(nèi)存塊的總數(shù)是不變的。從數(shù)據(jù)結(jié)構(gòu)和程序語(yǔ)言角度講,一個(gè)數(shù)組元素具備兩個(gè)特性,能否用一個(gè)數(shù)組元素代表一個(gè)內(nèi)存塊?用數(shù)組元素的值代表內(nèi)存塊的狀態(tài),元素的下標(biāo)值代表內(nèi)存塊的地址。因?yàn)橐粋€(gè)內(nèi)存塊的狀態(tài)不是已分配就是未分配,可以用一個(gè)
28、二進(jìn)制位表示,0表示未分配,1表示已分配。,進(jìn)程和頁(yè)架,A.0,A.1,A.2,A.3,B.0,B.1,B.2,C.0,C.1,C.2,C.3,D.0,D.1,D.2,D.3,D.4,假定系統(tǒng)有m* n個(gè)內(nèi)存塊(m行n列),用m*n的位圖表示:,0 1 2 3 4 5 ... 30 31,0 1 2 3
29、4 5 6 7,,在程序語(yǔ)言中用二維數(shù)組表示這個(gè)位圖,每個(gè)元素的長(zhǎng)度是一個(gè)二進(jìn)制位,用一個(gè)數(shù)組元素表示一個(gè)內(nèi)存塊。數(shù)組元素值表示對(duì)應(yīng)的內(nèi)存塊的狀態(tài)(空閑或占用)數(shù)組元素的下標(biāo)映射內(nèi)存塊的起始地址。從分頁(yè)原理可知,內(nèi)存塊的起始地址等于內(nèi)存塊號(hào)乘以頁(yè)長(zhǎng),在此頁(yè)長(zhǎng)是個(gè)常數(shù),用元素的下標(biāo)值映射內(nèi)存塊號(hào)。塊號(hào)左移就可獲得塊的起始地址。,,假設(shè)i和j分別代表數(shù)組元素的行、列下標(biāo) 。 B = i * n + j 例:n
30、=32, m= 8 , i = 3, j = 5 B = i * n + j = 3 * 32 + 5 = 101 分配時(shí)遍歷數(shù)組,找到元素值是0的元素,再根據(jù)該元素的下標(biāo)計(jì)算內(nèi)存塊塊號(hào)B。分配后,將該元素值更改為1。,,分配原則:設(shè)系統(tǒng)有m 個(gè)空閑內(nèi)存塊,進(jìn)程申請(qǐng)n塊,如m>=n就分配,即要求進(jìn)程一次性的裝入內(nèi)存,不論這些塊在內(nèi)存中是否連續(xù)。一個(gè)進(jìn)程裝入內(nèi)存后,可以離散分布在各個(gè)內(nèi)存塊中,進(jìn)程
31、不需要操作系統(tǒng)為它分配一個(gè)連續(xù)的內(nèi)存區(qū)。這正是分頁(yè)管理與分區(qū)管理的根本區(qū)別。,設(shè)k是系統(tǒng)當(dāng)前的空閑塊數(shù),n是進(jìn)程的頁(yè)數(shù),分配算法可以用N-S流程圖表示為:,,,,,,,,,,,,,,T,T,F,F,k >= n,n x ; q=&a[0][0] ; B=0;,,當(dāng) x > 0,* q = = 0 (未分配),分配 *q= 1,填寫頁(yè)表,記錄塊號(hào) B, x--, k --,修改 q ++;
32、 B++,不分配,,進(jìn)程結(jié)束后,要回收進(jìn)程占用的所有內(nèi)存塊,這時(shí)要根據(jù)內(nèi)存塊號(hào)計(jì)算它在位圖中的位置(即行下標(biāo)和列下標(biāo)) i = B div n j = B mod n例:B=197,n=32 i = B div n = 197 div 32 = 6 j = B mod n = 197 mod 32 = 5,,計(jì)算出內(nèi)存塊對(duì)應(yīng)的行和列下標(biāo)后,就可以訪問(wèn)數(shù)組,把該元素的值修
33、改為 0 ,系統(tǒng)空閑內(nèi)存塊數(shù)自增 1 ,這個(gè)內(nèi)存塊就被系統(tǒng)收回;進(jìn)程如占有 n 塊,就把這個(gè)過(guò)程重復(fù) n 次。,,地址映射地址映射是將邏輯地址轉(zhuǎn)換成真實(shí)的物理地址。由于內(nèi)存的一塊恰好裝入一頁(yè),頁(yè)內(nèi)地址與塊內(nèi)地址一一對(duì)應(yīng)。邏輯地址是(p , d )物理地址是(B , d )現(xiàn)在的問(wèn)題是已知p ,求B。因?yàn)檫M(jìn)程的一頁(yè)可以裝入內(nèi)存的任何一塊中,p 和B之間不存,,在一種可計(jì)算的線性函數(shù)。但是存在每頁(yè)對(duì)應(yīng)一個(gè)內(nèi)存塊的關(guān)系。一個(gè)顯而易見
34、的方法是建立一張表 (頁(yè)表) ,表中每行代表一頁(yè),每行的序號(hào)代表頁(yè)號(hào),通過(guò)這張表描述頁(yè)號(hào)與塊號(hào)的關(guān)系。地址映射的工作是用頁(yè)號(hào) p 查表,找到對(duì)應(yīng)的塊號(hào)B ,再用B 與頁(yè)內(nèi)地址d 計(jì)算物理地址。 為了提高地址映射的效率,需要硬件的支持。在CPU中設(shè)立頁(yè)表控制寄存器(其中包含頁(yè)表長(zhǎng)度L和頁(yè)表起始地址a)。,頁(yè)表,,每個(gè)進(jìn)程都有自己的一張頁(yè)表,頁(yè)表的起始地址和長(zhǎng)度記錄在PCB中。當(dāng)進(jìn)程由就緒態(tài)變成執(zhí)行態(tài)時(shí),由操作系統(tǒng)根據(jù)進(jìn)程的PCB將進(jìn)
35、程頁(yè)表的起始地址和頁(yè)表長(zhǎng)度填入CPU頁(yè)表控制寄存器。,,,,,,,,,p,d,L,a,p < L,,,,,,,B,B,d,p + a,p + a,,越界中斷,,n,y,,a,邏輯地址,頁(yè)表寄存器,頁(yè)表,物理地址,由于頁(yè)表是駐留在內(nèi)存的某個(gè)固定區(qū)域中,而取數(shù)據(jù)或指令又必須經(jīng)過(guò)頁(yè)表變換才能得到實(shí)際物理地址。因此,取一個(gè)數(shù)據(jù)或指令至少要訪問(wèn)內(nèi)存兩次以上。一次訪問(wèn)頁(yè)表以確定所取數(shù)據(jù)或指令的物理地址,另一次是根據(jù)地址取數(shù)據(jù)或指令。這比通常執(zhí)
36、行指令的速度慢了一倍。,,提高查找速度一個(gè)最快的辦法就是把頁(yè)表放在寄存器中而不是內(nèi)存中,但由于寄存器價(jià)格太貴,這樣做是不可取的。另一種辦法是在地址變換機(jī)構(gòu)中加入一個(gè)高速聯(lián)想存儲(chǔ)器,構(gòu)成一張快表。在快表中,存入那些當(dāng)前執(zhí)行進(jìn)程中最常用的頁(yè)號(hào)與所對(duì)應(yīng)的塊號(hào),從而以提高查找速度。,(2)快表的地址轉(zhuǎn)換,,由于在某段時(shí)間內(nèi)執(zhí)行程序時(shí),是在一個(gè)范圍內(nèi)逐條順序執(zhí)行指令;數(shù)組一類數(shù)據(jù)結(jié)構(gòu)在內(nèi)存占據(jù)一片連續(xù)存儲(chǔ)空間,訪問(wèn)數(shù)組時(shí)也是在數(shù)組范圍內(nèi)訪問(wèn),所以
37、快表的命中率可達(dá)到80%到90%。CPU存取一個(gè)數(shù)據(jù)的平均時(shí)間為:T=命中率×(訪內(nèi)時(shí)間+訪cache時(shí)間)+非命中率×(2 ×訪內(nèi)時(shí)間+訪cache時(shí)間)例:訪內(nèi)時(shí)間是100ns,訪cache時(shí)間是20ns,訪cache命中率是85%計(jì)算CPU存取一個(gè)數(shù)據(jù)的平均時(shí)間。T=0.85*(100+20)+0.15*(200+20)=135ns,頁(yè)的共享和保護(hù),分頁(yè)存儲(chǔ)管理技術(shù)使每個(gè)進(jìn)程分別存儲(chǔ)在內(nèi)存的不連
38、續(xù)的存儲(chǔ)塊中,這種靈活性允許兩個(gè)和多個(gè)進(jìn)程共享程序庫(kù)中的例程或公共數(shù)據(jù)段的同一副本,共享的方法是使這些相關(guān)進(jìn)程的邏輯空間中的頁(yè)指向相同的內(nèi)存塊。共享頁(yè)面是有條件的,故實(shí)現(xiàn)信息共享的前提是提供附加的保護(hù)措施,對(duì)共享信息加以保護(hù)。,頁(yè)共享與保護(hù),7.3.2 分段式存儲(chǔ)管理方式,其實(shí)程序在邏輯上是分成不同段的,每個(gè)段具有其獨(dú)特的性質(zhì),例如一個(gè)代碼段是只執(zhí)行的,一個(gè)數(shù)據(jù)段只允許讀,另一個(gè)數(shù)據(jù)段可允許讀和寫。顯然,如以段作為內(nèi)存分配的最小單
39、位,這便于對(duì)各個(gè)段實(shí)施控制和保護(hù)。這些段的長(zhǎng)度可以不同,段和段在內(nèi)存中也可以不連續(xù)。每個(gè)段在內(nèi)存占據(jù)一片連續(xù)的空間。,,分段基本原理,內(nèi)存分配與回收分段管理中,內(nèi)存的最小分配對(duì)象是段,特別地是為每個(gè)段分配各自的連續(xù)空間,在內(nèi)存里段和段之間可以不連續(xù)。分配算法與可變分區(qū)的分配算法相似,可以采用最佳適應(yīng)法、最壞適應(yīng)法和首次適應(yīng)法等分配算法。顯然仍然要解決外碎片的問(wèn)題。,分段基本原理,內(nèi)存分配的數(shù)據(jù)結(jié)構(gòu)要采用空閑區(qū)鏈表,為了提高內(nèi)存的利用
40、率,必須實(shí)施內(nèi)存碎片拼接的方案,內(nèi)存碎片拼接的時(shí)機(jī)可以在分配時(shí)刻或回收時(shí)刻??梢岳斫夥侄喂芾砑夹g(shù)繼承了可變分區(qū)管理技術(shù),但管理上要比可變分區(qū)更復(fù)雜。例如可變分區(qū)管理以進(jìn)程為內(nèi)存分配的最小對(duì)象,為一個(gè)進(jìn)程只進(jìn)行一次分配工作;而分段管理以段為內(nèi)存分配的最小對(duì)象,為一個(gè)進(jìn)程的每個(gè)段要進(jìn)行一次分配工作。,分段基本原理,地址映射從前面論述中,知道進(jìn)程被分成若干個(gè)邏輯段,每個(gè)段在內(nèi)存中占據(jù)一片連續(xù)的空間,內(nèi)存分配可以按可變分區(qū)的算法,必須進(jìn)行外
41、碎片拼接。那么采用靜態(tài)地址映射還是動(dòng)態(tài)地址映射呢?答案顯然是必須采用動(dòng)態(tài)地址映射。否則無(wú)法實(shí)施外碎片拼接。地址映射是將邏輯地址轉(zhuǎn)換為物理地址,先研究邏輯地址的構(gòu)成。,分段基本原理,進(jìn)程的邏輯地址空間在分段存儲(chǔ)管理方式中,段是一組相關(guān)的邏輯信息的集合。每個(gè)段都有自己的名字和長(zhǎng)度,通常用一個(gè)段號(hào)來(lái)代替段名,每個(gè)段都從0 開始編址,并采用一段連續(xù)的地址空間,段的長(zhǎng)度由相應(yīng)的邏輯信息組的長(zhǎng)度決定。分段系統(tǒng)中的邏輯地址由段號(hào) s和段內(nèi)
42、地址 d 組成, 是一個(gè)二維地址( s , d )。是程序員負(fù)責(zé)安排的地址。,,由于分段的進(jìn)程邏輯地址空間是二維的,所以分段的地址映射在于如何把二維段地址結(jié)構(gòu)動(dòng)態(tài)地變成一維的內(nèi)存地址結(jié)構(gòu)。內(nèi)存分配時(shí),是為任何一個(gè)段分配一個(gè)連續(xù)的內(nèi)存片,一個(gè)段內(nèi)的所有邏輯地址在該內(nèi)存片中的順序仍然不變。假設(shè)段的物理起始地址是 a,由于段的起始邏輯地址是 0,邏輯地址中作為偏移地址,加上段物理起始地址就是所求的物理地址。所以邏輯地址為 x的單元其物理地址
43、為 a+x 。,,現(xiàn)在已知邏輯地址(s,d),怎樣計(jì)算它在內(nèi)存的物理地址?與分頁(yè)管理的分析一樣,關(guān)鍵是找到邏輯地址與物理地址之間的映射關(guān)系。由于每個(gè)段在內(nèi)存是連續(xù)的,可以將段的物理地址看成是由基址和偏移地址( a,d)組成,根據(jù)前面分析,偏移地址又等于段內(nèi)地址,關(guān)鍵要找 s 和 a 的聯(lián)系。分配內(nèi)存時(shí),是隨機(jī)為一個(gè)段分配空間,所以 s 和 a 之間,不會(huì)存在某種線性函數(shù)關(guān)系,即不可能用數(shù)值計(jì)算的方法求解。但是段號(hào) s 和段物理起始地
44、址 a 之間確實(shí)存在著一一對(duì)應(yīng)的關(guān)系,可以用一個(gè)表(段表)保存這個(gè)關(guān)系,根據(jù)表的起始地址和 s 找該段的起始物理地址 a 。然后計(jì)算 a+d 得到所要的物理地址。操作系統(tǒng)每個(gè)進(jìn)程建立一個(gè)表,保存其段號(hào) s 和段物理起始地址 a 之間的關(guān)系,稱為段表。,,在查表中仍然要防止地址越界的問(wèn)題。所以表中除了段物理起始地址外,還要保存段的長(zhǎng)度值。硬件上要提供相應(yīng)的段表控制寄存器,當(dāng)進(jìn)程切換時(shí),操作系統(tǒng)把新進(jìn)程PCB中的段表起始地址和段表長(zhǎng)度值
45、寫入段表控制寄存器中,進(jìn)程訪問(wèn)內(nèi)存時(shí),按照段表控制寄存器找段表,通過(guò)查表找段的物理起始地址。,地址映射,段號(hào),段內(nèi)地址,段表始址,邏輯地址( 2 , 100 ),>=,,段號(hào)越界中斷,,+,1K,500,200,600,0,1,2,3,基址,段號(hào),段長(zhǎng),物理地址,8292,段式存儲(chǔ)的地址變換機(jī)構(gòu),2,100,,+,6K,8K,9K,4K,y,n,,,,,,,>=,,,,y,n,段內(nèi)地址越界,段表長(zhǎng)度4,,,,段的共享和保護(hù),
46、段的共享 段的共享是指兩個(gè)以上的進(jìn)程,使用同一個(gè)子程序或數(shù)據(jù)段,而在內(nèi)存中只保留該信息的一個(gè)副本。具體地說(shuō),只需在每個(gè)進(jìn)程的段表中,用相應(yīng)的表項(xiàng)裝入共享段在內(nèi)存的起始地址即可。,,內(nèi)存保護(hù)分段管理優(yōu)點(diǎn)之一就是方便內(nèi)存保護(hù)。前面看到怎樣進(jìn)行地址越界保護(hù),它只是內(nèi)存保護(hù)的一部分,為了實(shí)施訪問(wèn)權(quán)限保護(hù),在段表中再增加訪問(wèn)權(quán)限字段,每個(gè)進(jìn)程訪問(wèn)該段時(shí)還要進(jìn)行訪問(wèn)權(quán)限檢查,符合的才允許訪問(wèn),否則拒絕訪問(wèn)。,段的共享與保護(hù),例子:有一個(gè)多
47、用戶系統(tǒng),可以容納40個(gè)用戶,他們都執(zhí)行一個(gè)文本編輯程序,如果文本編輯程序有160K的代碼和40K的數(shù)據(jù)區(qū),則需要:(160+40)*40 =8M 的內(nèi)存空間,如果160K的代碼是可重入的,則在內(nèi)存中只保存一個(gè)副本就可以了,則需要:160+40*40=1760K內(nèi)存空間。,段的共享與保護(hù),,引入分段的理由:邏輯上的完整動(dòng)態(tài)鏈接信息共享信息保護(hù),,分頁(yè)和分段的區(qū)別:頁(yè)的大小是固定的,頁(yè)的長(zhǎng)度是由內(nèi)存塊長(zhǎng)度決定的。段的長(zhǎng)度是可
48、變的,段的長(zhǎng)度是由信息的長(zhǎng)度決定的;分頁(yè)的邏輯地址空間是一維的,分段的邏輯地址空間是二維的;分頁(yè)存在內(nèi)碎片,分段存在外碎片;,邏輯地址,分頁(yè),分段,7.3.3 段頁(yè)式存儲(chǔ)管理方式,分頁(yè)存儲(chǔ)管理能有效地提高內(nèi)存的利用率,分段存儲(chǔ)管理能很好地滿足用戶的需要,段頁(yè)式存儲(chǔ)管理則是分頁(yè)和分段兩種存儲(chǔ)管理方式的結(jié)合,它同時(shí)具備了兩者的優(yōu)點(diǎn)。也繼承了兩者的缺點(diǎn)。,,,分段和分頁(yè)都有各自的優(yōu)勢(shì)。分頁(yè)對(duì)程序員來(lái)說(shuō)是透明的,它消除了外部碎片,因而可以
49、更有效地使用主存。它具有處理不斷增長(zhǎng)的數(shù)據(jù)的能力。分段是由程序員決定的,對(duì)段的共享及保護(hù)操作容易,支持動(dòng)態(tài)鏈接等優(yōu)勢(shì)。把它們二者的優(yōu)點(diǎn)結(jié)合起來(lái),就形成了非常具有優(yōu)勢(shì)的“段頁(yè)式存儲(chǔ)管理”方式。,7.3.3.1 段頁(yè)式管理原理,程序員仍然按分段編程,邏輯地址是二維地址(段號(hào),段內(nèi)地址)。操作系統(tǒng)仍對(duì)內(nèi)存用戶區(qū)實(shí)施分塊,物理地址由塊號(hào)和塊內(nèi)地址組成(塊號(hào),塊內(nèi)地址)。操作系統(tǒng)對(duì)進(jìn)程以段為單位進(jìn)行分頁(yè),一個(gè)段被分成若干頁(yè),每一頁(yè)剛好占一個(gè)內(nèi)
50、存塊,內(nèi)存里段和段之間可以不連續(xù),一個(gè)段內(nèi)的頁(yè)和頁(yè)之間也可以不連續(xù)。,7.3.3.1 段頁(yè)式管理原理,內(nèi)存分配和回收雖然名叫段頁(yè)式,其實(shí)內(nèi)存并沒(méi)有段的影子只有大小相同的塊,塊長(zhǎng)度決定了頁(yè)的長(zhǎng)度。所以內(nèi)存分配和回收與分頁(yè)式管理是一樣的。內(nèi)存分配和回收操作簡(jiǎn)單,內(nèi)存的利用率比分頁(yè)式稍低一些,因?yàn)槊恳欢蔚淖詈笠豁?yè)會(huì)有內(nèi)碎片。這是繼承了分頁(yè)式的優(yōu)點(diǎn)。,7.3.3.1 段頁(yè)式管理原理,地址映射首先研究邏輯地址在段頁(yè)式中的變化。程序員編程時(shí)
51、仍然是分段編程,所以邏輯地址仍是二維的,即段號(hào)和段內(nèi)地址。操作系統(tǒng)以段為單位分頁(yè),就把段內(nèi)地址分成兩部分,即頁(yè)號(hào)和頁(yè)內(nèi)地址,這樣,邏輯地址變成(段號(hào),頁(yè)號(hào),頁(yè)內(nèi)地址)。再來(lái)看物理地址,物理地址是(塊號(hào),塊內(nèi)地址),因?yàn)橐粔K正好裝入一頁(yè),所以,頁(yè),7.3.3.1 段頁(yè)式管理原理,內(nèi)地址就等于塊內(nèi)地址。下面就要考慮段號(hào)和頁(yè)號(hào)與塊號(hào)之間的聯(lián)系。因?yàn)橐远螢閱挝环猪?yè),所以每個(gè)段都要一個(gè)頁(yè)表,頁(yè)表每項(xiàng)裝入對(duì)應(yīng)的塊號(hào);每個(gè)進(jìn)程分多個(gè)段,一個(gè)進(jìn)程
52、設(shè)置一個(gè)段表。段表項(xiàng)目?jī)?nèi)容與分段式中的段表內(nèi)容不同,為了檢查地址越界,一個(gè)段表項(xiàng)至少包括頁(yè)表的長(zhǎng)度和頁(yè)表的起始地址。,7.3.3.1 段頁(yè)式管理原理,,段頁(yè)式分配的地址變換圖解,>=,越界中斷,,+,段頁(yè)式存儲(chǔ)的地址變換機(jī)構(gòu),,,,,0,1,2,3,基址,段號(hào)2,頁(yè)表,,,,,長(zhǎng)度,頁(yè)表,,+,,B,1,,塊號(hào),頁(yè)號(hào),0,1,2,,,,,,,,,3,,,,,>=,,,,,,,,塊內(nèi)地址,塊號(hào),段號(hào)2,頁(yè)號(hào)2,頁(yè)內(nèi)地址d,段表
53、地址,段表長(zhǎng)度,段內(nèi)地址,Y,N,Y,N,7.3.3.1 段頁(yè)式管理原理,從地址映射看到,為了計(jì)算內(nèi)存物理地址需要兩次訪問(wèn)內(nèi)存(段表,頁(yè)表),顯然增加執(zhí)行一條指令的時(shí)間,使進(jìn)程執(zhí)行時(shí)間延長(zhǎng),這是段頁(yè)式管理天生缺陷,為了提高訪問(wèn)內(nèi)存的速度,可以用增加快表的方法,利用高速緩沖內(nèi)存存放段表和頁(yè)表的子集,縮短計(jì)算物理地址的時(shí)間。,7.3.3.1 段頁(yè)式管理原理,內(nèi)存共享和保護(hù)段頁(yè)式管理吸取了分段式管理和分頁(yè)式管理的優(yōu)點(diǎn),可以說(shuō)在內(nèi)存分配回收方
54、面吸取了分頁(yè)管理的優(yōu)點(diǎn),在內(nèi)存共享和保護(hù)方面吸取了分段式管理的優(yōu)點(diǎn)。段頁(yè)式管理的內(nèi)存保護(hù)除了前面講的地址越界保護(hù)外,還有訪問(wèn)權(quán)限保護(hù)。這可通過(guò)在段表中增加保護(hù)字段實(shí)現(xiàn)。,7.3.3.2段頁(yè)式的實(shí)例,Pentium的虛擬存儲(chǔ)器采用段頁(yè)式存儲(chǔ)管理Pentium虛擬存儲(chǔ)器的核心是兩張表:LDT(局部段描述符表)和GDT(全局段描述符表)。每個(gè)進(jìn)程都有自己的LDT,一臺(tái)計(jì)算機(jī)上的所有進(jìn)程共享一個(gè)GDT。LDT描述每個(gè)進(jìn)程的段,包括代碼、數(shù)據(jù)、
55、堆棧等;GDT描述系統(tǒng)段,包括操作系統(tǒng)本身。,7.3.3.2段頁(yè)式的實(shí)例,為了訪問(wèn)一個(gè)段,操作系統(tǒng)必須把這個(gè)段的選擇符(selector)裝入中央處理器的某個(gè)段寄存器。每個(gè)選擇符是一個(gè)16位數(shù)。,15 3 2 1 0,索 引,0=GDT / 1=LDT,,優(yōu)先級(jí)(0~3),,7.3.3.2段頁(yè)式的實(shí)例,段寄存器SS表示堆棧段,CS表示代碼段
56、, DS 表示數(shù)據(jù)段, ES、FS、GS表示附加數(shù)據(jù)段。在選擇符被裝入段寄存器時(shí),從LDT或GDT中取出對(duì)應(yīng)的描述符,以便快速訪問(wèn)。一個(gè)描述符由8個(gè)字節(jié)組成包括段的基地址、大小和其它信息。,基址 24 -31,G,X,0,段長(zhǎng) 16-19,,基址16 -23,0:16位段1:32位段,0:段長(zhǎng)以字節(jié)為單位1:段長(zhǎng)以頁(yè)長(zhǎng)為單位,,,基址0 -15,段長(zhǎng) 0 -15,Type,S,DPL,P,A,0:段不在內(nèi)存中1:段在內(nèi)存中,,,,
57、,,,,0: 未訪問(wèn)過(guò)1: 訪問(wèn)過(guò),,,,,,,0:系統(tǒng)段或門1:代碼段或數(shù)據(jù)段,,,,,,,,段類型和保護(hù),,,,優(yōu)先級(jí)(0~3),Pentium段描述符,7.3.3.2段頁(yè)式的實(shí)例,現(xiàn)在讓我們跟蹤一個(gè)邏輯地址(選擇符,偏移地址)轉(zhuǎn)換為物理地址的過(guò)程:用選擇符做索引,查段描述符表中的描述符。Pentium接著把段描述符中的32位段基址和偏移地址相加形成線性地址 。如果禁止分頁(yè),線性地址就作為物理地址并被送往寄存器用于讀寫。
58、如果允許分頁(yè),線性地址將被解釋成一個(gè)虛擬地址并通過(guò)頁(yè)表映射到物理地址。,,7.3.3.2段頁(yè)式的實(shí)例,段選擇符,段描述符表,段起始地址,段長(zhǎng)度,段的其他屬性,偏移地址,32位線性地址,,,…,,…,,,,,,+,邏輯地址轉(zhuǎn)換為線性地址,CSDSSSESFSGS,7.3.3.2段頁(yè)式的實(shí)例,,,,,在實(shí)存管理中,會(huì)遇到內(nèi)存不夠用的情況。人們也想了解決該問(wèn)題的辦法,交換技術(shù)和覆蓋技術(shù)就是在實(shí)存管理中擴(kuò)充內(nèi)存的方法。這些方法在一
59、定程度上解決了實(shí)存管理中用小內(nèi)存運(yùn)行大程序的問(wèn)題。,7.4 交換技術(shù),交換技術(shù)是指將一個(gè)進(jìn)程完整地從內(nèi)存移動(dòng)到磁盤上,騰出空間給其他進(jìn)程使用。需要時(shí),再將該進(jìn)程移入內(nèi)存。交換進(jìn)程由換出和換進(jìn)兩個(gè)過(guò)程組成,換出是把內(nèi)存中的數(shù)據(jù)和程序換到外存的交換區(qū),反之就是換進(jìn)。 在交換系統(tǒng)中,交換所占用的時(shí)間相當(dāng)多。在前面學(xué)習(xí)進(jìn)程狀態(tài)時(shí),曾經(jīng)學(xué)習(xí)過(guò)掛起和激活轉(zhuǎn)換,從進(jìn)程狀態(tài)轉(zhuǎn)換上講,交換技術(shù)就是將進(jìn)程掛起或激活。,,7.5 覆蓋技術(shù),覆蓋是在
溫馨提示
- 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ù)僅提供信息存儲(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)論