存儲器管理分析總結_第1頁
存儲器管理分析總結_第2頁
存儲器管理分析總結_第3頁
存儲器管理分析總結_第4頁
存儲器管理分析總結_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、存儲器管理分析總結一、理解主存管理需要實現的功能1、地址映射1)定義:為了保證CPU執行指令時可正確訪問存儲單元,需將用戶程序中的邏輯地址轉換為運行時由機器直接尋址的物理地址,此過程即為地址映射。2)地址映射分類:a. 靜態重定位當用戶程序被裝入內存時,一次性實現邏輯地址到物理地址的轉換,以后不再轉換(一般在裝入內存時由軟件完成)。b. 動態重定位在程序運行過程中要訪問數據時再進行地址變換(即在逐條指令執行時完成地址映射。一般為了提高效率,此工作由硬件地址映射機制來完成。由硬件支持,軟件硬件結合完成。硬件上一般需要一對寄存器的支持)。3)個人理解:a.地址映射的目的:增加邏輯地址的概念,可以理

2、解為系統為每個任務提供了一個虛擬內存,任務執行時同時存在兩個內存,虛擬內存和物理內存,操作系統對虛擬內存進行操作,對內存管理起來更方便;而物理內存主要就是對應硬件的真實地址;b.地址映射的步驟:對于靜態地址映射,在程序燒寫到處理器時,已經完成了地址的映射,并且映射關系已固定,一般內核中大部分代碼就是實現的靜態地址映射;對于動態地址映射,首先操作系統先申請一塊虛擬內存,之后調用映射函數之后,才實現了物理內存的分配,這個主要用于用戶進程中。2、主存儲空間的分配和釋放1)定義:合理地分配和使用存儲空間也是內存管理的重要內容,通過實時合理的分配和釋放內存,能達到內存使用率的最大化。2)個人理解:這個所

3、謂的主存儲的分配和釋放,是指操作系統是否對虛擬內存進行管理分配,不是完全有用戶程序決定。3、主存儲空間的保護1)定義:對于主存儲器而言,其同時存在多個用戶程序和系統軟件。為使系統正常工作,必須防止由于一個用戶程序出錯而破壞同時存在主存內的系統軟件或其他用戶的程序,還須防止一個用戶程序不合法地訪問并非分配給它的主存區域。因此,存儲保護是多道程序和多處理機系統必不可少的部分,也是存儲管理中非常重要的一部分。2)存儲保護方法分類: a.對于連續存儲區域,采用防止地址越界方法:采用界限寄存器,限定存儲區域的上下界限。 b.對于非連續存儲區域,采用防止操作越權方法:(這其中又可以細化為二種方法) -鍵式

4、保護:每個頁面區域都包含一個存儲鍵,表明了存儲區域控制和保護的信息。 -環狀保護:把系統程序和用戶程序按重要性分層,稱為環,對每個環都規定訪問它的級別,違反規定的存取操作是非法的,以此實現對正在執行的程序的保護。3)個人理解:a.后面的所有存儲保護機制都是采用防止地址越界和防止操作越權兩種方法來實現的。4、主存儲空間的共享1)定義:允許兩個不相關的進程訪問同一個邏輯內存。共享內存是在兩個正在運行的進程之間共享和傳遞數據的一種非常有效的方式。不同進程之間共享的內存通常安排為同一段物理內存。進程可以將同一段共享內存連接到它們自己的地址空間中,所有進程都可以訪問共享內存中的地址。2)優點:使用共享內

5、存進行進程間的通信實現方便,數據的共享還使進程間的數據不用傳送,而是直接訪問內存,也加快了程序的效率。3)缺點:多個進程使用共享內存塊時,必須達成一種協議,不然會造成混亂,這個必須通過其他的比如信號量等方式來實現。5、主存儲空間的擴充1)定義:有限的內存容量遠遠不能滿足大程序以及共存于內存的多個程序的存儲要求,這就得借助于一些存儲技術來實現內存的擴充。2)實現方法:一般采用虛擬存儲技術(涉及到交換技術),其使每個用戶作業都對應有一個虛存,用戶編程時不必考慮實存的大小,也就是說,一個虛擬存儲器就是一個作業的邏輯地址空間。虛存的容量與內存的容量沒有直接聯系,而是由處理機的地址線的位數來決定的。其具

6、體實現采用了交換技術,實現緩存和內存之間的交換。二、主存管理方式的發展及其對比1、連續存儲空間管理方式具體有多種形式大類別連續存儲空間管理方式小類別無管理單一分區固定分區(亦為靜態分區)動態分區定義無操作系統用于對于內存的管理的方式有操作系統,內存分為系統區和用戶區。系統區用于存放操作系統程序,用戶區用于存放用戶程序系統開機初啟時,系統操作員根據當天作業情況把主存的用戶區劃分成大小可以不等但位置固定的分區系統根據進程需要分配內存,不劃分固定分區特點1)由于沒有操作系統內存管理的支持,用戶通過自己編程負責所有的內存管理工作,直接對物理地址進行操作;2)僅有物理內存,沒有虛擬內存;3)不存在內存的

7、分配和釋放問題,用戶面對的是一個內存全為空的內存,用戶可以以任意方式使用內存,具有最大的靈活性;4)僅適用于單道程序設計。1)用戶區最多存放一道用戶程序。2)可以使用靜態地址映射。若有硬件(重定位寄存器)的支持,也可以使用動態地址映射;3)基本不存在存儲擴充的問題。在上面的右圖中,若用戶程序較大,覆蓋了操作系統程序中可被覆蓋的部分,則當此用戶程序結束后,操作系統需重新加載被覆蓋的部分。這種方式在一定程序上擴充了用戶區域;4)不存在內存的分配和釋放問題,用戶面對的用戶區內存全為空,用戶可以以任意方式使用內存,具有最大的靈活性;5)一般僅適用于單道系統。所以這種方式具有單道系統的所有缺點,主要是系

8、統效率不高;6)使用交換技術,也可以支持多道系統。1)存儲管理需設置一張“主存分配表”,用以記錄主存中劃分的分區和分區的使用情況。當一個程序需要加載運行,系統可以擇一個大小合適的空閑分區分配出去。當程序結束而釋放分區時,將分區狀態設置為空閑即可;2)存在內部碎片(分區內未被利用空間);3)實現地址映射。靜態地址映射或者動態地址映射;4)實現存儲保護,防止地址越界和防止操作越權;5)實現共享很困難;6)可以使用交換技術或覆蓋技術擴充內存。1)不對用戶區實施固定分區,在實現主存儲空間的分配和釋放時,由操作系統根據用戶需要來分配內存;2)這樣產生的問題是容易產生內存外部碎片(難以利用的小空閑分區),

9、可以采用拼接技術,解決碎片問題。3)程序動態增長問題,如果該程序相鄰的分區是空閑的,將此空閑分區分配給該進程;若與該程序相鄰的分區不空閑,則將該程序移動到一個更大的空閑分區中,或者將內存中的一個或多個非空閑分區交換到磁盤上的交換區中,若交換區已滿,則該程序只能等待或者被殺死。4)其唯一的優點就是實現簡單。相較于之前管理方式的區別1)無地址映射2)無主存分配和釋放3)無存儲保護4)無主存儲空間的共享5)無主存儲空間的擴充1)實現了地址映射,可以采用靜態地址映射或動態地址映射2)實現存儲保護,靜態地址映射采用防止地址越界方法,動態地址映射采用防止操作越權方法3)可以犧牲系統區來擴充內存,方法不是很

10、好 1)在內存分配時,把用戶區分成一個個固定大小的分區,再來分配 2)實現主存儲空間的分配和釋放,系統對用戶區分配實行控制 3)使用交換技術或覆蓋技術擴充內存,仍存在問題 1)改善了主存儲空間的分配和釋放,摒棄了用戶區固定分區亟待優化功能1)預先規定了分區大小,使得大程序無法裝入2)主存空間的利用率不高,一個作業不可能恰好填滿分區;同時一個作業運行中要求動態擴充主存,采用固定分區難實現3)各分區作業要共享程序和數據也難實現。4)分區的數目是在系統初啟時確定的,這就限制了多道運行的程序數。1)對空間分配的連續性要求使得對于空間的使用不靈活,導致空間使用效率不高。2)存在碎片問題,也會導致空間使用

11、效率降低。盡管可以使用拼接技術解決碎片問題,但是拼接技術是一個成本很高的方法。提高分配閥值雖有助于減少碎片,但是會降低內存使用空間效率。3)程序的動態增長較困難。4)幾乎不支持虛擬存儲技術5)不支持內存共享。2、非連續存儲空間管理方式也具有多種形式大類別非連續存儲空間管理方式小類別頁模式段模式段頁模式定義通過對內存分頁,實現虛擬存儲技術通過對內存分段,實現虛擬存儲技術通過對內存分段同時分頁,實現內存管理特點1)分頁機制支持虛擬存儲技術;2)虛擬存儲技術,用戶只關心虛擬地址,其物理地址的實現可以通過交換技術,實現緩存和內存的切換,從而實現對內存的擴充;3)使用分頁時,每個端被劃分為頁面(通常每頁

12、4KB),頁面存儲與物理內存或硬盤上,操作系統通過維護一個頁目錄和一些頁表來留意這些頁表信息;4)分頁管理頁面的保護,可采用的是防止操作越權的保護方式,在頁表中增加一些訪問標志位;也可采取存儲保護鍵作為保護機制;或者越界訪問控制。1)實現內存分段,通過段模式實現對主存儲器的共享操作。1)段頁式管理的地址映射,實現段和頁的二級映射虛擬地址到線性地址再到物理地址;2)段頁式管理是基于頁式管理的分配與釋放,所以段頁式管理的主存分配與釋放和頁式管理相同;3)段頁式管理所支持的虛擬存儲綜合分頁和分段的虛擬存儲;4)段頁式管理所支持的共享與保護綜合和分頁和分段的共享與保護。需要注意的是,可能存在兩級訪問控

13、制:段的訪問控制和頁的訪問控制,顯然,頁的訪問控制不能超過段的訪問控制。相較于之前管理方式的區別1)增加頁概念,優化了存儲保護;2)主存儲空間的擴充中實現了虛擬存儲技術,1)區別于頁模式的一種段模式處理方式;2)實現了主存儲的共享問題。1)實現地址映射2)實現主存分配和釋放3)實現存儲保護4)實現主存儲空間的共享5)實現主存儲空間的擴充亟待優化功能1)對于內存的共享沒有很好的解決1)龐大的映射表對于存儲來說也是一種負擔;2)不斷查詢映射表也會增加系統負擔,影響系統效率。3、頁模式、段模式和段頁模式的深層次對比分析類別頁模式段模式段頁模式目的1.頁是信息的物理單位;2.分頁是為實現離散分配方式,

14、以消減內存的外零頭,提高內存的利用率;3.分頁僅僅是由于系統管理的需要,而不是用戶的需要1.段是信息的邏輯單位,它含有一組其意義相對完整的信息。2.分段的目的是為了能更好的滿足用戶的需要1.分頁系統能有效地提高內存的利用率,而分段系統能反映程序的邏輯結構,便于段的共享與保護,將分頁與分段兩種存儲方式結合起來,就形成了段頁式存儲管理方式;2.在段頁式存儲管理系統中,作業的地址空間首先被分成若干個邏輯分段,每段都有自己的段號,然后再將每段分成若干個大小相等的頁。對于主存空間也分成大小相等的頁,主存的分配以頁為單位;3.段頁式系統中,作業的地址結構包含三部分的內容: 段號 頁號 頁內位移量4.程序員

15、按照分段系統的地址結構將地址分為段號與段內位移量,地址變換機構將段內位移量分解為頁號和頁內位移量;5.為實現段頁式存儲管理,系統應為每個進程設置一個段表,包括每段的段號,該段的頁表始址和頁表長度。每個段有自己的頁表,記錄段中的每一頁的頁號和存放在主存中的物理塊號。長度1.頁的大小固定且由系統確定,把邏輯地址劃分為頁號和頁內地址兩部分,是由機器硬件實現的,因而一個系統只能有一種大小的頁面1.段的長度卻不固定,決定于用戶所編寫的程序,通常由編輯程序在對源程序進行編輯時,根據信息的性質來劃分地址表示1.分頁的作業地址空間是維一的,即單一的線性空間,程序員只須利用一個記憶符,即可表示一地址1.分段的作

16、業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址存取權限1.只有讀和寫1.有讀、寫和執行內存連續性1.物理內存不連續1.物理空間不連續,但段內連續優勢1.也可以實現程序和數據的共享,但沒有段模式方便易行1.易于實現段的共享,允許若干個進程共享一個或多個分段,且對段的保護也十分簡單易行三、分頁管理機制1、頁式管理的基本概念分頁機制支持虛擬存儲技術。在使用虛擬存儲的環境中,大容量的線性地址空間需要使用小塊的物理內存以及某些外部存儲空間來模擬。使用分頁時,每個端被劃分為頁面(通常每頁4KB),頁面存儲于物理內存或硬盤上,操作系統通過維護一個頁目錄和一些頁表來留意這些頁表信息

17、。2、頁表結構3、頁式管理的地址映射4、頁式管理要解決的一些問題1)如何標識一個頁是否位于內存中。2)當需要從若干個已經在內存中的邏輯頁中選擇一個淘汰掉,那么淘汰哪一個。3)若已經決定將某頁淘汰,但是發現此頁是一個臟頁(dirty page),即該頁被放置到內存中后,曾經被修改過,那么如何標識一個臟頁,又如何淘汰臟頁。4)從理論上來說,僅分配給該程序一個內存塊就可以使程序運行,這樣做會有什么后果?給一個程序分配多少個內存塊是合適的?分配給一個程序的內存塊數是固定的,還是隨著程序的執行,分配給程序動態變化的內存塊數?在程序執行之初,應該初始分配給程序多少個內存塊。5)對于較大的程序,以至于其頁表

18、本身的大小超過一個頁的大小時,如何解決頁表本身的存儲問題。6)系統中存在多個并發進程,每個進程都擁有一張頁表,所有的頁表加起來會占用很多內存空間,那么如何降低頁表所需的內存空間。四、分段管理機制1、分段管理的基本概念 分段提供了隔絕各個代碼、數據和堆棧區域的機制,因此多個程序(任務)可以運行在同一個處理器上而不會互相干擾。分段機制把處理器可尋址的線性地址空間劃分成一些較小的稱為段的受保護地址空間區域。為了定位指定段中的一個字節,程序必須提供一個邏輯地址,邏輯地址包括一個段選擇符和一個偏移量,段選擇符是一個段的唯一標識,同時還提供了段描述符表中一個數據結構的偏移量。線性地址空間與物理地址空間具有

19、相同的結構。相對于兩維的邏輯地址空間來說,它們兩者都是一維地址空間。虛擬地址空間可以包含最多16K個段,而每個端最長可達4GB,所以虛擬地址空間容量達到64TB(246)。線性地址空間和物理地址空間都是4GB(232)。實際上,如果禁用分頁機制,線性地址空間就是物理地址空間。2、分段管理的地址映射3、段式管理的段共享與保護五、段頁式管理機制1、段分段管理的基本概念2、段分段管理的地址映射六、Linux的內存管理機制未完待續.魚知水恩,乃幸福之源也。魚離不開水,人離不開親人和朋友,當你處于逆境和災難時,幫助你一臂之力,渡過難關的人,都是你的親人和朋友。吃水不忘挖井人,度過苦難,不能忘記援助過你的

20、人。知恩圖報,善莫大焉。一個人要想獲得幸福,必須懂得感恩。生活需要一顆感恩的心來創造, 一顆感恩的心需要生活來滋養。一飯之恩,當永世不忘。順境里給你幫助的人,不能全部稱作朋友,但是能夠在你逆境時依然愿意援助你,走出困境的人,一定是你要用一生去感謝和珍惜的人。唐代李商隱的晚晴里有這樣一句詩:天意憐幽草,人間重晚晴。久遭雨潦之苦的幽草,忽遇晚晴,得以沾沐余輝而平添生意。當一個人闖過難關的時候,一定要記住那些支撐你,陪你一起走過厄運的朋友和親人,這個世界誰也不虧欠誰,幫你是情分,不幫你是本分。如古人所說:淡看世事去如煙,銘記恩情存如血。學會感恩父母養育之恩,學會感恩朋友的幫助之情,生活里做一個有情有義的人。你要知道,父母,永遠是你最親近的人,是最愛你的人,不管他們的方法怎么錯誤?可是愛你的心,都是一樣的。千萬不要因為自己一時的私心,而忘記感恩。我們常常希望別人都對自己有情有義,可是想得到別人你真情,首先你必須先付出真情。你幫助別人,不要記在心里,別人幫助你,你要懂得感恩和感動,而不是當做理所當然。你要知道別人幫你是情分,不幫你是本分。侍父母,要孝順,對朋友,要真誠。不管你生活的精彩或者混沌,孝順父母,頤養天年。一父養十子,十子養一父。在這個美好的時代,中華很多的美德都在逐漸消失,做子孝

溫馨提示

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

評論

0/150

提交評論