![操作系統(tǒng)課件6_1_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/7d379778-78b1-46af-a185-2aa1d9c50a77/7d379778-78b1-46af-a185-2aa1d9c50a771.gif)
![操作系統(tǒng)課件6_1_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/7d379778-78b1-46af-a185-2aa1d9c50a77/7d379778-78b1-46af-a185-2aa1d9c50a772.gif)
![操作系統(tǒng)課件6_1_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/7d379778-78b1-46af-a185-2aa1d9c50a77/7d379778-78b1-46af-a185-2aa1d9c50a773.gif)
![操作系統(tǒng)課件6_1_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/7d379778-78b1-46af-a185-2aa1d9c50a77/7d379778-78b1-46af-a185-2aa1d9c50a774.gif)
![操作系統(tǒng)課件6_1_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/7d379778-78b1-46af-a185-2aa1d9c50a77/7d379778-78b1-46af-a185-2aa1d9c50a775.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第六章第六章 存儲管理存儲管理l又稱內存管理、主存管理又稱內存管理、主存管理l工作內容和任務由內存硬件提供的原始使用方式與用戶工作內容和任務由內存硬件提供的原始使用方式與用戶對內存的使用要求這兩方面的差距所決定的對內存的使用要求這兩方面的差距所決定的1第六章第六章 存儲管理存儲管理l有七種內存管理模式有七種內存管理模式 2第六章第六章 存儲管理存儲管理l從性能與價格的比較,存儲系統(tǒng)由多種不從性能與價格的比較,存儲系統(tǒng)由多種不同存儲介質共同構成,從而形成存儲層次同存儲介質共同構成,從而形成存儲層次3第六章第六章 存儲管理存儲管理l形成存儲層次的原因:形成存儲層次的原因:l由不同速度、價格、容量的
2、存儲介質的分工由不同速度、價格、容量的存儲介質的分工合作而構成的存儲層次,使整個存儲子系統(tǒng)合作而構成的存儲層次,使整個存儲子系統(tǒng)達到性能和價格的很好權衡。達到性能和價格的很好權衡。l內存存放當前正在運行的程序和數據。內存存放當前正在運行的程序和數據。l寄存器存放正在寄存器存放正在CPU上執(zhí)行的指令和數據。上執(zhí)行的指令和數據。l內存中包含內存中包含OS代碼和數據,用戶程序只有在代碼和數據,用戶程序只有在申請時占用內存,執(zhí)行完則退出。申請時占用內存,執(zhí)行完則退出。4第六章第六章 存儲管理存儲管理l對內存的性能要求:對內存的性能要求:l容量大足以裝下當前正在執(zhí)行的程序和數據。容量大足以裝下當前正在執(zhí)
3、行的程序和數據。l速度速度/容量與容量與CPU匹配,理想的應比匹配,理想的應比CPU快???。 l存放時間:只在開機時才使用,必須保證開存放時間:只在開機時才使用,必須保證開機時的穩(wěn)定和可靠。機時的穩(wěn)定和可靠。l要求與現實的矛盾:要求與現實的矛盾:l技術與經濟的原因趕不上技術與經濟的原因趕不上CPU的發(fā)展的發(fā)展(Parkinson理論)理論)l系統(tǒng)性能瓶頸必須要求系統(tǒng)性能瓶頸必須要求OS或各種輔存解決速或各種輔存解決速度問題。度問題。 5內存硬件接口使用特性內存硬件接口使用特性(微觀微觀 ) l任一程序在計算機上運行的順序為任一程序在計算機上運行的順序為 內存內存-CPU-I/O-文件文件l裝入
4、內存的程序裝入內存的程序l微觀上體現為內存中的指令通過在處理機上微觀上體現為內存中的指令通過在處理機上執(zhí)行而實現對內存的存取執(zhí)行而實現對內存的存取l宏觀上體現為程序(進程)對空間和內存空宏觀上體現為程序(進程)對空間和內存空間的概念。間的概念。6有關指令的構成有關指令的構成l指令由操作碼和地址碼兩部分組成指令由操作碼和地址碼兩部分組成l操作碼操作碼l指明指令所要完成的操作,如加法、減法、傳送、移指明指令所要完成的操作,如加法、減法、傳送、移位、轉移等。位、轉移等。l位數反映機器的操作種類,如操作碼七位,則機器最位數反映機器的操作種類,如操作碼七位,則機器最多包含多包含27=128條指令條指令l
5、地址碼地址碼l指出指令的源操作數的地址(一個或兩個)、結果地指出指令的源操作數的地址(一個或兩個)、結果地址以及下一條指令地址址以及下一條指令地址 l“地址地址”可以是主存地址、寄存器地址、可以是主存地址、寄存器地址、I/O設備地設備地址址 l程序在其生命周期各階段表現出不同的地址形式程序在其生命周期各階段表現出不同的地址形式7有關指令的構成有關指令的構成l以主存地址為例,分析指令的地址碼字段。以主存地址為例,分析指令的地址碼字段。l四地址指令四地址指令l地址字段有四個,其格式為:地址字段有四個,其格式為:lOP為操作碼;為操作碼;lA1 為第一操作數地址;為第一操作數地址;lA2 為第二操作
6、數地址;為第二操作數地址;lA3 為結果地址;為結果地址;lA4 為下一條指令的地址。為下一條指令的地址。 該指令完成該指令完成 (A1) OP (A2) A3的操的操作作 如果指令字長如果指令字長32位,操作碼位,操作碼8位,位,4個個地址字段各占地址字段各占6位,指令的直接尋址范位,指令的直接尋址范圍為:圍為:26 = 64。如果都是主存地址,完成一條四地址如果都是主存地址,完成一條四地址指令,需訪存四次指令,需訪存四次(取指令一次,取兩取指令一次,取兩個操作數兩次,存結果一次個操作數兩次,存結果一次) 8有關指令的構成有關指令的構成l由于大多數指令按順序執(zhí)行,由于大多數指令按順序執(zhí)行,P
7、C既能存放當前既能存放當前欲執(zhí)行指令的地址,又有計數功能,自動形成欲執(zhí)行指令的地址,又有計數功能,自動形成下一條指令地址。下一條指令地址。l指令字中的第四地址字段指令字中的第四地址字段A4可省去,得到三地可省去,得到三地址指令格式。址指令格式。l設指令字長不變,設指令字長不變,OP仍為仍為8位,則三地址字段位,則三地址字段各占各占8位,指令直接尋址范圍可達位,指令直接尋址范圍可達28 = 256。l若地址字段均為主存地址,完成一條三地址指若地址字段均為主存地址,完成一條三地址指令也需訪問四次存儲器。令也需訪問四次存儲器。 9有關指令的構成有關指令的構成l機器在運行過程中,中間結果可暫時存放在寄
8、機器在運行過程中,中間結果可暫時存放在寄存器中,得出二地址指令存器中,得出二地址指令l可完成可完成 (A1) OP (A2) A1的操作,的操作,A1既代表既代表源操作數的地址,又代表存放本次運算結果的源操作數的地址,又代表存放本次運算結果的地址地址 l完成一條指令仍需訪四次存儲器。完成一條指令仍需訪四次存儲器。l如果中間結果暫存于寄存器,只需三次訪存如果中間結果暫存于寄存器,只需三次訪存l指令直接尋址范圍可達:指令直接尋址范圍可達:212 = 4K 10有關指令的構成有關指令的構成l如果將一個操作數的地址隱含在運算器中,如果將一個操作數的地址隱含在運算器中,則指令字中只需給出一個地址碼,構成
9、了則指令字中只需給出一個地址碼,構成了一地址指令一地址指令l完成一條一地址指令只需兩次訪存。完成一條一地址指令只需兩次訪存。l在指令字長仍為在指令字長仍為32位、操作碼位數仍固定位、操作碼位數仍固定8位時,一地址指令直接尋址范圍達位時,一地址指令直接尋址范圍達224=16M。 11有關指令的構成有關指令的構成lPDP/11系列機指令字長系列機指令字長16位,其指令格位,其指令格式如下表所示式如下表所示 12內存硬件接口使用特性內存硬件接口使用特性(微觀微觀 )l從微觀角度看指令對內存的使用從微觀角度看指令對內存的使用l程序對內存的使用體現為程序向內存發(fā)出的程序對內存的使用體現為程序向內存發(fā)出的
10、一次次讀寫請求。一次次讀寫請求。l每條指令有若干次訪存,如執(zhí)行一條指令包括每條指令有若干次訪存,如執(zhí)行一條指令包括13內存硬件接口使用特性內存硬件接口使用特性(微觀微觀 ) l內存接受的讀寫請求來自內存接受的讀寫請求來自CPU或或DMA。l內存看到的是一個內存地址,不管這些地址從哪內存看到的是一個內存地址,不管這些地址從哪里來(里來(CPU、DMA)、如何產生(指令計數器、)、如何產生(指令計數器、基址、間址、變址等尋址方式)基址、間址、變址等尋址方式)l內存最小使用單位:內存最小使用單位:l從程序角度分為指令從程序角度分為指令l從內存(硬件)角度分為從內存(硬件)角度分為CPU或或DMA對內
11、存發(fā)出對內存發(fā)出的一次次讀寫請求的一次次讀寫請求14內存硬件接口使用特性內存硬件接口使用特性(宏觀宏觀)l基本概念基本概念l內存空間:內存空間:l內存可看作是字節(jié)或字的一個大數組,每個字節(jié)內存可看作是字節(jié)或字的一個大數組,每個字節(jié)或字都有自己的地址,形成一個地址內存空間,或字都有自己的地址,形成一個地址內存空間,簡稱內存空間。簡稱內存空間。l程序分為源程序、目標程序、可執(zhí)行程序程序分為源程序、目標程序、可執(zhí)行程序l程序空間:程序空間:l一個可執(zhí)行的目標程序(包括一個可執(zhí)行的目標程序(包括OS)所生成的所有)所生成的所有內存地址的集合稱為程序地址空間,簡稱程序空內存地址的集合稱為程序地址空間,簡
12、稱程序空間。間。l程序空間包括代碼和數據。程序空間包括代碼和數據。15內存硬件接口使用特性內存硬件接口使用特性(宏觀宏觀)16內存硬件接口使用特性內存硬件接口使用特性(宏觀宏觀)l第一階段(編譯或匯編階段):將源程序第一階段(編譯或匯編階段):將源程序轉換成機器指令,將符號地址轉換為內存轉換成機器指令,將符號地址轉換為內存地址。地址。l地址轉換問題:地址轉換問題:l轉換后的地址可能是相對地址。轉換后的地址可能是相對地址。l并不是所有符號地址都轉換為內存地址,如調用并不是所有符號地址都轉換為內存地址,如調用外部程序、外部變量等。外部程序、外部變量等。17內存硬件接口使用特性內存硬件接口使用特性(
13、宏觀宏觀)l第二階段(連接階段):由目標模塊連接第二階段(連接階段):由目標模塊連接形成一個可執(zhí)行的文件,主要工作為:形成一個可執(zhí)行的文件,主要工作為:l將各目標模塊中相對地址統(tǒng)一轉換為相對該將各目標模塊中相對地址統(tǒng)一轉換為相對該程序地址的位移。程序地址的位移。l將所有或部分未轉換的符號轉換為內存地址。將所有或部分未轉換的符號轉換為內存地址。l啟動程序時,必須將程序和數據裝入內存,啟動程序時,必須將程序和數據裝入內存,在裝入前要重新定位,重新計算偏移量(虛在裝入前要重新定位,重新計算偏移量(虛方式)或實際地址(實方式)。方式)或實際地址(實方式)。18內存硬件接口使用特性內存硬件接口使用特性(
14、宏觀宏觀)l第三階段:在執(zhí)行階段即執(zhí)行目標程序時可能第三階段:在執(zhí)行階段即執(zhí)行目標程序時可能需要重定位。需要重定位。l涉及的概念有動態(tài)重定位、動態(tài)地址映射、動態(tài)連接涉及的概念有動態(tài)重定位、動態(tài)地址映射、動態(tài)連接與裝入。與裝入。l第四階段:程序執(zhí)行完畢應釋放空間,并以可第四階段:程序執(zhí)行完畢應釋放空間,并以可執(zhí)行文件形式保存在外存上。執(zhí)行文件形式保存在外存上。l以上從一個階段到下一個階段都是從一個地址以上從一個階段到下一個階段都是從一個地址空間到另一個地址空間的映射,并且絕對地址空間到另一個地址空間的映射,并且絕對地址一再推遲一再推遲。l指令地址與相對地址、絕對地址的區(qū)別見圖指令地址與相對地址、
15、絕對地址的區(qū)別見圖19指令地址與相對地址、絕對地址的區(qū)別指令地址與相對地址、絕對地址的區(qū)別20指令地址與相對地址、絕對地址的區(qū)別指令地址與相對地址、絕對地址的區(qū)別21第六章第六章 存儲管理存儲管理l6.1 存儲管理功能存儲管理功能l6.2 內存資源管理內存資源管理l6.3 存儲管理方式存儲管理方式l6.4 外存空間管理外存空間管理l6.5 虛擬存儲系統(tǒng)虛擬存儲系統(tǒng) 226.1 存儲管理功能存儲管理功能l存儲分配和去配存儲分配和去配l為實現存儲資源的分配和收回為實現存儲資源的分配和收回, 操作系統(tǒng)需記錄內操作系統(tǒng)需記錄內存和外存資源的使用情況,需要兩個表:存和外存資源的使用情況,需要兩個表:l分
16、配表:記錄已經分配的區(qū)域分配表:記錄已經分配的區(qū)域l空閑表:記錄尚未分配的區(qū)域空閑表:記錄尚未分配的區(qū)域l在虛擬存儲系統(tǒng)中在虛擬存儲系統(tǒng)中, 內存和外存各需一個分配表和內存和外存各需一個分配表和空閑表空閑表. l分配去配對象分配去配對象l內存、外存內存、外存(相同方法相同方法)l分配去配時刻分配去配時刻l進程創(chuàng)建、撤銷、交換、長度變化進程創(chuàng)建、撤銷、交換、長度變化236.1 存儲管理功能存儲管理功能l存儲共享存儲共享l指兩個或多個進程共用內存中相同的區(qū)域指兩個或多個進程共用內存中相同的區(qū)域l共享目的:節(jié)省內存、相互通訊共享目的:節(jié)省內存、相互通訊l共享內容:代碼、數據共享內容:代碼、數據l存儲
17、保護存儲保護l防止地址越界防止地址越界l防止操作越權防止操作越權246.1 存儲管理功能存儲管理功能l存儲擴充存儲擴充l將內存與外存空間有機結合將內存與外存空間有機結合, 形成一個容量相當于外形成一個容量相當于外存存, 速度接近于內存的虛擬存儲系統(tǒng)速度接近于內存的虛擬存儲系統(tǒng)l地址映射地址映射l在多道程序系統(tǒng)中在多道程序系統(tǒng)中, 程序產生的地址為程序產生的地址為邏輯地址邏輯地址, 需轉需轉換為內存的換為內存的物理地址物理地址, 該轉換過程稱該轉換過程稱地址映射地址映射l地址映射需要軟件與硬件相結合來實現地址映射需要軟件與硬件相結合來實現l硬件支持硬件支持l基址寄存器基址寄存器(base)、限長
18、寄存器、限長寄存器(limit)、快表、快表l使用上述寄存器完成地址映射使用上述寄存器完成地址映射l不能正常完成地址映射時產生中斷不能正常完成地址映射時產生中斷256.2 內存資源管理內存資源管理l6.2.1 內存分區(qū)內存分區(qū) l6.2.2 內存分配內存分配266.2.1 內存分區(qū)內存分區(qū)l內存空間的劃分,可能是靜態(tài)的內存空間的劃分,可能是靜態(tài)的, 也可能也可能是動態(tài)的是動態(tài)的; l可能是等長的可能是等長的, 也可能是異長的也可能是異長的276.2.1 內存分區(qū)內存分區(qū)l靜態(tài)分區(qū)與動態(tài)分區(qū)靜態(tài)分區(qū)與動態(tài)分區(qū)l靜態(tài)分區(qū):在系統(tǒng)運行前將內存空間劃分為靜態(tài)分區(qū):在系統(tǒng)運行前將內存空間劃分為若干個區(qū)域
19、。若干個區(qū)域。l當進程需要內存空間時當進程需要內存空間時, 系統(tǒng)按照某種分配原則系統(tǒng)按照某種分配原則為其分配一個或多個滿足要求的區(qū)域。為其分配一個或多個滿足要求的區(qū)域。l通常通常, 分配給進程的內存區(qū)域可能比進程實際所分配給進程的內存區(qū)域可能比進程實際所需的區(qū)域長。需的區(qū)域長。l動態(tài)分區(qū):在系統(tǒng)運行過程中劃分內存空間。動態(tài)分區(qū):在系統(tǒng)運行過程中劃分內存空間。l通常通常, 系統(tǒng)可按進程所需空間的大小為其分配恰系統(tǒng)可按進程所需空間的大小為其分配恰好滿足要求的一個或多個區(qū)域好滿足要求的一個或多個區(qū)域286.2.1 內存分區(qū)內存分區(qū)l等長分區(qū)與異長分區(qū)等長分區(qū)與異長分區(qū)l等長分區(qū):將存儲空間劃分為若干
20、個長度相等長分區(qū):將存儲空間劃分為若干個長度相同的區(qū)域同的區(qū)域. l當進程需要存儲空間時當進程需要存儲空間時, 系統(tǒng)為其分配一個或多個系統(tǒng)為其分配一個或多個區(qū)域。分為區(qū)域。分為2i個分區(qū)。個分區(qū)。l 異長分區(qū):將存儲空間劃分為若干個長度不異長分區(qū):將存儲空間劃分為若干個長度不同的區(qū)域同的區(qū)域. 當進程需要內存時當進程需要內存時, 系統(tǒng)為其分配系統(tǒng)為其分配一個或多個區(qū)域。一個或多個區(qū)域。l根據程序、程序單位、對象大小來分區(qū)。根據程序、程序單位、對象大小來分區(qū)。296.2.1 內存分區(qū)內存分區(qū)l通常作法:通常作法:l靜態(tài)靜態(tài)+等長(頁式、段頁式):等長(頁式、段頁式):l有字位映象圖、空閑頁面表和
21、空閑頁面鏈三種方有字位映象圖、空閑頁面表和空閑頁面鏈三種方法。法。l動態(tài)動態(tài)+異長(段式、界地址):異長(段式、界地址):l有最先適應有最先適應 (First Fit)、最佳適應、最佳適應 (Best Fit)和最和最壞適應壞適應 (Worst Fit)三種方法三種方法306.2.2 內存分配內存分配l 靜態(tài)等長分區(qū)的分配靜態(tài)等長分區(qū)的分配l 字位映象圖字位映象圖l 空閑頁面表空閑頁面表l 空閑頁面鏈空閑頁面鏈l動態(tài)異長分區(qū)的分配動態(tài)異長分區(qū)的分配l最先適應最先適應 (First Fit)l最佳適應最佳適應 (Best Fit)l最壞適應最壞適應 (Worst Fit)31字位映象圖(字位映象
22、圖(bit map)1 0 0 1 . 1 0第第0 頁頁第第2 頁頁第第1 頁頁第第 k 頁頁第第 n 頁頁.分配:分配:自頭尋找第一個為自頭尋找第一個為0的位,改為的位,改為1,返回頁號,返回頁號去配:去配:頁號對應的位頁號對應的位(bit)置為置為0。用一個用一個bit代表一頁狀態(tài),代表一頁狀態(tài),0空閑,空閑,1占用。占用。32空閑頁面表空閑頁面表首頁號首頁號空頁數空頁數.1204特點:可以分配連續(xù)頁面。特點:可以分配連續(xù)頁面。占用占用占用占用120頁頁121頁頁122頁頁123頁頁 . .33空閑頁面鏈空閑頁面鏈占用占用占用占用占用占用Head:將所有的空閑頁面連成一個鏈將所有的空閑頁
23、面連成一個鏈分配時取鏈頭的頁面分配時取鏈頭的頁面去配時將被釋放的頁面連入鏈去配時將被釋放的頁面連入鏈頭頭. 該方法適用內存頁面的分配該方法適用內存頁面的分配外存頁面的分配因分配和去配外存頁面的分配因分配和去配均需執(zhí)行一次均需執(zhí)行一次I/O傳輸傳輸, 速度較慢速度較慢 優(yōu)點:節(jié)省空間優(yōu)點:節(jié)省空間34動態(tài)異長分區(qū)的分配動態(tài)異長分區(qū)的分配l用于界地址存儲管理方式與段式存儲管理用于界地址存儲管理方式與段式存儲管理方式中方式中l(wèi)存儲空間被動態(tài)地劃分為若干個長度不等存儲空間被動態(tài)地劃分為若干個長度不等的區(qū)域的區(qū)域l系統(tǒng)使用空閑區(qū)域表系統(tǒng)使用空閑區(qū)域表, 表中記錄所有當前表中記錄所有當前未被進程占用的空閑
24、區(qū)域未被進程占用的空閑區(qū)域l沒有記錄于表中的區(qū)域是被進程所占用的沒有記錄于表中的區(qū)域是被進程所占用的非空閑區(qū)域。非空閑區(qū)域。 35動態(tài)異長分區(qū)的分配動態(tài)異長分區(qū)的分配空閑區(qū)首址空閑區(qū)首址空閑區(qū)長度空閑區(qū)長度.25001500數據結構:數據結構:Criteria: 盡量使空閑區(qū)域連續(xù)。盡量使空閑區(qū)域連續(xù)。初始時一個連續(xù)空閑區(qū)。初始時一個連續(xù)空閑區(qū)。長度長度=0為表尾。為表尾。36最先適應算法(最先適應算法(First Fit)空閑區(qū)首址空閑區(qū)首址空閑區(qū)長度空閑區(qū)長度128641024256322560.空閑區(qū):首址遞增排列;空閑區(qū):首址遞增排列;申請:取第一個可滿足區(qū)域;申請:取第一個可滿足區(qū)域
25、;優(yōu)點:盡量使用低地址空間,優(yōu)點:盡量使用低地址空間,高區(qū)保持大空閑區(qū)域。高區(qū)保持大空閑區(qū)域。缺點:可能分割大空閑區(qū)。缺點:可能分割大空閑區(qū)。Eg. 申請申請32將分割第一個區(qū)將分割第一個區(qū)域。域。37最佳適應算法(最佳適應算法(Best Fit)空閑區(qū):空閑區(qū):空閑長度空閑長度遞增排列;遞增排列;申請:取最小可滿足區(qū)域;申請:取最小可滿足區(qū)域;優(yōu)點:盡量使用小空閑區(qū),優(yōu)點:盡量使用小空閑區(qū), 保持大空閑區(qū)。保持大空閑區(qū)。缺點:可能形成碎片缺點:可能形成碎片 (fragment)。 Eg. 申請申請30將留下長將留下長 度為度為2的空閑區(qū)。的空閑區(qū)。 空閑區(qū)首址空閑區(qū)首址空閑區(qū)長度空閑區(qū)長度2
26、56321024256641280.38最壞適應算法(最壞適應算法(Worst Fit)空閑區(qū):空閑區(qū):空閑長度遞減排列空閑長度遞減排列;申請:取最大可滿足區(qū)域;申請:取最大可滿足區(qū)域;優(yōu)點:防止形成碎片。優(yōu)點:防止形成碎片。缺點:分割大空閑區(qū)域。缺點:分割大空閑區(qū)域。當當遇到較長存儲空間的申請時遇到較長存儲空間的申請時, 無法滿足的可能性較大無法滿足的可能性較大 空閑區(qū)首址空閑區(qū)首址空閑區(qū)長度空閑區(qū)長度102425625632641280.396.2.3 碎片處理碎片處理l動態(tài)異長分區(qū)存儲分配可能形成很小的空動態(tài)異長分區(qū)存儲分配可能形成很小的空閑區(qū)域,稱為碎片閑區(qū)域,稱為碎片(fragmen
27、t)。如果碎片。如果碎片很多,將造成嚴重的存儲資源浪費。很多,將造成嚴重的存儲資源浪費。l緊湊:移動占用區(qū)域,使所有空閑區(qū)域連緊湊:移動占用區(qū)域,使所有空閑區(qū)域連成一片(開銷很大)成一片(開銷很大)406.2.3 碎片處理碎片處理 OS P1(248k) P2(250k) 8k 6k 4k256k:512k:768k:264k:518k: P1 OS P2256k:504k:754k:18k41UNIX存儲分配存儲分配-FFstruct map char *m_size; char *m_addr;struct map coremapCMAPSIZ;struct map swapmapSMAP
28、SIZ;define CMAPSIZ 100define SMAPSIZ 10042malloc(mp,size)struct map, *mp; register int a; register struct map *bp; for(bp = mp; bp-m_size; bp+) if (bp-m_size = size) a=bp-m_addr; bp-m_addr =+ size; if (bp-m_size =- size) = 0) do bp+; (bp-1)-m_addr = bp-m_addr; while(bp-1)-m_size = bp-m_size); return
29、(a); return(0);43mfree(mp,size,aa)struct map *map; register struct map bp; register int t,a; a = aa; for(bp=mp; bp-m_addrm_size !=0; bp+); if(bpmp & (bp-1)-m_addr+(bp-1)-m_size = a) /與前合并與前合并 (bp-1)-m_size =+ size; if (a+size = bp-m_addr) /前后合并前后合并 (bp-1)-m_size =+ bp-m_size; while (bp-m_size) b
30、p+; (bp-1)-m_addr = bp-m_addr; (bp-1)-m_size = bp-m_size; 44 else if (a+size = bp-m_addr & bp-m_size) /與后合并與后合并 bp-m_addr =- size; bp-m_size =+ size; else if (size) do /無合并無合并 t = bp-m_addr; bp-m_addr = a; a = t; t = bp-m_size; bp-m_size = size; bp+; while (size = t); 456.3 存儲管理方式存儲管理方式l存儲管理方式有:
31、存儲管理方式有: l界地址管理方式(一維地址)界地址管理方式(一維地址)l頁式管理方式(一維地址)頁式管理方式(一維地址)l段式管理方式(二維地址)段式管理方式(二維地址)l段頁式管理方式(二維地址)段頁式管理方式(二維地址)l6.3.1 單一連續(xù)區(qū)存儲管理單一連續(xù)區(qū)存儲管理l6.3.2 分頁式存儲管理分頁式存儲管理(paging)l6.3.3 分段式存儲管理分段式存儲管理(segmentation)l6.3.4 段頁式存儲管理段頁式存儲管理(segmentation with paging)466.3.1 單一連續(xù)區(qū)存儲管理單一連續(xù)區(qū)存儲管理l單一連續(xù)區(qū)單一連續(xù)區(qū)(single contig
32、uous region)也稱也稱單對界存儲管理方式單對界存儲管理方式l一個進程在內存空間的地址由兩個參數確一個進程在內存空間的地址由兩個參數確定:進程的起始地址和長度,稱作一個對定:進程的起始地址和長度,稱作一個對界界l6.3.1.1 基本原理基本原理 l6.3.1.2 雙對界雙對界l6.3.1.3 交換與重定位交換與重定位 l6.3.1.4 覆蓋技術覆蓋技術476.3.1.1 基本原理基本原理 l內存空間劃分:內存空間劃分:l采用動態(tài)異長分區(qū)方法采用動態(tài)異長分區(qū)方法, 整個內存被動態(tài)地劃整個內存被動態(tài)地劃分為若干個長度不同的區(qū)域分為若干個長度不同的區(qū)域.l進程空間劃分:進程空間劃分:l一個進
33、程空間由一個連續(xù)的區(qū)域構成一個進程空間由一個連續(xù)的區(qū)域構成. 設進程設進程長度為長度為L, 則邏輯地址為則邏輯地址為: 0L-1l進程空間與內存空間的對應關系進程空間與內存空間的對應關系l一個進程在內存中占有一個連續(xù)的區(qū)域一個進程在內存中占有一個連續(xù)的區(qū)域l設進程的長度為設進程的長度為L,在內存中的起始地址為在內存中的起始地址為b, 則其則其物理地址為物理地址為: bb+L-1486.3.1.1 基本原理基本原理 .0:l-1:.b:lb+l-1:進程空間進程空間內存空間內存空間l所需表目:所需表目:l內存分配表內存分配表: 記錄內存中所有已被分配的區(qū)域。有時記錄內存中所有已被分配的區(qū)域。有時
34、該表可以省略該表可以省略, 此時各分配區(qū)域分別登記在占有進程此時各分配區(qū)域分別登記在占有進程的的PCB中中l(wèi)空閑區(qū)域表空閑區(qū)域表: 用于記錄內存中所有尚未分配的區(qū)域用于記錄內存中所有尚未分配的區(qū)域496.3.1.1 基本原理基本原理l所需寄存器:所需寄存器:l基址寄存器基址寄存器: 整個系統(tǒng)一個整個系統(tǒng)一個, 用于保存正在運用于保存正在運行進程的起始地址行進程的起始地址l限長寄存器限長寄存器: 整個系統(tǒng)一個整個系統(tǒng)一個, 用于保存正在運用于保存正在運行進程的長度行進程的長度 當進程被調度將運行時當進程被調度將運行時, 系統(tǒng)將其起系統(tǒng)將其起始地址和長度由內存分配表中或進程始地址和長度由內存分配表
35、中或進程PCB 中分別取出并送入首址寄存器和限長寄存中分別取出并送入首址寄存器和限長寄存器中器中506.3.1.1 基本原理基本原理l地址映射:需將程序所產生的邏輯地址變地址映射:需將程序所產生的邏輯地址變換為內存中的物理地址,即完成如下映射:換為內存中的物理地址,即完成如下映射: s:(:(a)(b+a) la為邏輯地址為邏輯地址lb為進程起始地址為進程起始地址l當當a所對應的物理地址不存在時所對應的物理地址不存在時(越界越界),映射,映射沒有意義,結果為沒有意義,結果為Wl地址映射的關系如圖地址映射的關系如圖 65 所示所示51地址映射的關系地址映射的關系0:l-1:.b:lb+l-1:l
36、b邏輯地址邏輯地址CP+aa+b步驟:步驟:(1) 由程序確定邏輯地址由程序確定邏輯地址a; (2) a與與l比較判斷是否越界,比較判斷是否越界, 不滿足:不滿足:0 a l-1,越界;,越界; (3) a與與b相加得到物理地址。相加得到物理地址。進程空間進程空間內存空間內存空間526.3.1.2 雙對界雙對界l雙對界允許一個進程在內存中占有兩個連雙對界允許一個進程在內存中占有兩個連續(xù)的區(qū)域續(xù)的區(qū)域l這兩個區(qū)域一個用于保存代碼這兩個區(qū)域一個用于保存代碼, 一個用于一個用于保存數據保存數據l代碼區(qū)域可被多個進程所共享代碼區(qū)域可被多個進程所共享l數據區(qū)域則為進程所獨享數據區(qū)域則為進程所獨享536.3.1.3 交換與重定位交換與重定位l主要針對程序多、空間小、裝不下的問題主要針對程序多、空間小、裝不下的問題而提出的。而提出的。l交換交換(swapping)也稱換入換出也稱換入換出(swap-in swap-out)或滾入滾出或滾入滾出(roll-in, roll-out)l指進程在內存與外存空間之間的動態(tài)調度,指進程在內存與外存空間之間的動態(tài)調度,它是緩解內存空間緊張矛盾的一種有效方法。它是緩解內存空間緊張矛盾的一種有效方法。546
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物理科技在智能交通系統(tǒng)中的應用
- 現代藝術與設計趨勢創(chuàng)新與變革
- 現代營銷中的用戶體驗設計
- 環(huán)境科學與未來綠色發(fā)展的結合策略
- 國慶節(jié)紅色電影活動方案
- Unit7《Lesson 26 I Love My Family》(說課稿)-2024-2025學年北京版(2024)英語三年級上冊
- 2024-2025學年高中地理 第4章 旅游與區(qū)域的發(fā)展 章末分層突破說課稿 中圖版選修3
- Unit 7 Happy Birthday!(說課稿)-2024-2025學年譯林版(三起)(2024)英語三年級上冊
- 2024年屆九年級歷史上冊 第11課 開辟新時代的“宣言”說課稿2 北師大版001
- 《18 初始機器人》說課稿-2023-2024學年清華版(2012)信息技術一年級下冊
- 醫(yī)院消防安全培訓課件
- 質保管理制度
- 《00541語言學概論》自考復習題庫(含答案)
- 2025年機關工會個人工作計劃
- 人事測評理論與方法-課件
- 最新卷宗的整理、裝訂(全)課件
- 城市旅行珠海景色介紹珠海旅游攻略PPT圖文課件
- 小學 三年級 科學《觀測風》教學設計
- JJF1664-2017溫度顯示儀校準規(guī)范-(高清現行)
- 第二講共振理論、有機酸堿理論
- 高考英語聽力必備場景詞匯精選(必看)
評論
0/150
提交評論