




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng) Operating System教學(xué)目的教學(xué)目的&通過對(duì)本章的講解使學(xué)生理解并掌握存通過對(duì)本章的講解使學(xué)生理解并掌握存儲(chǔ)管理功能,各種內(nèi)存分配方式,如連儲(chǔ)管理功能,各種內(nèi)存分配方式,如連續(xù)分配方式,離散分配方式以及虛擬存續(xù)分配方式,離散分配方式以及虛擬存儲(chǔ)的基本理論。儲(chǔ)的基本理論。本章重點(diǎn):本章重點(diǎn):&程序的裝入方式程序的裝入方式&連續(xù)分配方式的管理連續(xù)分配方式的管理&離散分配方式的管理離散分配方式的管理&虛擬存儲(chǔ)的基本理論虛擬存儲(chǔ)的基本理論本章難點(diǎn):本章難點(diǎn):&地址變換的實(shí)現(xiàn)地址變換的實(shí)現(xiàn)&虛擬存儲(chǔ)的理解虛擬存儲(chǔ)的理解&
2、;頁面置換算法的實(shí)現(xiàn)頁面置換算法的實(shí)現(xiàn)第第4 4章章 存儲(chǔ)管理存儲(chǔ)管理4.1 4.1 存儲(chǔ)管理的原理存儲(chǔ)管理的原理 4.2 4.2 連續(xù)分配存儲(chǔ)管理連續(xù)分配存儲(chǔ)管理 4.3 4.3 離散分配存儲(chǔ)管理離散分配存儲(chǔ)管理4.4 4.4 內(nèi)核主存管理內(nèi)核主存管理4.5 4.5 虛擬存儲(chǔ)技術(shù)虛擬存儲(chǔ)技術(shù)4.6 4.6 虛擬頁式存儲(chǔ)管理虛擬頁式存儲(chǔ)管理 4.7 4.7 虛擬段式存儲(chǔ)管理虛擬段式存儲(chǔ)管理4.8 4.8 存儲(chǔ)管理實(shí)例存儲(chǔ)管理實(shí)例本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo) &本章首先介紹了存儲(chǔ)管理的研究對(duì)象和目的,明確本章首先介紹了存儲(chǔ)管理的研究對(duì)象和目的,明確了存儲(chǔ)管理的基本功能和原理;然后從連續(xù)、離散
3、了存儲(chǔ)管理的基本功能和原理;然后從連續(xù)、離散(實(shí)存、虛存)兩個(gè)角度,分別介紹了常用的幾種(實(shí)存、虛存)兩個(gè)角度,分別介紹了常用的幾種存儲(chǔ)管理方案;最后介紹了當(dāng)前主流操作系統(tǒng)中存存儲(chǔ)管理方案;最后介紹了當(dāng)前主流操作系統(tǒng)中存儲(chǔ)管理實(shí)例。儲(chǔ)管理實(shí)例。 存儲(chǔ)管理方式一覽表存儲(chǔ)管理方式一覽表存儲(chǔ)方式存儲(chǔ)方式連續(xù)存儲(chǔ)方式(實(shí)存)連續(xù)存儲(chǔ)方式(實(shí)存)離散離散單連續(xù)區(qū)單連續(xù)區(qū)固定分區(qū)固定分區(qū)可變分區(qū)可變分區(qū)內(nèi)核存儲(chǔ)管理內(nèi)核存儲(chǔ)管理實(shí)存實(shí)存虛存虛存分頁分頁分段分段段頁式段頁式虛擬頁式虛擬頁式虛擬段式虛擬段式虛擬段頁式虛擬段頁式4.1 4.1 存儲(chǔ)管理的原理存儲(chǔ)管理的原理4.1.1 4.1.1 存儲(chǔ)器存儲(chǔ)器4.1
4、.2 4.1.2 存儲(chǔ)管理的原理存儲(chǔ)管理的原理4.1.3 4.1.3 鏈接鏈接4.1.4 4.1.4 存儲(chǔ)管理的機(jī)制和策略存儲(chǔ)管理的機(jī)制和策略4.1.1 4.1.1 存儲(chǔ)器存儲(chǔ)器1.1.存儲(chǔ)器存儲(chǔ)器主存(內(nèi)部存儲(chǔ)器,磁芯存儲(chǔ)器)輔存輔存(外存)磁盤、磁帶、軟盤)(外存)磁盤、磁帶、軟盤)高速緩沖存儲(chǔ)器高速緩沖存儲(chǔ)器CacheCache 通常將用戶的作業(yè)放在通常將用戶的作業(yè)放在主主存存中執(zhí)行;中執(zhí)行;而把那些不而把那些不立即使用的程序、數(shù)據(jù)立即使用的程序、數(shù)據(jù)放在外存中,用到時(shí)再放在外存中,用到時(shí)再將它們調(diào)入內(nèi)存中;將它們調(diào)入內(nèi)存中;在在程序運(yùn)行時(shí),為了提高程序運(yùn)行時(shí),為了提高對(duì)數(shù)據(jù)的存取速度,
5、會(huì)對(duì)數(shù)據(jù)的存取速度,會(huì)將一些常用的表格,變將一些常用的表格,變量,臨時(shí)數(shù)據(jù)等放入到量,臨時(shí)數(shù)據(jù)等放入到高速緩存高速緩存中。中。圖4.1 存儲(chǔ)層次 主存 系統(tǒng)區(qū)(存放OS程序和數(shù)據(jù)) 用戶區(qū)(存放用戶程序、數(shù)據(jù))由于系統(tǒng)開工期間,由于系統(tǒng)開工期間,OSOS程序與其他程序一起共享主存,程序與其他程序一起共享主存,為安全起見,多道程序系統(tǒng)常由為安全起見,多道程序系統(tǒng)常由OSOS把內(nèi)存初始化為:把內(nèi)存初始化為:程序的指令和數(shù)據(jù)只有放在內(nèi)存中,程序的指令和數(shù)據(jù)只有放在內(nèi)存中,CPUCPU才能對(duì)其進(jìn)行才能對(duì)其進(jìn)行直接存取,或者說該程序才能被執(zhí)行。直接存取,或者說該程序才能被執(zhí)行??梢妰?nèi)存資可見內(nèi)存資源是進(jìn)
6、程執(zhí)行時(shí)不可或缺的條件之一。源是進(jìn)程執(zhí)行時(shí)不可或缺的條件之一。2.2.主存(內(nèi)存)主存(內(nèi)存)存儲(chǔ)管理常指對(duì)用戶區(qū)進(jìn)行管理存儲(chǔ)管理常指對(duì)用戶區(qū)進(jìn)行管理系統(tǒng)區(qū)用戶區(qū)圖4.2內(nèi)存示意圖4.1.2 4.1.2 存儲(chǔ)管理的原理存儲(chǔ)管理的原理 1.1.存儲(chǔ)管理的原理存儲(chǔ)管理的原理(1)(1)程序執(zhí)行過程程序執(zhí)行過程 首先首先CPU通過程序計(jì)數(shù)器中的值從內(nèi)存中取得相應(yīng)的指通過程序計(jì)數(shù)器中的值從內(nèi)存中取得相應(yīng)的指令,指令被譯碼后根據(jù)要求可能會(huì)從存儲(chǔ)器中再取得操作數(shù)。令,指令被譯碼后根據(jù)要求可能會(huì)從存儲(chǔ)器中再取得操作數(shù)。對(duì)操作數(shù)處理完成后,操作結(jié)果又會(huì)存儲(chǔ)到存儲(chǔ)器中;對(duì)操作數(shù)處理完成后,操作結(jié)果又會(huì)存儲(chǔ)到存儲(chǔ)
7、器中;進(jìn)程進(jìn)程在運(yùn)行過程中依據(jù)任務(wù)的要求也會(huì)請(qǐng)求內(nèi)存空間,如在運(yùn)行過程中依據(jù)任務(wù)的要求也會(huì)請(qǐng)求內(nèi)存空間,如I/OI/O需要需要緩沖區(qū)、存放臨時(shí)數(shù)據(jù)等,這涉及到內(nèi)存的分配與回收問題。緩沖區(qū)、存放臨時(shí)數(shù)據(jù)等,這涉及到內(nèi)存的分配與回收問題。(2)(2)存儲(chǔ)管理的主要工作存儲(chǔ)管理的主要工作 就是負(fù)責(zé)內(nèi)存空間的使用管理,就是負(fù)責(zé)內(nèi)存空間的使用管理,即為進(jìn)程分配與回收空即為進(jìn)程分配與回收空間,將程序裝入指定內(nèi)存區(qū)域;間,將程序裝入指定內(nèi)存區(qū)域;再?gòu)闹付ǖ拇鎯?chǔ)單元中讀寫再?gòu)闹付ǖ拇鎯?chǔ)單元中讀寫數(shù)據(jù),而內(nèi)存單元的讀寫操作是由主存硬件完成的,所以對(duì)數(shù)據(jù),而內(nèi)存單元的讀寫操作是由主存硬件完成的,所以對(duì)主存發(fā)出的讀
8、寫請(qǐng)求主存發(fā)出的讀寫請(qǐng)求只要指定主存單元只要指定主存單元就行。就行。 2.2.存儲(chǔ)單元與物理地址空間存儲(chǔ)單元與物理地址空間(1)(1)物理地址(絕對(duì)地址)物理地址(絕對(duì)地址)內(nèi)存是由若干個(gè)存儲(chǔ)單元組成的,每個(gè)存儲(chǔ)單元有一個(gè)編號(hào),這內(nèi)存是由若干個(gè)存儲(chǔ)單元組成的,每個(gè)存儲(chǔ)單元有一個(gè)編號(hào),這種種編號(hào)可唯一標(biāo)識(shí)一個(gè)存儲(chǔ)單元,稱為內(nèi)存地址編號(hào)可唯一標(biāo)識(shí)一個(gè)存儲(chǔ)單元,稱為內(nèi)存地址(或物理地(或物理地址)。址)。(2)(2)物理地址空間物理地址空間是是指物理地址的集合指物理地址的集合,也叫絕對(duì)地址空間或?qū)嵖臻g或存儲(chǔ)空間,也叫絕對(duì)地址空間或?qū)嵖臻g或存儲(chǔ)空間,亦即內(nèi)存空間。存儲(chǔ)空間中的單元一般都是按字節(jié)從亦即內(nèi)
9、存空間。存儲(chǔ)空間中的單元一般都是按字節(jié)從0 0開始連開始連續(xù)編址的,續(xù)編址的,內(nèi)存空間的最大容量由地址總線決定。內(nèi)存空間的最大容量由地址總線決定。如地址總線如地址總線有有2424根,則其地址范圍是根,則其地址范圍是0 016M-1(216M-1(22424-1)-1),最大容量為,最大容量為16M16M。(3)(3)存儲(chǔ)單元的訪問存儲(chǔ)單元的訪問存儲(chǔ)器只能通過物理地址訪問內(nèi)存單元。存儲(chǔ)器只能通過物理地址訪問內(nèi)存單元。即給出欲訪問的存儲(chǔ)單即給出欲訪問的存儲(chǔ)單元絕對(duì)地址,存儲(chǔ)器即可對(duì)其進(jìn)行讀寫操作。元絕對(duì)地址,存儲(chǔ)器即可對(duì)其進(jìn)行讀寫操作。3.3.作業(yè)的裝入作業(yè)的裝入 (1) (1)作業(yè)的處理過程作業(yè)
10、的處理過程用戶的作業(yè)總是由一個(gè)或若干個(gè)源程序文件組成,編譯或匯用戶的作業(yè)總是由一個(gè)或若干個(gè)源程序文件組成,編譯或匯編程序可編程序可對(duì)源程序文件進(jìn)行編譯或匯編形成相應(yīng)的目標(biāo)模塊,對(duì)源程序文件進(jìn)行編譯或匯編形成相應(yīng)的目標(biāo)模塊,再再由連接程序?qū)⑦@些目標(biāo)模塊和庫(kù)函數(shù)連接成一個(gè)完整的裝入模塊,由連接程序?qū)⑦@些目標(biāo)模塊和庫(kù)函數(shù)連接成一個(gè)完整的裝入模塊,最后將其裝入內(nèi)存執(zhí)行。最后將其裝入內(nèi)存執(zhí)行。 (2) (2)名字空間名字空間用匯編語言或高級(jí)語言編寫程序時(shí),總是通過符號(hào)名來訪問用匯編語言或高級(jí)語言編寫程序時(shí),總是通過符號(hào)名來訪問某一單元。我們把程序中某一單元。我們把程序中由符號(hào)名組成的空間稱為名空間。由符
11、號(hào)名組成的空間稱為名空間。 (3) (3)邏輯地址空間邏輯地址空間源程序經(jīng)過匯編或編譯并再經(jīng)過鏈接程序所裝配形成的程序,源程序經(jīng)過匯編或編譯并再經(jīng)過鏈接程序所裝配形成的程序,通常通常是以是以0 0為基址進(jìn)行順序編址,為基址進(jìn)行順序編址,或者是分成若干個(gè)部分,每個(gè)或者是分成若干個(gè)部分,每個(gè)部分以部分以0 0為基址,這樣的地址表示形式稱為相對(duì)地址為基址,這樣的地址表示形式稱為相對(duì)地址, ,也叫做邏輯也叫做邏輯地址或虛地址,地址或虛地址,把該程序邏輯地址組成的集合叫做程序的邏輯地把該程序邏輯地址組成的集合叫做程序的邏輯地址空間址空間( (簡(jiǎn)稱地址空間,也叫簡(jiǎn)稱地址空間,也叫相對(duì)地址空間相對(duì)地址空間或
12、或虛空間虛空間 ) ) 。圖圖4.34.3裝入示意圖裝入示意圖Goto L1L1:源程序編譯Goto 2目標(biāo)代碼0123名空間地址空間裝入Goto a2內(nèi)存(運(yùn)行程序)aa1存儲(chǔ)空間a2 【作業(yè)的名空間、邏輯地址空間和物理空間作業(yè)的名空間、邏輯地址空間和物理空間】圖4.4名空間邏輯物理空間示意圖4.4.地址重定位地址重定位(1)(1)地址變換地址變換作業(yè)運(yùn)行時(shí)不能按其相對(duì)地址訪問內(nèi)存單元,而應(yīng)按相應(yīng)的物作業(yè)運(yùn)行時(shí)不能按其相對(duì)地址訪問內(nèi)存單元,而應(yīng)按相應(yīng)的物理地址訪問。因此理地址訪問。因此將一個(gè)邏輯地址空間的程序裝入到物理地將一個(gè)邏輯地址空間的程序裝入到物理地址空間時(shí),由于兩個(gè)空間不一致,需要進(jìn)
13、行址空間時(shí),由于兩個(gè)空間不一致,需要進(jìn)行相對(duì)地址到物理相對(duì)地址到物理地址的轉(zhuǎn)換地址的轉(zhuǎn)換,即地址的重定位。,即地址的重定位。也就是說也就是說將虛地址映射為內(nèi)將虛地址映射為內(nèi)存地址,這種作法叫做地址重定位或地址變換或存地址,這種作法叫做地址重定位或地址變換或地址映射地址映射。地址重定位有兩種方式:靜態(tài)重定位和動(dòng)態(tài)重定位。地址重定位有兩種方式:靜態(tài)重定位和動(dòng)態(tài)重定位。(2)(2)靜態(tài)地址重定位靜態(tài)地址重定位靜態(tài)地址重定位是在程序執(zhí)行之前由操作系統(tǒng)的重定位裝入程靜態(tài)地址重定位是在程序執(zhí)行之前由操作系統(tǒng)的重定位裝入程序完成的。序完成的。在裝入一個(gè)作業(yè)時(shí),把作業(yè)中的指令地址全部轉(zhuǎn)在裝入一個(gè)作業(yè)時(shí),把作業(yè)
14、中的指令地址全部轉(zhuǎn)換為絕對(duì)地址換為絕對(duì)地址(地址轉(zhuǎn)換工作是在作業(yè)執(zhí)行前集中一次完成(地址轉(zhuǎn)換工作是在作業(yè)執(zhí)行前集中一次完成的)在作業(yè)執(zhí)行過程中就無須再進(jìn)行地址轉(zhuǎn)換工作。的)在作業(yè)執(zhí)行過程中就無須再進(jìn)行地址轉(zhuǎn)換工作。 Load ah,781078 3651000Load ah,10781001相對(duì)地址裝入裝入模塊內(nèi)存絕對(duì)地址1078 365靜態(tài)地址重定位的靜態(tài)地址重定位的優(yōu)點(diǎn)優(yōu)點(diǎn)是容易實(shí)現(xiàn),無需硬件是容易實(shí)現(xiàn),無需硬件支持,支持,它只要求程序本它只要求程序本身是可重定位的,即對(duì)身是可重定位的,即對(duì)那些要修改的地址部分那些要修改的地址部分具有某種標(biāo)識(shí),地址重具有某種標(biāo)識(shí),地址重定位由專門設(shè)計(jì)的程序
15、定位由專門設(shè)計(jì)的程序來完成。在早期的操作來完成。在早期的操作系統(tǒng)中大多數(shù)都采用這系統(tǒng)中大多數(shù)都采用這種方法。種方法。其主要缺點(diǎn)是其主要缺點(diǎn)是程序經(jīng)地址重定位后就程序經(jīng)地址重定位后就不能移動(dòng)了,因而不能不能移動(dòng)了,因而不能重新分配內(nèi)存,不利于重新分配內(nèi)存,不利于內(nèi)存的有效利用。內(nèi)存的有效利用。靜態(tài)地址重定位示例靜態(tài)地址重定位示例圖4.5靜態(tài)重定位示意圖(3)動(dòng)態(tài)地址重定位動(dòng)態(tài)地址重定位 動(dòng)態(tài)地址重定位是在程序執(zhí)行期間進(jìn)行的動(dòng)態(tài)地址重定位是在程序執(zhí)行期間進(jìn)行的。在在CPUCPU訪問內(nèi)存之前訪問內(nèi)存之前, ,將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)存地址。存地址。 通過基地址
16、寄存器、變址寄存器計(jì)算出指令的有通過基地址寄存器、變址寄存器計(jì)算出指令的有效地址,再利用硬件機(jī)構(gòu)實(shí)現(xiàn)地址映射,這樣的硬效地址,再利用硬件機(jī)構(gòu)實(shí)現(xiàn)地址映射,這樣的硬件設(shè)備稱為件設(shè)備稱為存儲(chǔ)管理單元存儲(chǔ)管理單元MMU(Memory-Management MMU(Memory-Management Unit)Unit)。 通常采用的辦法是通常采用的辦法是利用一個(gè)重定位寄存器,對(duì)利用一個(gè)重定位寄存器,對(duì)每一個(gè)有效地址都要加上重定位寄存器中的內(nèi)容,每一個(gè)有效地址都要加上重定位寄存器中的內(nèi)容,以形成絕對(duì)地址。以形成絕對(duì)地址。 動(dòng)態(tài)地址重定位的動(dòng)態(tài)地址重定位的優(yōu)點(diǎn)是程序在內(nèi)存中的搬移不會(huì)對(duì)程序的優(yōu)點(diǎn)是程序在
17、內(nèi)存中的搬移不會(huì)對(duì)程序的正確執(zhí)行造成影響,使內(nèi)存得以被充分利用,正確執(zhí)行造成影響,使內(nèi)存得以被充分利用,其缺點(diǎn)是需要附加其缺點(diǎn)是需要附加的硬件支持,實(shí)現(xiàn)存儲(chǔ)管理的軟件算法比較復(fù)雜。的硬件支持,實(shí)現(xiàn)存儲(chǔ)管理的軟件算法比較復(fù)雜。圖4.6 動(dòng)態(tài)重定位及存儲(chǔ)保護(hù)示意圖4.1.3 4.1.3 鏈接鏈接&鏈接是指多個(gè)目標(biāo)模塊在執(zhí)行時(shí)的地址空間分配和相互引用。鏈接方法一、鏈接方法一、鏈接方法、靜態(tài)鏈接(、靜態(tài)鏈接(static-linking)靜態(tài)鏈接是在生成可執(zhí)行文件時(shí)進(jìn)行的。在目標(biāo)模塊中記錄符號(hào)地址(symbolic address),而在可執(zhí)行文件中改寫為指令直接使用的數(shù)字地址。Module
18、AModule Acall function10L-1Module BModule B0M-1function1().function1FModule AModule Acall L+F0L-1Module BModule BLL+M-1function1().function1L+F圖4.7 靜態(tài)鏈接示意圖2. 2. 動(dòng)態(tài)鏈接動(dòng)態(tài)鏈接(dynamic-linking)(dynamic-linking)在裝入或運(yùn)行裝入或運(yùn)行時(shí)進(jìn)行鏈接。通常被鏈接的共享代碼稱為動(dòng)態(tài)鏈接庫(kù)(DLL, Dynamic-Link Library)或共享庫(kù)(shared library)。F共享共享:多個(gè)進(jìn)程可以共用一
19、個(gè):多個(gè)進(jìn)程可以共用一個(gè)DLLDLL,節(jié)省內(nèi)存,減少文件,節(jié)省內(nèi)存,減少文件交換。交換。F部分裝入部分裝入:一個(gè)進(jìn)程可以將多種操作分散在不同的:一個(gè)進(jìn)程可以將多種操作分散在不同的DLLDLL中中實(shí)現(xiàn),而只將當(dāng)前操作相應(yīng)的實(shí)現(xiàn),而只將當(dāng)前操作相應(yīng)的DLLDLL裝入內(nèi)存。裝入內(nèi)存。F便于局部代碼修改便于局部代碼修改:即便于代碼升級(jí)和代碼重用;只要函:即便于代碼升級(jí)和代碼重用;只要函數(shù)的接口參數(shù)(輸入和輸出)不變,則修改函數(shù)及其數(shù)的接口參數(shù)(輸入和輸出)不變,則修改函數(shù)及其DLLDLL,無需對(duì)可執(zhí)行文件重新編譯或鏈接。無需對(duì)可執(zhí)行文件重新編譯或鏈接。F便于運(yùn)行環(huán)境適應(yīng)便于運(yùn)行環(huán)境適應(yīng):調(diào)用不同的:調(diào)
20、用不同的DLLDLL,就可以適應(yīng)多種使,就可以適應(yīng)多種使用環(huán)境和提供不同功能。如:不同的顯示卡只需廠商為其用環(huán)境和提供不同功能。如:不同的顯示卡只需廠商為其提供特定的提供特定的DLLDLL,而,而OSOS和應(yīng)用程序不必修改。和應(yīng)用程序不必修改。&缺點(diǎn):缺點(diǎn):F鏈接開銷鏈接開銷:增加了程序執(zhí)行時(shí)的鏈接開銷;:增加了程序執(zhí)行時(shí)的鏈接開銷;F管理開銷管理開銷:程序由多個(gè)文件組成,增加管理復(fù)雜度。:程序由多個(gè)文件組成,增加管理復(fù)雜度。&以以Multics系統(tǒng)為例,給出動(dòng)態(tài)鏈接的一系統(tǒng)為例,給出動(dòng)態(tài)鏈接的一種實(shí)現(xiàn)方法。種實(shí)現(xiàn)方法。& 操作系統(tǒng)需要為每一個(gè)進(jìn)程保持一個(gè)用于操作系統(tǒng)需
21、要為每一個(gè)進(jìn)程保持一個(gè)用于記錄當(dāng)前已連接段的表目,該表稱作段名記錄當(dāng)前已連接段的表目,該表稱作段名-段號(hào)對(duì)照表,見下表:段號(hào)對(duì)照表,見下表:段名段名段號(hào)段號(hào)namenumb&此外,為了將一個(gè)外段中的符號(hào)名轉(zhuǎn)換為對(duì)此外,為了將一個(gè)外段中的符號(hào)名轉(zhuǎn)換為對(duì)應(yīng)的段內(nèi)地址,每個(gè)段在編譯時(shí),需要生成應(yīng)的段內(nèi)地址,每個(gè)段在編譯時(shí),需要生成符號(hào)表,放在一個(gè)段的前面,作為段的一個(gè)符號(hào)表,放在一個(gè)段的前面,作為段的一個(gè)組成部分。見下表:組成部分。見下表:符號(hào)名符號(hào)名段內(nèi)地址段內(nèi)地址S1A1SKAK這樣,一個(gè)段由符號(hào)表和目標(biāo)程序兩部分構(gòu)成。例如:例如:&設(shè)有兩個(gè)段,段名分別為設(shè)有兩個(gè)段,段名分別為W
22、和和X,見下述,見下述過程過程:load 1, x| W W段段 1234 X X段段 編譯前編譯前 段首地址 段號(hào)0 1 2段表 W段 (段號(hào)=2)load *1, 2|100“7X|”601001 2 160160段名段號(hào)MAIN0A1W2 段名-段號(hào)對(duì)照表 Y 200 12456 X段段 (尚未連接)(尚未連接)200 編譯后連接前編譯后連接前 段首地址 段號(hào)0 1 2 3 段表 60W段段 (段號(hào)(段號(hào)=2)load *1, 2|100“7X|”1001600 3 200 Y 200 12456 X段段 (已經(jīng)連接)(已經(jīng)連接)200段名段號(hào)MAIN0A1W2X3 連接后連接后 段名-
23、段號(hào)對(duì)照表4.1.44.1.4存儲(chǔ)管理的機(jī)制和策略存儲(chǔ)管理的機(jī)制和策略&在多道環(huán)境下,存儲(chǔ)管理不但要為進(jìn)程提供內(nèi)存資在多道環(huán)境下,存儲(chǔ)管理不但要為進(jìn)程提供內(nèi)存資源,還要為源,還要為內(nèi)存的使用提供安全保障機(jī)制內(nèi)存的使用提供安全保障機(jī)制,如防止,如防止進(jìn)程非法訪問不屬于自已的空間。進(jìn)程非法訪問不屬于自已的空間。&為了提高內(nèi)存資源的利用率,存儲(chǔ)管理還要為了提高內(nèi)存資源的利用率,存儲(chǔ)管理還要提供共提供共享機(jī)制,享機(jī)制,也就是當(dāng)若干個(gè)進(jìn)程調(diào)用同一段代碼或數(shù)也就是當(dāng)若干個(gè)進(jìn)程調(diào)用同一段代碼或數(shù)據(jù)時(shí),系統(tǒng)應(yīng)為共享的代碼或數(shù)據(jù)保留一個(gè)副本而據(jù)時(shí),系統(tǒng)應(yīng)為共享的代碼或數(shù)據(jù)保留一個(gè)副本而不是多個(gè)。
24、不是多個(gè)。&這是從節(jié)省資源使用出發(fā),但是作為有限的內(nèi)存資這是從節(jié)省資源使用出發(fā),但是作為有限的內(nèi)存資源,經(jīng)常有不夠用的時(shí)候。隨著主存元器件成本的源,經(jīng)常有不夠用的時(shí)候。隨著主存元器件成本的下降,主存的容量在不斷地增長(zhǎng),但是在主存中運(yùn)下降,主存的容量在不斷地增長(zhǎng),但是在主存中運(yùn)行的作業(yè)數(shù)也在增加,同時(shí)用戶作業(yè)的規(guī)模也在不行的作業(yè)數(shù)也在增加,同時(shí)用戶作業(yè)的規(guī)模也在不斷地加大,因而內(nèi)存容量總是很緊張。所以存儲(chǔ)管斷地加大,因而內(nèi)存容量總是很緊張。所以存儲(chǔ)管理為了能運(yùn)行大作業(yè)或盡可能多地執(zhí)行任務(wù),理為了能運(yùn)行大作業(yè)或盡可能多地執(zhí)行任務(wù),就要就要提供內(nèi)存擴(kuò)充技術(shù)。提供內(nèi)存擴(kuò)充技術(shù)。綜上所述,存儲(chǔ)管
25、理的功能如綜上所述,存儲(chǔ)管理的功能如下所示:下所示: 【存儲(chǔ)管理的功能】 1.1.內(nèi)存的分配與回收內(nèi)存的分配與回收&每一個(gè)進(jìn)程運(yùn)行時(shí)都需要內(nèi)存資源,每一個(gè)進(jìn)程運(yùn)行時(shí)都需要內(nèi)存資源, 因此內(nèi)因此內(nèi)存空間的分配和回收是存儲(chǔ)管理的基本功能。存空間的分配和回收是存儲(chǔ)管理的基本功能。在在進(jìn)程創(chuàng)建時(shí)按照一定的存儲(chǔ)策略為其分配內(nèi)存空進(jìn)程創(chuàng)建時(shí)按照一定的存儲(chǔ)策略為其分配內(nèi)存空間,進(jìn)程運(yùn)行結(jié)束時(shí),再將其所占用的內(nèi)存空間間,進(jìn)程運(yùn)行結(jié)束時(shí),再將其所占用的內(nèi)存空間收回。收回。&為了記錄內(nèi)存的使用情況,為了記錄內(nèi)存的使用情況,存儲(chǔ)管理會(huì)依據(jù)存儲(chǔ)管理會(huì)依據(jù)存儲(chǔ)策略采用相應(yīng)的數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)策略采用相應(yīng)的數(shù)
26、據(jù)結(jié)構(gòu),標(biāo)識(shí)哪些區(qū)域尚標(biāo)識(shí)哪些區(qū)域尚未分配,哪些區(qū)域已經(jīng)分配以及分配給哪些進(jìn)程未分配,哪些區(qū)域已經(jīng)分配以及分配給哪些進(jìn)程等。每一個(gè)進(jìn)程運(yùn)行時(shí)都需要內(nèi)存資源,等。每一個(gè)進(jìn)程運(yùn)行時(shí)都需要內(nèi)存資源, 因此因此內(nèi)存空間的分配和回收是存儲(chǔ)管理的基本功能。內(nèi)存空間的分配和回收是存儲(chǔ)管理的基本功能。系統(tǒng)通過所采用的數(shù)據(jù)結(jié)構(gòu)來管理內(nèi)存空間。系統(tǒng)通過所采用的數(shù)據(jù)結(jié)構(gòu)來管理內(nèi)存空間?!敬鎯?chǔ)管理的功能】&內(nèi)存分配按分配時(shí)機(jī)的不同,可分為兩種方式。內(nèi)存分配按分配時(shí)機(jī)的不同,可分為兩種方式。&(1 1)靜態(tài)存儲(chǔ)分配:)靜態(tài)存儲(chǔ)分配:指內(nèi)存分配是在作業(yè)運(yùn)行之前各目標(biāo)模指內(nèi)存分配是在作業(yè)運(yùn)行之前各目標(biāo)模塊連
27、接后,把整個(gè)作業(yè)一次性全部裝入內(nèi)存,并在作業(yè)的整個(gè)塊連接后,把整個(gè)作業(yè)一次性全部裝入內(nèi)存,并在作業(yè)的整個(gè)運(yùn)行過程中,不允許作業(yè)再申請(qǐng)其他內(nèi)存,或在內(nèi)存中移動(dòng)位運(yùn)行過程中,不允許作業(yè)再申請(qǐng)其他內(nèi)存,或在內(nèi)存中移動(dòng)位置。也就是說,內(nèi)存分配是在作業(yè)運(yùn)行前一次性完成的。置。也就是說,內(nèi)存分配是在作業(yè)運(yùn)行前一次性完成的。&(2 2)動(dòng)態(tài)存儲(chǔ)分配:)動(dòng)態(tài)存儲(chǔ)分配:作業(yè)要求的基本內(nèi)存空間是在目標(biāo)模塊作業(yè)要求的基本內(nèi)存空間是在目標(biāo)模塊裝入內(nèi)存時(shí)分配的,但在作業(yè)運(yùn)行過程中,允許作業(yè)申請(qǐng)附加裝入內(nèi)存時(shí)分配的,但在作業(yè)運(yùn)行過程中,允許作業(yè)申請(qǐng)附加的內(nèi)存空間,或是在內(nèi)存中移動(dòng),即分配工作可以在作業(yè)運(yùn)行的內(nèi)存空
28、間,或是在內(nèi)存中移動(dòng),即分配工作可以在作業(yè)運(yùn)行前及運(yùn)行過程中逐步完成。前及運(yùn)行過程中逐步完成?!敬鎯?chǔ)管理的功能】&2.2.地址地址映射與存儲(chǔ)保護(hù)映射與存儲(chǔ)保護(hù)&在多任務(wù)環(huán)境下,為防止內(nèi)存中各程序相互干擾,必在多任務(wù)環(huán)境下,為防止內(nèi)存中各程序相互干擾,必須對(duì)內(nèi)存中的程序和數(shù)據(jù)進(jìn)行保護(hù)。須對(duì)內(nèi)存中的程序和數(shù)據(jù)進(jìn)行保護(hù)。規(guī)定每一個(gè)進(jìn)程只規(guī)定每一個(gè)進(jìn)程只能在自己的存儲(chǔ)區(qū)內(nèi)活動(dòng),能在自己的存儲(chǔ)區(qū)內(nèi)活動(dòng),否則產(chǎn)生越界中斷。否則產(chǎn)生越界中斷。&存儲(chǔ)保護(hù)一般以硬件保護(hù)機(jī)制為主,軟件為輔。存儲(chǔ)保護(hù)一般以硬件保護(hù)機(jī)制為主,軟件為輔。因?yàn)橐驗(yàn)橥耆密浖?shí)現(xiàn)系統(tǒng)開銷太大,速度成倍降低。故采用完
29、全用軟件實(shí)現(xiàn)系統(tǒng)開銷太大,速度成倍降低。故采用軟、硬件相結(jié)合的方式,一旦發(fā)生越界或非法操作時(shí),軟、硬件相結(jié)合的方式,一旦發(fā)生越界或非法操作時(shí),硬件保護(hù)機(jī)制產(chǎn)生中斷,進(jìn)入操作系統(tǒng)處理。硬件保護(hù)機(jī)制產(chǎn)生中斷,進(jìn)入操作系統(tǒng)處理。&存儲(chǔ)保護(hù)機(jī)制應(yīng)設(shè)置在主存操作之前,存儲(chǔ)保護(hù)機(jī)制應(yīng)設(shè)置在主存操作之前,也就是存儲(chǔ)保也就是存儲(chǔ)保護(hù)機(jī)制對(duì)每一個(gè)欲訪問的主存地址都要進(jìn)行檢查。護(hù)機(jī)制對(duì)每一個(gè)欲訪問的主存地址都要進(jìn)行檢查。若為若為合法訪問,就可以去相應(yīng)的內(nèi)存單元中存取數(shù)據(jù);否則合法訪問,就可以去相應(yīng)的內(nèi)存單元中存取數(shù)據(jù);否則就產(chǎn)生一個(gè)錯(cuò)誤中斷交由操作系統(tǒng)處理,即該次訪問內(nèi)就產(chǎn)生一個(gè)錯(cuò)誤中斷交由操作系統(tǒng)處理,
30、即該次訪問內(nèi)存操作被終止。存操作被終止?!敬鎯?chǔ)管理的功能】&常用的存儲(chǔ)保護(hù)方法有:常用的存儲(chǔ)保護(hù)方法有:&(1 1)上、下界存儲(chǔ)保護(hù):)上、下界存儲(chǔ)保護(hù):上、下界保護(hù)是一種簡(jiǎn)單的上、下界保護(hù)是一種簡(jiǎn)單的存儲(chǔ)保護(hù)技術(shù)。存儲(chǔ)保護(hù)技術(shù)。系統(tǒng)可設(shè)置一對(duì)上、下界寄存器,分別用系統(tǒng)可設(shè)置一對(duì)上、下界寄存器,分別用來存放當(dāng)前運(yùn)行進(jìn)程在內(nèi)存空間的上、下邊界地址,來存放當(dāng)前運(yùn)行進(jìn)程在內(nèi)存空間的上、下邊界地址,用它用它們來限制用戶程序的活動(dòng)范圍。們來限制用戶程序的活動(dòng)范圍。 &(2 2)基址)基址限長(zhǎng)存儲(chǔ)保護(hù):限長(zhǎng)存儲(chǔ)保護(hù):上、下界保護(hù)的一個(gè)變種上、下界保護(hù)的一個(gè)變種是采用基址是采用基址限
31、長(zhǎng)存儲(chǔ)保護(hù)。限長(zhǎng)存儲(chǔ)保護(hù)。在限長(zhǎng)寄存器中存放作業(yè)的在限長(zhǎng)寄存器中存放作業(yè)的長(zhǎng)度,地址轉(zhuǎn)換前進(jìn)行測(cè)試,若邏輯地址的值大于限長(zhǎng)值,長(zhǎng)度,地址轉(zhuǎn)換前進(jìn)行測(cè)試,若邏輯地址的值大于限長(zhǎng)值,就屬于非法訪問,產(chǎn)生一個(gè)越界中斷,就屬于非法訪問,產(chǎn)生一個(gè)越界中斷,交由操作系統(tǒng)處理;交由操作系統(tǒng)處理;若邏輯地址的值小于限長(zhǎng)值,則表示地址合法,可以對(duì)其若邏輯地址的值小于限長(zhǎng)值,則表示地址合法,可以對(duì)其進(jìn)行存取。只有這樣內(nèi)存中的進(jìn)程才不會(huì)相互干擾,才能進(jìn)行存取。只有這樣內(nèi)存中的進(jìn)程才不會(huì)相互干擾,才能相對(duì)獨(dú)立。相對(duì)獨(dú)立。【界限寄存器的兩種存儲(chǔ)保護(hù)方式界限寄存器的兩種存儲(chǔ)保護(hù)方式】圖4.8存儲(chǔ)保護(hù)示意圖【存儲(chǔ)管理的功能
32、】 存儲(chǔ)保護(hù)還涉及對(duì)所訪問區(qū)域的權(quán)限檢查。存儲(chǔ)保護(hù)還涉及對(duì)所訪問區(qū)域的權(quán)限檢查。應(yīng)對(duì)每個(gè)訪問共享區(qū)域的進(jìn)程設(shè)置訪問權(quán)限。應(yīng)對(duì)每個(gè)訪問共享區(qū)域的進(jìn)程設(shè)置訪問權(quán)限。進(jìn)程對(duì)共享區(qū)域的操作不能超出自己的權(quán)限范進(jìn)程對(duì)共享區(qū)域的操作不能超出自己的權(quán)限范圍,圍,即對(duì)公共區(qū)域的訪問要加以檢查以防越權(quán)。即對(duì)公共區(qū)域的訪問要加以檢查以防越權(quán)。&權(quán)限的設(shè)置通常可以采用如下原則:權(quán)限的設(shè)置通??梢圆捎萌缦略瓌t: 對(duì)屬于自己區(qū)域的信息,可讀可寫。對(duì)屬于自己區(qū)域的信息,可讀可寫。 對(duì)公共區(qū)域中允許共享的信息或獲得授權(quán)對(duì)公共區(qū)域中允許共享的信息或獲得授權(quán)可使用的信息,可讀而不可修改??墒褂玫男畔?,可讀而不可修改。
33、對(duì)未獲授權(quán)使用的信息,不可讀、不可寫。對(duì)未獲授權(quán)使用的信息,不可讀、不可寫?!敬鎯?chǔ)管理的功能】3.3.內(nèi)存共享與擴(kuò)充內(nèi)存共享與擴(kuò)充&內(nèi)存空間共享有兩方面的含義:一是指內(nèi)存被多個(gè)并發(fā)進(jìn)內(nèi)存空間共享有兩方面的含義:一是指內(nèi)存被多個(gè)并發(fā)進(jìn)程所共用,即每一個(gè)進(jìn)程占據(jù)內(nèi)存的一段相對(duì)獨(dú)立的區(qū)域;程所共用,即每一個(gè)進(jìn)程占據(jù)內(nèi)存的一段相對(duì)獨(dú)立的區(qū)域;二是指內(nèi)存中某一區(qū)域的信息可被多個(gè)進(jìn)程共享。很顯然,二是指內(nèi)存中某一區(qū)域的信息可被多個(gè)進(jìn)程共享。很顯然,共享將極大地提高內(nèi)存空間的利用率。共享將極大地提高內(nèi)存空間的利用率。&可被共享的內(nèi)容既可以是程序代碼,也可以是數(shù)據(jù)。如果可被共享的內(nèi)容既可以是程
34、序代碼,也可以是數(shù)據(jù)。如果是代碼共享,則共享的代碼必須是純代碼,或稱是代碼共享,則共享的代碼必須是純代碼,或稱“可再入程可再入程序序”。即它在運(yùn)行過程中不修改自身,可再入程序所使用的。即它在運(yùn)行過程中不修改自身,可再入程序所使用的工作區(qū)由調(diào)用它的進(jìn)程提供。信息共享可以節(jié)省內(nèi)存空間,工作區(qū)由調(diào)用它的進(jìn)程提供。信息共享可以節(jié)省內(nèi)存空間,還可以實(shí)現(xiàn)進(jìn)程間通信。還可以實(shí)現(xiàn)進(jìn)程間通信。&內(nèi)存擴(kuò)充技術(shù)主要有:內(nèi)存擴(kuò)充技術(shù)主要有:(1)(1)覆蓋技術(shù),節(jié)約內(nèi)存使用;覆蓋技術(shù),節(jié)約內(nèi)存使用; (2)(2)交換技術(shù),輪流使用內(nèi)存;交換技術(shù),輪流使用內(nèi)存;(3)(3)虛擬存儲(chǔ)管理技術(shù),用外存補(bǔ)充內(nèi)存的不足
35、。虛擬存儲(chǔ)管理技術(shù),用外存補(bǔ)充內(nèi)存的不足。4.2 4.2 連續(xù)分配存儲(chǔ)管理連續(xù)分配存儲(chǔ)管理4.2.1 4.2.1 單連續(xù)存儲(chǔ)管理單連續(xù)存儲(chǔ)管理4.2.2 4.2.2 固定分區(qū)存儲(chǔ)管理固定分區(qū)存儲(chǔ)管理4.2.3 4.2.3 可變分區(qū)存儲(chǔ)管理可變分區(qū)存儲(chǔ)管理* * *4.2.4 4.2.4 連續(xù)分配中內(nèi)存擴(kuò)充技術(shù)連續(xù)分配中內(nèi)存擴(kuò)充技術(shù) 連續(xù)分配是指每一進(jìn)程占據(jù)連續(xù)的空間,可分連續(xù)分配是指每一進(jìn)程占據(jù)連續(xù)的空間,可分為單連續(xù)、固定分區(qū)及可變分區(qū)三種形式。為單連續(xù)、固定分區(qū)及可變分區(qū)三種形式。1.1.內(nèi)存分配與回收內(nèi)存分配與回收一道用戶程序獨(dú)占用戶區(qū),如圖所示。一道用戶程序獨(dú)占用戶區(qū),如圖所示。 4.
36、2.1 4.2.1 單連續(xù)存儲(chǔ)管理單連續(xù)存儲(chǔ)管理單一連續(xù)分配是一種簡(jiǎn)單的存儲(chǔ)分配方案,主單一連續(xù)分配是一種簡(jiǎn)單的存儲(chǔ)分配方案,主要用于單用戶單任務(wù)操作系統(tǒng)。要用于單用戶單任務(wù)操作系統(tǒng)。注意:本章所述的內(nèi)存分配與回收都指用戶區(qū)注意:本章所述的內(nèi)存分配與回收都指用戶區(qū)的分配與回收,除非特別說明。的分配與回收,除非特別說明。通常內(nèi)存被劃分為通常內(nèi)存被劃分為系統(tǒng)區(qū)和用戶區(qū)。系統(tǒng)區(qū)和用戶區(qū)。系統(tǒng)區(qū)系統(tǒng)區(qū)是操作系統(tǒng)專用區(qū),不允是操作系統(tǒng)專用區(qū),不允許用戶程序直接訪問,一般在內(nèi)許用戶程序直接訪問,一般在內(nèi)存低地址部分,剩余的其它內(nèi)存存低地址部分,剩余的其它內(nèi)存區(qū)域?yàn)閰^(qū)域?yàn)橛脩魠^(qū)。用戶區(qū)。圖4.9 單連續(xù)分區(qū)
37、管理示意圖3.3.內(nèi)存保護(hù)內(nèi)存保護(hù)通過通過基址寄存器基址寄存器保證用戶程序不會(huì)從系統(tǒng)區(qū)開始;另保證用戶程序不會(huì)從系統(tǒng)區(qū)開始;另外系統(tǒng)需要一個(gè)外系統(tǒng)需要一個(gè)界限寄存器界限寄存器,里邊存儲(chǔ)程序邏輯地址,里邊存儲(chǔ)程序邏輯地址范圍,若需要進(jìn)行映射的邏輯地址超過了界限寄存器范圍,若需要進(jìn)行映射的邏輯地址超過了界限寄存器中的值,則產(chǎn)生一個(gè)越界中斷信號(hào)送中的值,則產(chǎn)生一個(gè)越界中斷信號(hào)送CPUCPU。 2.2.地址映射地址映射物理地址物理地址= =用戶區(qū)基地址用戶區(qū)基地址+ +邏輯地址。邏輯地址。4.4.單一連續(xù)分配方案的優(yōu)缺點(diǎn)單一連續(xù)分配方案的優(yōu)缺點(diǎn)優(yōu)點(diǎn):方法簡(jiǎn)單,易于實(shí)現(xiàn);優(yōu)點(diǎn):方法簡(jiǎn)單,易于實(shí)現(xiàn);缺點(diǎn):
38、它僅適用于單道程序,因而不能使處理機(jī)和缺點(diǎn):它僅適用于單道程序,因而不能使處理機(jī)和內(nèi)存得到充分利用。內(nèi)存得到充分利用。4.2.2 4.2.2 固定分區(qū)存儲(chǔ)管理固定分區(qū)存儲(chǔ)管理&分區(qū)存儲(chǔ)管理是把主存儲(chǔ)器中的用戶區(qū)分成若干個(gè)連續(xù)區(qū)進(jìn)行管理,每個(gè)連續(xù)區(qū)中可裝入一個(gè)作業(yè)。&多道程序系統(tǒng)一般都采用多個(gè)分區(qū)的存儲(chǔ)管理,具體可分為固定分區(qū)和可變分區(qū)兩種方式。 1.1.分區(qū)劃分方法分區(qū)劃分方法OS 把主存中可分配的用戶區(qū)域預(yù)先劃分成若干個(gè)連續(xù)的分把主存中可分配的用戶區(qū)域預(yù)先劃分成若干個(gè)連續(xù)的分區(qū),每個(gè)連續(xù)區(qū)的大小可以相同,也可以不同。區(qū),每個(gè)連續(xù)區(qū)的大小可以相同,也可以不同。 但是,但是,一旦
39、劃分好分區(qū)之后,主存中分區(qū)的個(gè)數(shù)就固定一旦劃分好分區(qū)之后,主存中分區(qū)的個(gè)數(shù)就固定了,且每個(gè)分區(qū)的大小也固定不變。了,且每個(gè)分區(qū)的大小也固定不變。這是一種靜態(tài)分區(qū)法。這是一種靜態(tài)分區(qū)法。 分區(qū)大小相等分區(qū)大小相等: :分區(qū)大小不等:分區(qū)大小不等:分區(qū)劃分分區(qū)劃分適合于對(duì)象所需空間相等的情況;適合于對(duì)象所需空間相等的情況;缺乏靈活性,易造成內(nèi)存空間缺乏靈活性,易造成內(nèi)存空間的浪費(fèi)。的浪費(fèi)。是對(duì)分區(qū)大小相等方式的改進(jìn),是對(duì)分區(qū)大小相等方式的改進(jìn),可更好地適應(yīng)程序的大小。可更好地適應(yīng)程序的大小。2.2.主存分配表主存分配表區(qū)號(hào)區(qū)號(hào)分區(qū)長(zhǎng)度分區(qū)長(zhǎng)度起始地起始地址址狀態(tài)狀態(tài)1l1Ka02l2Kbjob23
40、l3Kc0空空 job2由于主存中有多個(gè)分區(qū),為了管理主存空間的使用,由于主存中有多個(gè)分區(qū),為了管理主存空間的使用,必須設(shè)置一張必須設(shè)置一張“主存分配表主存分配表”,以說明各分區(qū)的分,以說明各分區(qū)的分配情況。配情況。表表-1-1主存分配表主存分配表空空 OS0abcd圖4.10內(nèi)存分配示意圖3.3.主存空間的分配與釋放主存空間的分配與釋放 &主存分配表中應(yīng)指出各分區(qū)的起始地址和長(zhǎng)度,并為主存分配表中應(yīng)指出各分區(qū)的起始地址和長(zhǎng)度,并為每個(gè)分區(qū)設(shè)一個(gè)標(biāo)志位。當(dāng)標(biāo)志位為每個(gè)分區(qū)設(shè)一個(gè)標(biāo)志位。當(dāng)標(biāo)志位為“0”時(shí),表示對(duì)時(shí),表示對(duì)應(yīng)的分區(qū)是空閑分區(qū),當(dāng)標(biāo)志位為非應(yīng)的分區(qū)是空閑分區(qū),當(dāng)標(biāo)志位為非“
41、0”時(shí),表示對(duì)時(shí),表示對(duì)應(yīng)的分區(qū)已被某作業(yè)占用。空閑分區(qū)可以用來裝作業(yè)。應(yīng)的分區(qū)已被某作業(yè)占用。空閑分區(qū)可以用來裝作業(yè)。區(qū)號(hào)區(qū)號(hào) 分區(qū)大小分區(qū)大小 起始地址起始地址 標(biāo)志位標(biāo)志位0 32k 0k 11 8k 32k 12 16k 40k 03 32k 56k 1 4 64k 88k 0OS作業(yè)作業(yè)A(6k)A(6k)作業(yè)B(28k)0 32k 40k56k 88k表4-2主存分配表圖4.11內(nèi)存分配示意圖&等待進(jìn)入主存的作業(yè)排成一個(gè)作業(yè)隊(duì)列。當(dāng)主存中有空閑的分區(qū)時(shí),依次從作業(yè)隊(duì)列中選擇一個(gè)能裝入該分區(qū)的作業(yè)。當(dāng)所有的分區(qū)都已裝有作業(yè),則其他的作業(yè)暫時(shí)不能再裝入,絕對(duì)不允許在同一分區(qū)中同
42、時(shí)裝入兩個(gè)或兩個(gè)以上的作業(yè)。已經(jīng)裝入主存的作業(yè)在獲得處理機(jī)運(yùn)行時(shí),要限定它只能在所占的分區(qū)中執(zhí)行。 當(dāng)作業(yè)隊(duì)列中有作業(yè)要裝入主存時(shí),存儲(chǔ)管理可采用“順序分配算法”進(jìn)行主存空間的分配。 &順序查看主存分配表,順序查看主存分配表,找到一個(gè)標(biāo)志為“0”的并且長(zhǎng)度大于或等于欲裝入作業(yè)的地址空間長(zhǎng)度的分區(qū),則把此分區(qū)分配給該作業(yè),相應(yīng)表目的標(biāo)志位改成作業(yè)名的標(biāo)識(shí);若找不到一個(gè)這樣的空閑分區(qū),則該作業(yè)暫時(shí)不能裝入主存。 &主存空間的釋放很簡(jiǎn)單主存空間的釋放很簡(jiǎn)單, ,某作業(yè)執(zhí)行結(jié)束后必須歸還所占的分區(qū),這時(shí)存儲(chǔ)管理根據(jù)作業(yè)名查看主存分配表,找到相應(yīng)的表目后,把其中的標(biāo)志位重新置成“0”即可
43、。 圖圖.12.124.4.地址轉(zhuǎn)換地址轉(zhuǎn)換 &固定分區(qū)管理方式下作業(yè)的地址轉(zhuǎn)換常采用靜態(tài)重固定分區(qū)管理方式下作業(yè)的地址轉(zhuǎn)換常采用靜態(tài)重定位技術(shù)。定位技術(shù)。 &物理地址物理地址= =分區(qū)始址分區(qū)始址+ +邏輯地址邏輯地址5.5.存儲(chǔ)保護(hù)存儲(chǔ)保護(hù) 固定分區(qū)管理方式下只考慮判斷其物理地址即可。常采用“界限寄存器對(duì)”法。If 下限地址下限地址=物理地址物理地址=上限地址上限地址Then 繼續(xù)繼續(xù) Else 產(chǎn)生產(chǎn)生“越界中斷越界中斷” ” ,轉(zhuǎn)越界中斷的處理子程序,轉(zhuǎn)越界中斷的處理子程序 6. 6.固定分區(qū)的缺點(diǎn)固定分區(qū)的缺點(diǎn)碎片大,存在小作業(yè)占用大分區(qū)的情況。碎片大,存在小作業(yè)占用
44、大分區(qū)的情況。不利于提高內(nèi)存資不利于提高內(nèi)存資源的利用率源的利用率 。可調(diào)入的作業(yè)大小受分區(qū)大小的嚴(yán)格限制??烧{(diào)入的作業(yè)大小受分區(qū)大小的嚴(yán)格限制。 解決辦法:解決辦法:采用可變分區(qū)存儲(chǔ)管理采用可變分區(qū)存儲(chǔ)管理分區(qū)1 100 KB分區(qū)2 150 KB分區(qū)3 250 KB分區(qū)4 250 KB分區(qū)5 250 KB程序4 100 KB程序5 50 KB程序1 20 KB程序2 30 KB程序3 50 KB 圖4.13內(nèi)存分配示意圖4.2.3 4.2.3 可變分區(qū)存儲(chǔ)管理可變分區(qū)存儲(chǔ)管理&為了改善固定分區(qū)分配給系統(tǒng)帶來的內(nèi)存碎片太大、空間為了改善固定分區(qū)分配給系統(tǒng)帶來的內(nèi)存碎片太大、空間浪費(fèi)嚴(yán)重
45、的缺陷,提出了動(dòng)態(tài)分區(qū)分配,也叫做可變式分浪費(fèi)嚴(yán)重的缺陷,提出了動(dòng)態(tài)分區(qū)分配,也叫做可變式分區(qū)分配的策略,區(qū)分配的策略,&根據(jù)進(jìn)程的實(shí)際需求動(dòng)態(tài)地劃分內(nèi)存的分區(qū)方法。根據(jù)進(jìn)程的實(shí)際需求動(dòng)態(tài)地劃分內(nèi)存的分區(qū)方法。它是在它是在進(jìn)程裝入和處理過程中建立分區(qū),并要進(jìn)程裝入和處理過程中建立分區(qū),并要使分區(qū)的容量能正使分區(qū)的容量能正好適應(yīng)進(jìn)程的大小好適應(yīng)進(jìn)程的大小。而。而整個(gè)內(nèi)存分區(qū)數(shù)目隨著進(jìn)程數(shù)目的整個(gè)內(nèi)存分區(qū)數(shù)目隨著進(jìn)程數(shù)目的變化而動(dòng)態(tài)改變變化而動(dòng)態(tài)改變,各個(gè)分區(qū)的大小隨著各個(gè)進(jìn)程的大小各,各個(gè)分區(qū)的大小隨著各個(gè)進(jìn)程的大小各有不同,所以稱之為動(dòng)態(tài)分區(qū)分配。有不同,所以稱之為動(dòng)態(tài)分區(qū)分配。&am
46、p;動(dòng)態(tài)分區(qū)又稱之為可變分區(qū),動(dòng)態(tài)分區(qū)又稱之為可變分區(qū),或變長(zhǎng)分區(qū)模式,主要克服或變長(zhǎng)分區(qū)模式,主要克服固定分區(qū)管理的固定分區(qū)管理的“內(nèi)碎片內(nèi)碎片”問題。問題。 OSP1P3OSP1P3OSP4例子:一計(jì)算機(jī)系統(tǒng)有例子:一計(jì)算機(jī)系統(tǒng)有2560KB內(nèi)存,采用可變分區(qū)模式管內(nèi)存,采用可變分區(qū)模式管理,理,OS占低地址的占低地址的400KB空間,用戶內(nèi)存為空間,用戶內(nèi)存為2160KB。P1OSP1P2OSP1P2P3P2和固定分區(qū)相似,和固定分區(qū)相似,動(dòng)態(tài)分區(qū)也可以采用表格的形式來管理動(dòng)態(tài)分區(qū)也可以采用表格的形式來管理內(nèi)存空間。內(nèi)存空間??捎靡粡埧捎靡粡堃逊謪^(qū)表已分區(qū)表來表示被分配出去的分區(qū),來表示
47、被分配出去的分區(qū),用一張用一張空閑分區(qū)(未分區(qū))表空閑分區(qū)(未分區(qū))表來表示空閑分區(qū)。在這種方來表示空閑分區(qū)。在這種方式下,由于分區(qū)個(gè)數(shù)不定,因而式下,由于分區(qū)個(gè)數(shù)不定,因而已分區(qū)表或空閑分區(qū)表應(yīng)已分區(qū)表或空閑分區(qū)表應(yīng)該有一定的冗余,該有一定的冗余,此時(shí)占用標(biāo)志位表示已分區(qū)表中的表項(xiàng)此時(shí)占用標(biāo)志位表示已分區(qū)表中的表項(xiàng)是否被使用,置是否被使用,置1 1表示被使用,置表示被使用,置0 0表示空閑。表示空閑。 1.1.動(dòng)態(tài)分區(qū)中的數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)分區(qū)中的數(shù)據(jù)結(jié)構(gòu) 為了節(jié)省內(nèi)存空間,系統(tǒng)中的空閑分區(qū)也可為了節(jié)省內(nèi)存空間,系統(tǒng)中的空閑分區(qū)也可采用空閑區(qū)鏈表采用空閑區(qū)鏈表的方法來管理。的方法來管理。利用空閑分
48、區(qū)的前幾個(gè)字節(jié),記錄此分區(qū)的利用空閑分區(qū)的前幾個(gè)字節(jié),記錄此分區(qū)的長(zhǎng)度、起始地址和下一個(gè)分區(qū)的起始地址(即鏈指針)。從長(zhǎng)度、起始地址和下一個(gè)分區(qū)的起始地址(即鏈指針)。從而將所有的空閑區(qū)鏈接起來,即將所有的空閑區(qū)鏈接成一個(gè)而將所有的空閑區(qū)鏈接起來,即將所有的空閑區(qū)鏈接成一個(gè)鏈。鏈??臻e區(qū)鏈表不占用額外的存儲(chǔ)空間,空閑區(qū)鏈表不占用額外的存儲(chǔ)空間,因此采用這種方法,因此采用這種方法,可以避免考慮空閑分區(qū)表的冗余問題??梢员苊饪紤]空閑分區(qū)表的冗余問題。00 00 20k 20k 28k 30k 30k 45k 45k 60k 60k 80k 80k 140k 140k 圖4.14 可變分區(qū)分配示意圖
49、 操操作作系系統(tǒng)統(tǒng) 分分區(qū)區(qū)1 1 作作業(yè)業(yè)A A長(zhǎng)長(zhǎng)度度為為1 10 0k k 分分區(qū)區(qū)2 2 作作業(yè)業(yè)B B長(zhǎng)長(zhǎng)度度為為1 15 5k k 分分區(qū)區(qū)3 3 作作業(yè)業(yè)C C長(zhǎng)長(zhǎng)度度為為1 15 5k k 分分區(qū)區(qū)4 4 作作業(yè)業(yè)D D長(zhǎng)長(zhǎng)度度為為2 20 0k k 分分區(qū)區(qū)5 5 空空閑閑 長(zhǎng)長(zhǎng)度度為為6 60 0k k 操操作作系系統(tǒng)統(tǒng) 分分區(qū)區(qū)1 1 作作業(yè)業(yè)E E長(zhǎng)長(zhǎng)度度為為8 8k k 分分區(qū)區(qū)2 2 作作業(yè)業(yè)B B長(zhǎng)長(zhǎng)度度為為1 15 5k k 分分區(qū)區(qū)3 3 空空閑閑 長(zhǎng)長(zhǎng)度度為為1 15 5k k 分分區(qū)區(qū)4 4 作作業(yè)業(yè)D D長(zhǎng)長(zhǎng)度度為為2 20 0k k 分分區(qū)區(qū)5 5 空
50、空閑閑 長(zhǎng)長(zhǎng)度度為為6 60 0k k Freelist 圖 4.15 可變存儲(chǔ)中空閑區(qū)鏈表 28k 2k 45k 15k 80k 60k NULL 表 4-3 可變分區(qū)存儲(chǔ)中已分區(qū)表 表 4-4 可變分區(qū)存儲(chǔ)中空閑分區(qū)表 分區(qū)號(hào) 起始地址 長(zhǎng)度 占用標(biāo)志位 1 20k 8k 1 2 30k 15k 1 3 60k 20k 1 4 0 5 0 分區(qū)號(hào) 起始地址 長(zhǎng)度 占用標(biāo)志位 1 28k 2k 1 2 45k 15k 1 3 80k 60k 1 4 0 5 0 圖4.16 動(dòng)態(tài)分區(qū)流程圖空閑分區(qū)大于程序大小 ?查找空閑分區(qū)鏈空閑分區(qū)程序大小規(guī)定剩余大小?該空閑區(qū)分給申請(qǐng)程序從該分區(qū)劃分出申請(qǐng)
51、空間找完?YYNN無法分配Y修改分區(qū)說明表、空閑鏈返回N1) 1) 首次適應(yīng)算法(首次適應(yīng)算法(FF, First FitFF, First Fit) 空閑分區(qū)鏈或空閑分區(qū)表以地址遞增的順序鏈接空閑分區(qū)鏈或空閑分區(qū)表以地址遞增的順序鏈接,分配時(shí)從鏈?zhǔn)组_始查找,找到第一個(gè)大小可以滿足的分區(qū)為止,找到第一個(gè)大小可以滿足的分區(qū)為止,從其中劃分出所需空間分配給申請(qǐng)的進(jìn)程,剩余部分仍舊作為一個(gè)分區(qū)保留在空閑分區(qū)鏈中,否則給出無法分配的提示。 采用這種方法時(shí),每次分配都需要從鏈?zhǔn)滓簿褪堑偷刂烽_始查找,所以低地址由于被劃分的可能性比較大,容易形成多低地址由于被劃分的可能性比較大,容易形成多個(gè)過小分區(qū)而難以利
52、用,成為外部碎片個(gè)過小分區(qū)而難以利用,成為外部碎片(前面所描述的在每個(gè)分區(qū)內(nèi)的“碎片”相應(yīng)稱為內(nèi)部碎片)。同時(shí)這些小分區(qū)增加了查尋時(shí)的判斷時(shí)間,降低了效率。2 2動(dòng)態(tài)分區(qū)分配算動(dòng)態(tài)分區(qū)分配算法法2) 循環(huán)首次適應(yīng)算法循環(huán)首次適應(yīng)算法 為了改變首次適應(yīng)算法每次從鏈?zhǔn)组_始查尋造成的缺陷,可以增加一個(gè)起始查尋指針,指向下一次開始查尋時(shí)的起始分區(qū),在查尋過程中,該指針向后移動(dòng),當(dāng)移動(dòng)到最后一個(gè)當(dāng)移動(dòng)到最后一個(gè)空閑分區(qū)后,重新回到鏈?zhǔn)住?臻e分區(qū)后,重新回到鏈?zhǔn)?。找到適當(dāng)分區(qū)后,按首次適應(yīng)算法的劃分分區(qū)方式進(jìn)行。這種方法可以使內(nèi)存區(qū)分配比較平均,減少查尋次數(shù),但又造成了缺少大空閑分區(qū),使得大進(jìn)程無法進(jìn)入。
53、 首次適應(yīng)首次適應(yīng)算法算法實(shí)現(xiàn)比較簡(jiǎn)單直接,易于釋放時(shí)實(shí)現(xiàn)比較簡(jiǎn)單直接,易于釋放時(shí)合并相鄰空間分區(qū)。合并相鄰空間分區(qū)。比較容易的滿足大作業(yè)的需要。比較容易的滿足大作業(yè)的需要。完成一次分配平均需要的搜索次數(shù)較大,影響了工完成一次分配平均需要的搜索次數(shù)較大,影響了工作效率。作效率。3) 最佳適應(yīng)算法最佳適應(yīng)算法評(píng)價(jià):盡可能的保留了較大的空間。盡可能的保留了較大的空間。 產(chǎn)生大量的不易被使用的很小的空閑區(qū)。產(chǎn)生大量的不易被使用的很小的空閑區(qū)。 該算法不一定是最佳的。該算法不一定是最佳的??臻e分區(qū)鏈按照分區(qū)容量遞增的方式形成,分配時(shí)從鏈?zhǔn)组_始查找,這樣找到的第一個(gè)大小可以滿足的分區(qū)肯定是與進(jìn)程申請(qǐng)空間
54、大小最接近,甚至是完全吻合的分區(qū),而且平均查找次數(shù)為分區(qū)數(shù)的一半,也就是說它是“最佳適應(yīng)”的。先使用小的空閑區(qū),將大的空閑區(qū)留給大作業(yè),所以它總是試圖找出最接近實(shí)際需要的空閑區(qū)。 4) 最差適應(yīng)算法目標(biāo):總是搜索整個(gè)鏈表以找到夠用的最大的空閑區(qū),使分目標(biāo):總是搜索整個(gè)鏈表以找到夠用的最大的空閑區(qū),使分裂出來的小空閑區(qū)比較大,因而可以繼續(xù)使用。因此裂出來的小空閑區(qū)比較大,因而可以繼續(xù)使用。因此空閑分區(qū)鏈按照分區(qū)容量遞減的方式形成,分配時(shí)從鏈?zhǔn)组_始,若鏈?zhǔn)追謪^(qū)大小不滿足,則可以肯定不存在能夠滿足要求的分區(qū);否則對(duì)鏈?zhǔn)追謪^(qū)進(jìn)行劃分,剩余空間成為“碎片”的可能性肯定是最小的。評(píng)價(jià):最差適應(yīng)算法具有查找
55、速度快,分區(qū)碎片少評(píng)價(jià):最差適應(yīng)算法具有查找速度快,分區(qū)碎片少,分割后產(chǎn)分割后產(chǎn)生的空閑區(qū)一般仍可以供以后分配使用。生的空閑區(qū)一般仍可以供以后分配使用。 工作一段時(shí)間后,不能滿足大作業(yè)對(duì)空閑區(qū)的請(qǐng)求。工作一段時(shí)間后,不能滿足大作業(yè)對(duì)空閑區(qū)的請(qǐng)求。 在這幾種分配算法中,一般情況下,首次適應(yīng)算法是最簡(jiǎn)單,而且是最快和最好的算法。循環(huán)首次適應(yīng)算法比首次適應(yīng)算法稍差一些,而最佳適應(yīng)算法雖然名字中有“最佳”,但實(shí)際上是性能最差的。但在某些應(yīng)用情況下,上述比較結(jié)果會(huì)有所變化。起始地址 長(zhǎng)度 標(biāo)志位A L1 J1C L2 J2E L3 J3起始地址 長(zhǎng)度 標(biāo)志位B H1 1D H2 1C L2 1已分區(qū)表已
56、分區(qū)表未分區(qū)表未分區(qū)表回收回收J(rèn)2J2進(jìn)進(jìn)程程OSJ1J1J3J3J2J2ABCDEFL1H2H1L2L33.3.動(dòng)態(tài)分區(qū)的回收動(dòng)態(tài)分區(qū)的回收M1回收區(qū)M2回收M1空白區(qū)M2(a)M1回收區(qū)M2回收M1M2(b)M1回收區(qū)M2回收M1M2(c)M1回收區(qū)M2回收M1(d)(a) M1(a) M1、M2M2都非空都非空(b) M1(b) M1為空、為空、M2M2非空非空(c) M1(c) M1為非空、為非空、M2M2空空(d) M1(d) M1、M2M2都為空都為空&回收內(nèi)存空間,關(guān)鍵是修改兩個(gè)表。回收內(nèi)存空間,關(guān)鍵是修改兩個(gè)表。圖4.17 可變分區(qū)方式內(nèi)存回收流程圖在動(dòng)態(tài)分區(qū)分配中,在
57、動(dòng)態(tài)分區(qū)分配中,消除消除了固定分區(qū)管理造成的了固定分區(qū)管理造成的“內(nèi)碎片內(nèi)碎片”,但是不可避但是不可避免的在內(nèi)存空間造成免的在內(nèi)存空間造成“外外碎片碎片”。多個(gè)無法利用的多個(gè)無法利用的小分區(qū)所形成的小分區(qū)所形成的“碎片碎片”是一種很大的資源浪費(fèi)。是一種很大的資源浪費(fèi)。如圖(如圖(a)所示,)所示,空閑分區(qū)空閑分區(qū)之和為之和為10 KB,但是無法,但是無法裝入一個(gè)裝入一個(gè)8 KB的程序。的程序。 4.4.動(dòng)態(tài)重定位分區(qū)分配動(dòng)態(tài)重定位分區(qū)分配系統(tǒng)區(qū)程序A5 KB程序B3 KB程序C2 KB緊湊系統(tǒng)區(qū)程序A程序B程序C10 KB(a)(b) 為了解決類似問題,可以采用一種稱為為了解決類似問題,可以采
58、用一種稱為“緊湊緊湊”的方法,的方法,通過移動(dòng)程序?qū)⒃瓉矸稚⒌目臻e小分區(qū)拼接為一個(gè)大的分通過移動(dòng)程序?qū)⒃瓉矸稚⒌目臻e小分區(qū)拼接為一個(gè)大的分區(qū),就可以使某些比較大的進(jìn)程進(jìn)入,區(qū),就可以使某些比較大的進(jìn)程進(jìn)入,如圖(如圖(b b)所示。一)所示。一般情況下,當(dāng)某進(jìn)程因?yàn)闆]有足夠大的分區(qū),而所有般情況下,當(dāng)某進(jìn)程因?yàn)闆]有足夠大的分區(qū),而所有“碎碎片片”之和又大于進(jìn)程大小時(shí)將進(jìn)行之和又大于進(jìn)程大小時(shí)將進(jìn)行“緊湊緊湊”。&經(jīng)過緊縮后的進(jìn)程在內(nèi)存中的位置發(fā)生了變化,經(jīng)過緊縮后的進(jìn)程在內(nèi)存中的位置發(fā)生了變化,若不對(duì)程序和若不對(duì)程序和數(shù)據(jù)的地址進(jìn)行修改,該進(jìn)程就無法運(yùn)行。要使其運(yùn)行,必須數(shù)據(jù)的地址進(jìn)行
59、修改,該進(jìn)程就無法運(yùn)行。要使其運(yùn)行,必須采用采用“動(dòng)態(tài)重定位動(dòng)態(tài)重定位”進(jìn)行地址變換,于是稱這種方案為動(dòng)態(tài)重進(jìn)行地址變換,于是稱這種方案為動(dòng)態(tài)重定位分區(qū)分配。定位分區(qū)分配。緊縮的時(shí)機(jī):緊縮的時(shí)機(jī): (1)一旦有歸還的分區(qū)便進(jìn)行緊縮,系統(tǒng)開銷大。)一旦有歸還的分區(qū)便進(jìn)行緊縮,系統(tǒng)開銷大。 (2)當(dāng)發(fā)現(xiàn)內(nèi)存不夠用時(shí))當(dāng)發(fā)現(xiàn)內(nèi)存不夠用時(shí).移動(dòng)是有條件的移動(dòng)是有條件的 圖4.18在分區(qū)分配方案中,地址映射都遵循“物理地址=分區(qū)始地址+邏輯地址”,固定分區(qū)分配與動(dòng)態(tài)分區(qū)分配的分區(qū)始地址都來自于硬件“基址寄存器”,動(dòng)態(tài)重定位分區(qū)分配的分區(qū)始地址來自于“重定位寄存器”。內(nèi)存保護(hù)由“基址寄存器”和“限長(zhǎng)寄存器
60、”共同實(shí)現(xiàn),也可以用一對(duì)下限寄存器和上限寄存器來實(shí)現(xiàn),一旦超過限長(zhǎng),則發(fā)出越界中斷信號(hào)。 分區(qū)分配方案的主要優(yōu)點(diǎn)可歸納如下: 5.5.分區(qū)分配方案的評(píng)價(jià)分區(qū)分配方案的評(píng)價(jià)(1) 多道程序下的內(nèi)存共享,改善了系統(tǒng)吞吐量,在內(nèi)存利用率方面,從固定式分區(qū)到動(dòng)態(tài)分區(qū),再到動(dòng)態(tài)重定位分區(qū)依次提高。 (2) 相對(duì)于后面介紹的存儲(chǔ)管理方式,為實(shí)現(xiàn)分區(qū)分配所使用的數(shù)據(jù)結(jié)構(gòu)占用的存儲(chǔ)容量相對(duì)較少,算法也相對(duì)簡(jiǎn)單。(3) 實(shí)現(xiàn)存儲(chǔ)保護(hù)的措施也比較簡(jiǎn)單。 分區(qū)分配的主要缺點(diǎn)有:分區(qū)分配的主要缺點(diǎn)有: (1) 內(nèi)存仍不能充分利用,除了動(dòng)態(tài)重定位式分區(qū)內(nèi)存仍不能充分利用,除了動(dòng)態(tài)重定位式分區(qū)法外,都存在著嚴(yán)重的碎片問題。法外,都存在著嚴(yán)重的碎片問題。 (2) 不能實(shí)現(xiàn)對(duì)內(nèi)存的擴(kuò)充,因此進(jìn)程的大小受到不能實(shí)現(xiàn)對(duì)內(nèi)存的擴(kuò)充,因此進(jìn)程的大小受到內(nèi)存可用空間的限制。內(nèi)存可用空間的限制。 (3) 與單一連續(xù)分配一樣,要求一個(gè)進(jìn)程在執(zhí)行之與單一連續(xù)分配一樣,要求一個(gè)進(jìn)程在執(zhí)行之前必須全部裝入內(nèi)存,因此在內(nèi)存中可能包含不會(huì)被使前必須全部裝入內(nèi)存,因此在內(nèi)存中可能包含不會(huì)被使用的信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租樹地合同范本
- 鄉(xiāng)間建道路合同范例
- 做鋼筋合同范例
- 井蓋銷售合同范例
- 專利代理加工合同范例
- 業(yè)務(wù)推廣合同范例
- 全部財(cái)產(chǎn)贈(zèng)與合同范例
- 關(guān)于茶葉銷售合同范例
- 制作補(bǔ)充協(xié)議合同范例
- 辦公勞務(wù)合同范例
- 2025年1月浙江省高考生物試卷(含答案)
- 2025年安徽醫(yī)學(xué)高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫(kù)含答案解析
- 《Oracle EBS 基礎(chǔ)理解》教學(xué)課件
- 《餐飲業(yè)發(fā)展》課件 - 探索美食世界的奧秘
- ct球管維修合同
- 氣管切開口腔護(hù)理操作流程
- 2025年內(nèi)蒙古自治區(qū)包頭市中考試卷數(shù)學(xué)模擬卷(二)
- 林業(yè)碳匯交易培訓(xùn)課件
- 2025屆高考英語一輪復(fù)習(xí):How to write a speech寫一篇演講稿 課件
- 公安宣傳報(bào)道工作培訓(xùn)
- 校園養(yǎng)成教育
評(píng)論
0/150
提交評(píng)論