版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五章存儲管理5.1概述5.2分區(qū)存儲管理5.3頁式存儲管理5.4段式存儲管理5.5段頁式存儲管理5.6交換技術與覆蓋技術5.7虛擬存儲5.1概述5.1.1存儲體系存儲器的層次結構:Cache主存磁盤
高速緩存Cache:
少量的、非??焖佟嘿F、易變的內存RAM:
若干兆字節(jié)、中等速度、中等價格、易變的磁盤:數(shù)百兆或數(shù)千兆字節(jié)、低速、價廉、不易變的
由操作系統(tǒng)協(xié)調這些存儲器的使用
重要性:直接存取要求內存速度盡量快到與CPU取指速度相匹配,大到能裝下當前運行的程序與數(shù)據(jù),否則CPU執(zhí)行速度就會受到內存速度和容量的影響而得不到充分發(fā)揮
內存:
是由存儲單元(字節(jié)或字)組成的一維連續(xù)的地址空間,簡稱內存空間。用來存放當前正在運行程序的代碼及數(shù)據(jù),是程序中指令本身地址所指的、亦即程序計數(shù)器所指的存儲器內存可以分為:系統(tǒng)區(qū):用于存放操作系統(tǒng)用戶區(qū):用于裝入并存放用戶程序和數(shù)據(jù)5.1.2存儲管理目的
用戶對內存的使用要求1、充分利用內存,為多道程序并發(fā)執(zhí)行提供存儲基礎2、盡可能方便用戶使用自動裝入用戶程序用戶程序中不必考慮硬件細節(jié)3、系統(tǒng)能夠解決程序空間比實際內存空間大的問題4、程序在執(zhí)行時可以動態(tài)伸縮5、內存存取速度快6、存儲保護與安全7、共享與通信8、了解有關資源的使用狀況9、實現(xiàn)的性能和代價
5.1.3存儲管理的任務
前提:引入多道程序設計技術滿足用戶要求1、內存空間的管理、分配與回收記錄內存的使用情況——設置相應的內存分配表(內存分配回收的依據(jù))內存空間劃分問題?靜態(tài)或動態(tài),等長或不等長內存空間的管理、分配與回收
內存分配表
位示圖表示法:用一位(bit)表示一個空閑頁面(0:空閑,1:占用)0…...110…...第0頁第1頁第i頁
第n-1頁內存空間的管理、分配與回收
空閑頁面表:包括首頁面號和頁面?zhèn)€數(shù),連續(xù)若干的頁面作為一組登記在表中
空閑塊表:空閑塊首址和空閑塊長度,沒有記錄的區(qū)域即為進程所占用
空閑塊鏈表:將所有的空閑塊鏈成一個鏈表內存空間的管理、分配與回收確定分配算法實施內存分配回收內存
分配回收方式:靜態(tài)分配與動態(tài)分配內存空間的管理、分配與回收
連續(xù)性;離散性駐留性;交換性一次性;多次性2、存儲共享內存共享:兩個或多個進程共用內存中相同區(qū)域目的:節(jié)省內存空間,提高內存利用率實現(xiàn)進程通信(數(shù)據(jù)共享)共享內容:代碼共享,要求代碼為純代碼數(shù)據(jù)共享3、存儲保護與安全
保護目的:為多個程序共享內存提供保障,使在內存中的各道程序,只能訪問它自己的區(qū)域,避免各道程序間相互干攏,特別是當一道程序發(fā)生錯誤時,不致于影響其他程序的運行。通常由硬件完成保護功能,由軟件輔助實現(xiàn)。(特權指令不能完成存儲保護。)存儲保護
保護系統(tǒng)程序區(qū)不被用戶侵犯(有意或無意的)不允許用戶程序讀寫不屬于自己地址空間的數(shù)據(jù)(系統(tǒng)區(qū)地址空間,其他用戶程序的地址空間)保護過程防止地址越界每個進程都有自己獨立的進程空間,如果一個進程在運行時所產生的地址在其地址空間之外,則發(fā)生地址越界。即當程序要訪問某個內存單元時,由硬件檢查是否允許,如果允許則執(zhí)行,否則產生地址越界中斷,由操作系統(tǒng)進行相應處理保護過程防止地址越界一般由硬件提供一對寄存器:
基址寄存器:存放起始地址
限長寄存器:存放長度(上界寄存器/下界寄存器)保護過程防止操作越權
對于允許多個進程共享的存儲區(qū)域,每個進程都有自己的訪問權限。如果一個進程對共享區(qū)域的訪問違反了權限規(guī)定,則發(fā)生操作越權即讀寫保護4內存“擴充”通過虛擬存儲技術實現(xiàn)
用戶在編制程序時,不應該受內存容量限制,所以要采用一定技術來"擴充"內存的容量,使用戶得到比實際內存容量大的多的內存空間內存“擴充”具體實現(xiàn)是在硬件支持下,軟硬件相互協(xié)作,將內存和外存結合起來統(tǒng)一使用。通過這種方法把內存擴充,使用戶在編制程序時不受內存限制5地址映射(地址重定位,地址變換)(1)邏輯地址(相對地址,虛地址)(2)物理地址(絕對地址,實地址)(3)地址映射地址映射LoadA2003456。。1200物理地址空間LoadAdata1data13456源程序LoadA20034560100200編譯連接邏輯地址空間BA=1000(1)邏輯地址(相對地址,虛地址)用戶的程序經(jīng)過匯編或編譯后形成目標代碼,目標代碼通常采用相對地址的形式,其首地址為0,其余指令中的地址都相對于首地址而編址不能用邏輯地址在內存中讀取信息(2)物理地址(絕對地址,實地址)內存中存儲單元的地址,可直接尋址(3)地址映射為了保證CPU執(zhí)行指令時可正確訪問存儲單元,需將用戶程序中的邏輯地址轉換為運行時由機器直接尋址的物理地址,這一過程稱為地址映射03456......LOADA200......0100200300.........LOADA2003456邏輯地址空間110012001300物理地址空間200VR+1000BR
原因:當程序裝入內存時,操作系統(tǒng)要為該程序分配一個合適的內存空間,由于程序的邏輯地址與分配到內存物理地址不一致,而CPU執(zhí)行指令時,是按物理地址進行的,所以要進行地址轉換靜態(tài)重定位當用戶程序被裝入內存時,一次性實現(xiàn)邏輯地址到物理地址的轉換,以后不再轉換(一般在裝入內存時由軟件完成)動態(tài)重定位在程序運行過程中要訪問數(shù)據(jù)時再進行地址變換(即在逐條指令執(zhí)行時完成地址映射。一般為了提高效率,此工作由硬件地址映射機制來完成。硬件支持,軟硬件結合完成)硬件上需要一對寄存器的支持5.1.4各種存儲管理方案單一用戶(連續(xù)區(qū))存儲管理:單用戶系統(tǒng)在一段時間內,只有一個進程在內存,故內存分配管理十分簡單,內存利用率低。內存分為兩個區(qū)域,一個供操作系統(tǒng)使用,一個供用戶使用用戶程序位于RAM中的操作系統(tǒng)0xFFF...0位于RAM中的操作系統(tǒng)用戶程序0ROM中的設備驅動程序用戶程序位于RAM中的操作系統(tǒng)05.2分區(qū)存儲管理方案系統(tǒng)把內存用戶區(qū)劃分為若干分區(qū),分區(qū)大小可以相等,也可以不等。一個進程占據(jù)一個分區(qū)固定分區(qū)可變分區(qū)5.2.1固定分區(qū)預先把可分配的主存儲器空間分割成若干個連續(xù)區(qū)域,稱為一個分區(qū)。每個分區(qū)的大小可以相同也可以不同,如圖所示。但分區(qū)大小固定不變,每個分區(qū)裝一個且只能裝一個作業(yè)存儲分配:如果有一個空閑區(qū),則分配給進程分區(qū)4分區(qū)3分區(qū)2分區(qū)1操作系統(tǒng)多個等待隊列單個等待隊列分區(qū)4分區(qū)3分區(qū)2分區(qū)1操作系統(tǒng)固定分區(qū)內存管理:設置內存分配表內存分配:內存回收:簡單缺點:內存利用率不高分區(qū)號起始地址長度狀態(tài)進程名5.2.2可變分區(qū)1、基本思想內存不是預先劃分好的,而是當作業(yè)裝入時,根據(jù)作業(yè)的需求和內存空間的使用情況來決定是否分配。若有足夠的空間,則按需要分割一部分分區(qū)給該進程;否則令其等待主存空間2、內存管理設置內存空閑塊表——記錄了空閑區(qū)起始地址和長度3、內存分配動態(tài)分配4、內存回收當某一塊歸還后,前后空間合并,修改內存空閑塊表內存分配:三種分配算法首先適配算法:當接到內存申請時,查空閑塊表,找到第一個不小于請求的空塊,將其分割并分配(特點:簡單、快速分配)最佳適配算法:接到內存申請時,在空閑塊表中找到一個不小于請求的最小空塊進行分配(特點:用最小空間滿足要求)最壞適配算法:
接到內存申請時,在空閑塊表中找到一個不小于請求的最大空塊進行分配(特點:當分割后空閑塊仍為較大空塊)0K15K38K48K68K80K110K120K空閑區(qū)表已分配區(qū)表始址長度標志15K23K未分配48K20K未分配80K30K未分配空空始址長度標志0K15KJ138K10KJ268K12KJ3110K10KJ4空空0K15K38K48K68K80K110K120K空閑區(qū)表已分配區(qū)表始址長度標志15K23K未分配48K20K未分配98K12K未分配空空始址長度標志0K15KJ138K10KJ268K12KJ3110K10KJ480K5KJ585K13KJ685K98K碎片問題:經(jīng)過一段時間的分配回收后,內存中存在很多很小的空閑塊。它們每一個都很小,不足以滿足分配要求;但其總和滿足分配要求。這些空閑塊被稱為碎片
造成存儲資源的浪費碎片問題的解決:緊湊技術:通過在內存移動程序,將所有小的空閑區(qū)域合并為大的空閑區(qū)域(緊縮技術,緊致技術,浮動技術,搬家技術)
問題:開銷大;移動時機
討論:分區(qū)的保護:設置界地址寄存器保護鍵優(yōu)點:
便于動態(tài)申請內存便于共享內存便于動態(tài)鏈接缺點: 碎片問題(外碎片),內存利用率不高受實際內存容量限制5.3段式存儲管理5.3.1基本思想(工作原理)...0S工作區(qū)段[B]主程序段[M]......0EP子程序段[X]0K...CALL[X][E].........CALL[Y][F]CALL[A]116......0FL子程序段[Y]0116N數(shù)組[A]12345...操作系統(tǒng).....B0SA0NY0LX0PM0K邏輯段號01234作業(yè)1的地址空間10003200500060008000PKSLN主存K
3200P1500L6000N8000S5000長度段地址01234操作系統(tǒng)用戶程序劃分按程序自身的邏輯關系劃分為若干個程序段,每個程序段都有一個段名,且有一個段號。段號從0開始,每一段也從0開始編址,段內地址是連續(xù)的邏輯地址內存劃分內存空間被動態(tài)的劃分為若干個長度不相同的區(qū)域,這些區(qū)域被稱為物理段,每個物理段由起始地址和長度確定段號段內地址內存分配
以段為單位分配內存,每一個段在內存中占據(jù)連續(xù)空間(內存隨機分割,需要多少分配多少),但各段之間可以不連續(xù)存放5.3.2管理段表:它記錄了段號,段的首(地)址和長度之間的關系每一個程序設置一個段表,放在內存屬于進程的現(xiàn)場信息段號012段首址段長度58K20K100K110K260K140K空閑塊管理:記錄了空閑區(qū)起始地址和長度內存的分配算法:首先適配;最佳適配;最壞適配5.3.3硬件支持系統(tǒng)設置一對寄存器段表始址寄存器:用于保存正在運行進程的段表的始址段表長度寄存器:用于保存正在運行進程的段表的長度(例如上圖的段表長度為3)
Cl
Cb+段號S
段內地址d比較比較b+d段表S>=Cl快表物理地址段表始址寄存器段表長度寄存器邏輯地址lb...Slb地址越界d>=1d>=1地址映射及存儲保護機制地址越界地址越界比較介于內存與寄存器之間的存儲機制,它又叫快表用途:保存正在運行進程的段表的子集(部分表項)特點:按內容并行查找相聯(lián)(聯(lián)想)存儲器(associativememory)
TLB(Translationlookasidebuffers)引入快表的作用:
為了提高地址映射速度快表項目:段號;段始址;段長度;標識(狀態(tài))位;訪問位(淘汰位)快表淘汰問題?段的共享?段的保護?優(yōu)點:便于動態(tài)申請內存管理和使用統(tǒng)一化便于共享便于動態(tài)鏈接缺點:產生碎片思考:與可變分區(qū)存儲管理方案的相同點與不同點?5.4頁式存儲管理5.4.1基本思想(工作原理)1.用戶程序劃分把用戶程序按邏輯頁劃分成大小相等的部分,稱為頁。從0開始編制頁號,頁內地址是相對于0編址邏輯地址用戶程序的劃分是由系統(tǒng)自動完成的,對用戶是透明的。一般,一頁的大小為2的整數(shù)次冪,因此,地址的高位部分為頁號,低位部分為頁內地址頁號頁內地址0111231頁號P頁內位移量W編號0~1048575相對地址0~4095內存空間:按頁的大小劃分為大小相等的區(qū)域,稱為內存塊(物理頁面,頁框)內存分配:
以頁為單位進行分配,并按作業(yè)的頁數(shù)多少來分配。邏輯上相鄰的頁,物理上不一定相鄰...01234560123456作業(yè)的地址空間頁框(物理塊)頁號頁表主存中頁框(物理塊).......5.4.2管理1.頁表:系統(tǒng)為每個進程建立一個頁表,頁表給出邏輯頁號和具體內存塊號相應的關系頁表放在內存,屬于進程的現(xiàn)場信息2.空塊管理——位示圖3.內存的分配與回收0310/10/10/10/10/1017……空閑塊數(shù)……空塊管理——位示圖計算一個作業(yè)所需要的總塊數(shù)N查位示圖,看看是否還有N個空閑塊如果有足夠的空閑塊,則頁表長度設為N,可填入PCB中;申請頁表區(qū),把頁表始址填入PCB依次分配N個空閑塊,將塊號和頁號填入頁表修改位示圖5.4.3硬件支持1.系統(tǒng)設置一對寄存器:
頁表始址寄存器頁表長度寄存器2.相聯(lián)存儲器——快表快表表項:頁號;內存塊號;標識位;淘汰位p’頁表地址越界
l比較P>=1pp’...快表
b+頁號p頁內地址dP’d物理地址頁表地址寄存器頁表長度寄存器邏輯地址地址映射機制5.4.6優(yōu)缺點優(yōu)點:解決了碎片問題便于管理缺點:不易實現(xiàn)共享不便于動態(tài)連接思考:頁的共享?頁的保護?5.5段頁式存儲管理5.5.1產生背景及基本思想背景:結合了二者優(yōu)點克服了二者的缺點基本思想:
用戶程序劃分:按段式劃分(對用戶來講,按段的邏輯關系進行劃分;對系統(tǒng)講,按頁劃分每一段)邏輯地址:內存劃分:按頁式存儲管理方案內存分配:以頁為單位進行分配段號段內地址頁號頁內地址5.5.2管理1.段表:記錄了每一段的頁表始址和頁表長度2.頁表:記錄了邏輯頁號與內存塊號的對應關系(每一段有一個,一個程序可能有多個頁表)3.空塊管理:同頁式管理4.分配:同頁式管理5.5.3硬件支持段表始址寄存器
段表長度寄存器
相聯(lián)存儲器(快表)5.6交換技術與覆蓋技術在多道環(huán)境下擴充內存的方法,用以解決在較小的存儲空間中運行較大程序時遇到的矛盾覆蓋技術主要用在早期的操作系統(tǒng)中交換技術被廣泛用于小型分時系統(tǒng)中,交換技術的發(fā)展導致了虛存技術的出現(xiàn)
交換技術與覆蓋技術共同點:進程的程序和數(shù)據(jù)主要放在外存,當前需要執(zhí)行的部分放在內存,內外存之間進行信息交換不同點:如何控制交換?5.6.1覆蓋技術把程序劃分為若干個功能上相對獨立的程序段,按照其自身的邏輯結構將那些不會同時執(zhí)行的程序段共享同一塊內存區(qū)域程序段先保存在磁盤上,當有關程序段的前一部分執(zhí)行結束,把后續(xù)程序段調入內存,覆蓋前面的程序段(內存“擴大”了)覆蓋:一個作業(yè)的若干程序段,或幾個作業(yè)的某些部分共享某一個存儲空間一般要求作業(yè)各模塊之間有明確的調用結構,程序員要向系統(tǒng)指明覆蓋結構,然后由由操作系統(tǒng)完成自動覆蓋A8KE4KF10KC10KB8KD12K作業(yè)X的調用結構作業(yè)X的常駐區(qū)
A(8K)覆蓋區(qū)0(10K)覆蓋區(qū)1(12K)BCDEF
缺點:對用戶不透明,增加了用戶負擔
例子:目前這一技術用于小型系統(tǒng)中的系統(tǒng)程序的內存管理上,MS-DOS的啟動過程中,多次使用覆蓋技術;啟動之后,用戶程序區(qū)TPA的高端部分與COMMAND.COM暫駐模塊也是一種覆蓋結構5.6.2交換技術當內存空間緊張時,系統(tǒng)將內存中某些進程暫時移到外存,把外存中某些進程換進內存,占據(jù)前者所占用的區(qū)域,這種技術是進程在內存與外存之間的動態(tài)調度。多用于分時系統(tǒng)中
交換技術實現(xiàn)中的幾個問題:
1、選擇原則即:將哪個進程換出/內存?例子:分時系統(tǒng),時間片輪轉法或基于優(yōu)先數(shù)的調度算法,在選擇換出進程時,要確定換出的進程是要長時間等待的需要特殊考慮的是:任何等待I/O的進程中存在的問題解決:從不換出處于等待I/O狀態(tài)的進程有些I/O進程因DMA而不能換出內存或換出前需要操作系統(tǒng)的特殊幫助
2、交換時機的確定何時需發(fā)生交換?例子:只要不用就換出(很少再用)只在內存空間不夠或有不夠的危險時換出3、交換時需要做哪些工作?需要一個盤交換區(qū):必須足夠大以存放所有用戶程序的所有內存映像的拷貝;必須對這些內存映像的直接存取4、換入回內存時位置的確定換出后再換入的內存位置一定要在換出前的原來位置上嗎?受地址“綁定”技術的影響,即絕對地址產生時機的限制
與覆蓋技術相比,交換技術不要求用戶給出程序段之間的邏輯覆蓋結構;而且,交換發(fā)生在進程或作業(yè)之間,而覆蓋發(fā)生在同一進程或作業(yè)內。此外,覆蓋只能覆蓋那些與覆蓋段無關的程序段5.7虛擬存儲連續(xù)性;離散性駐留性;交換性一次性;多次性以CPU時間和外存空間換取昂貴內存空間,這是操作系統(tǒng)中的資源轉換技術5.7.1概述
1、問題的提出程序大于內存程序暫時不執(zhí)行或運行完是否還要占用內存
虛擬存儲器的基本思想是:程序、數(shù)據(jù)、堆棧的大小可以超過內存的大小,操作系統(tǒng)把程序當前使用的部分保留在內存,而把其它部分保存在磁盤上,并在需要時在內存和磁盤之間動態(tài)交換虛擬存儲器支持多道程序設計技術CPUMMU內存磁盤控制器總線虛擬地址物理地址MMU:內存管理單元XXXX7X5XXX34061260K-64K56K-60K52K-56K48K-52K44K-48K40K-44K36K-40K32K-36K28K-32K24K-28K20K-24K16K-20K12K-16K8K-12K4K-8K0K-4K28K-32K24K-28K20K-24K16K-20K12K-16K8K-12K4K-8K0K-4K虛地址空間物理地址空間}虛頁頁框1514131211109
87654321000000000000000011110000101100000000000001111001000111010011010100010000000000100110000000000100110在/不在內存頁表虛地址8196物理地址245802、程序局部性原理在一段時間內一個程序的執(zhí)行往往呈現(xiàn)出高度的局部性,表現(xiàn)在時間與空間兩方面時間局部性:一條指令被執(zhí)行了,則在不久的將來它可能再被執(zhí)行空間局部性:若某一存儲單元被使用,則在一定時間內,與該存儲單元相鄰的單元可能被使用3、虛擬存儲技術虛存:把內存與外存有機的結合起來使用,從而得到一個容量很大的“內存”,這就是虛存實現(xiàn)思想:當進程運行時,先將一部分程序裝入內存,另一部分暫時留在外存,當要執(zhí)行的指令不在內存時,由系統(tǒng)自動完成將它們從外存調入內存工作目的:提高內存利用率5.7.2虛擬頁式存儲管理1、基本工作原理在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面,之后根據(jù)進程運行的需要,動態(tài)裝入其它頁面;當內存空間已滿,而又需要裝入新的頁面時,則根據(jù)某種算法淘汰某個頁面,以便裝入新的頁面2、頁表表項頁號、駐留位、內存塊號、外存地址、訪問位、修改位 駐留位(中斷位):表示該頁是在內存還是在外存訪問位:根據(jù)訪問位來決定淘汰哪頁(由不同的算法決定)修改位:查看此頁是否在內存中被修改過頁號中斷位內存塊號外存地址訪問位修改位3、缺頁中斷(PageFault)在地址映射過程中,在頁表中發(fā)現(xiàn)所要訪問的頁不在內存,則產生缺頁中斷。操作系統(tǒng)接到此中斷信號后,就調出缺頁中斷處理程序,根據(jù)頁表中給出的外存地址,將該頁調入內存,使作業(yè)繼續(xù)運行下去如果內存中有空閑塊,則分配一頁,將新調入頁裝入內存,并修改頁表中相應頁表項目的駐留位及相應的內存塊號若此時內存中沒有空閑塊,則要淘汰某頁,若該頁在內存期間被修改過,則要將其寫回外存4、頁面淘汰算法先進先出頁面淘汰算法(FIFO)
選擇在內存中駐留時間最長的頁并淘汰之第二次機會淘汰算法(SCR)
按照先進先出算法選擇某一頁面,檢查其訪問位,如果為0,則淘汰該頁,如果為1,則給第二次機會,并將訪問位置0理想淘汰算法—最佳頁面算法(OPT)
淘汰以后不再需要的或最遠的將來才會用到的頁面最近最少使用頁面淘汰算法(LRU)
選擇最后一次訪問時間距離當前時間最長的一頁并淘汰之即淘汰沒有使用的時間最長的頁實現(xiàn)代價很高時間戳或硬件方法LRU的軟件解決方案:最不經(jīng)常使用(NFU)
選擇訪問次數(shù)最少的頁面淘汰之實現(xiàn):軟件計數(shù)器,一頁一個,初值為0。每次時鐘中斷時,計數(shù)器加R。發(fā)生缺頁中斷時,選擇計數(shù)器值最小的一頁淘汰改進:計數(shù)器在加R前先右移一位
R位加到計數(shù)器的最左端稱為老化算法最近未使用頁面淘汰算法(NRU)
選擇在最近一段時間內未使用過的一頁并淘汰之實現(xiàn):設置兩位訪問位(R),修改位(M)
啟動一個進程時,R、M置0
R被定期清零發(fā)生缺頁中斷時,操作系統(tǒng)檢查R,M:
第0類:無訪問,無修改第1類:無訪問,有修改第2類:有訪問,無修改第3類:有訪問,有修改操作系統(tǒng)隨機從編號最小的非空類中選擇一頁淘汰例子1:計算缺頁次數(shù)某程序在內存中分配三個頁面,初始為空,頁面走向為4,3,2,1,4,3,5,4,3,2,1,5FIFO432143543215頁1432143555211頁243214333522頁34321444355
xxxxxxx
x
x共缺頁中斷9次
LRU432143543215頁1432143543215頁243214354321頁34321435432
xxxxxxx
xxx共缺頁中斷10次
OPT432143543215頁1432111555211頁243333333555頁34444444444
xxxx
x
xx
共缺頁中斷7次例子2:計算缺頁次數(shù)
某程序在內存中分配m頁初始為空,頁面走向為1,2,3,4,1,2,5,1,2,3,4,5。當m=3,m=4時缺頁中斷分別為多少?用FIFO算法例子2:計算缺頁次數(shù)m=3時,缺頁中斷9次m=4時,缺頁中斷10次注:FIFO頁面淘汰算法會產生異?,F(xiàn)象(Belady現(xiàn)象),即:當分配給進程的物理頁面數(shù)增加時,缺頁次數(shù)反而增加5、影響缺頁次數(shù)的因素(1)分配給進程的物理頁面數(shù)(2)頁面本身的大小(3)程序的編制方法(4)頁面淘汰算法例子3:內存分配一頁,初始時第一頁在內存;頁面大小為128個整數(shù);矩陣A128X128按行存放程序編制方法1:
Forj:=1to128Fori:=1to128A[i,j]:=0;程序編制方法2:
Fori:=1to128Forj:=1to128A[i,j]:=0;5.7.3性能問題1、顛簸(抖動)在虛存中,頁面在內存與外存之間頻繁調度,以至于調度頁面所需時間比進程實際運行的時間還多,此時系統(tǒng)效率急劇下降,甚至導致系統(tǒng)崩潰。這種現(xiàn)象稱為顛簸或抖動原因:頁面淘汰算法不合理分配給進程的物理頁面數(shù)太少2、工作集(WorkingSet)模型
基本思想:根據(jù)程序的局部性原理,一般情況下,進程在一段時間內總是集中訪問一些頁面,這些頁面稱為活躍頁面,如果分配給一個進程的物理頁面數(shù)太少了,使該進程所需的活躍頁面不能全部裝入內存,則進程在運行過程中將頻繁發(fā)生中斷如果能為進程提供與活躍頁面數(shù)相等的物理頁面數(shù),則可減少缺頁中斷次數(shù)工作集:對于給定的訪問序列選取定長的區(qū)間,稱為工作集窗口,落在工作集窗口中的頁面集合稱為工作集內容取決于頁的三個因素:訪頁序列特性時刻Ti
窗口長度(△)例:26157775162341234443434441327||t1||t2
ws(t1)={1,2,5,6,7}
ws(t2)={3,4}5.7.4虛擬段式存儲管理1、段表內容增加:特征位(在/不在內存,是否可共享),存取權限位(讀,寫,執(zhí)行),標志位(是否修改過,能否移動),擴充位(固定長/可擴充)2、越界中斷處理進程在執(zhí)行過程中,有時需要擴大分段,如數(shù)據(jù)段。由于要訪問的地址超出原有的段長,所以發(fā)越界中斷。操作系統(tǒng)處理中斷時,首先判斷該段的“擴充位”,如可擴充,則增加段的長度;否則按出錯處理3、缺段中斷處理檢查內存中是否有足夠的空閑空間
①若有,則裝入該段,修改有關數(shù)據(jù)結構,中斷返回
②若沒有,檢查內存中空閑區(qū)的總和是否滿足要求,是則應采用緊縮技術,轉①
;否則,淘汰一(些)段,轉①4、段的動態(tài)鏈接大型程序:若干程序段,若干數(shù)據(jù)段一些熟知的事實:進程的某些程序段在進程運行期間可能根本不用互斥執(zhí)行的程序段沒有必要同時駐留內存有些程序段執(zhí)行一次后不再用到
靜態(tài)鏈接:為了程序正確執(zhí)行,必須由連接裝配程序把它們連接成一個可運行的目標程序,并在程序運行前都裝入內存。問題:花費時間,浪費空間(1)段的動態(tài)鏈接在程序開始運行時,只將主程序段裝配好并調入內存,其它各段的裝配是在主程序段的運行過程中逐步完成。每當需要調用一個新段時,再將這個新段裝配好,并與主程序段鏈接頁式存儲管理:難以完成動態(tài)鏈接,其邏輯地址是一維的(2)鏈接間接字和鏈接中斷機器指令:直接尋址,間接尋址LOAD100LOAD100600600800直接尋址間接尋址100100數(shù)據(jù)間接字數(shù)據(jù)
采用間接尋址時,間接地址指示的單元的內容稱為間接字,在間接字中,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 托兒所服務的緊急處理考核試卷
- 提升員工自我管理能力的培訓策略考核試卷
- 制糖業(yè)市場滲透策略研究報告報告考核試卷
- 體育經(jīng)紀人行業(yè)挑戰(zhàn)與機遇考核試卷
- 《XSMD股份有限公司財務風險控制研究》
- 藥店精神藥品自查報告
- 《超聲引導下腹橫肌平面阻滯聯(lián)合髂腹下髂腹股溝神經(jīng)阻滯應用于老年患者腹股溝疝手術中的臨床研究》
- 《Ni-基異質結材料的構筑及其光催化性能研究》
- 2024年其他專用設備及零部件項目規(guī)劃申請報告的范文
- 2024年冷鏈裝備項目提案報告范文
- 成人疝護理查房課件
- 東北林業(yè)大學電子電工學21-22年階段一考試試卷-答案
- 產品設計-淺談智能藍牙音響的外觀創(chuàng)新設計
- 2024屆重慶市永川區(qū)物理高一第一學期期中質量檢測試題含解析
- 傳統(tǒng)節(jié)日文化在幼兒園課程中的應用研究 論文
- 瀝青改色路面修補施工方案
- 香菇種植示范基地項目可行性策劃實施方案
- 混凝土硫酸鹽侵蝕基本機理研究
- 《機械設計基礎A》機械電子 教學大綱
- 水工巖石分級及圍巖分類
- 斜井敷設電纜措施
評論
0/150
提交評論