windows記憶體管理方式主要分為:段式管理、頁式管理、段頁式管理。
頁式管理:頁式管理的基本原理將各程序的虛擬空間劃分成若干個長度相等的頁(page),頁式管理把記憶體空間按頁的大小劃分成片或者頁面(page frame),然後把頁式虛擬位址與記憶體位址建立一一對應頁表,並用相應的硬體位址變換機構,來解決離散位址變換問題。頁式管理採用請求調頁或預調頁技術實現了內外存儲存器的統一管理。 其優點是沒有外碎片,每個內碎片不超過頁大小(空間浪費小)。乙個程式不必連續存放。便於改變程式 用空間的大小(主要指隨著程式執行而動態生成的資料增多,要求位址空間相應增長,通常由系統呼叫完成而不是作業系統自動完成)。 缺點:程式全部裝入記憶體,要求有相應的硬體支援。例如位址變換機構,缺頁中斷的產生和選擇淘汰頁面等都要求有相應的硬體支援。這增 了機器成本。增 了系統開銷,例如缺頁中斷處理機,請求調頁的演算法如選擇不當,有可能產生抖動現象。 雖然消除了碎片,但每個作業或程序的最後一頁內總有一部分空間得不到利用,如果頁面較大,則這一部分的損失仍然較大。
段式管理:基本思想就是把程式按內容或過程(函式)關係分成段,每段有自己的名字。乙個使用者作業或程序所包含的段對應乙個二維線形虛擬空間,也就是乙個二維虛擬儲存器。段式管理程式以段為單位分配記憶體,然後通過位址影射機構把段式虛擬位址轉換為實際記憶體實體地址。 程式通過分段(segmentation)劃分為多個模組,如代 段、資料段、共享段。其優點是:可以分別編寫和編譯。 可以針對不同型別的段採取不同的保護(儲存保護容易)。 可以按段為單位來進行共享(儲存共享容易),包括通過動態鏈結進行代 共享(能動態連線)。
段頁式管理:為了實現段頁式管理,系統必須為每個作業或程序建立一 段表以管理記憶體分配與釋放、缺段處理、儲存保護及位址變換等。另外,由於乙個段又被劃分成了若干頁,每個段又必須建立一 頁表以把段中的虛頁變換成記憶體中的實際頁面。顯然,與頁式管理時相同,頁表中也要有相應的實現缺頁中斷處理和頁面保護等功能的表項。另外,由於在段頁式管理中,頁表不再是屬於程序而是屬於某個段, 此,段表中應有專項指出該段所對應頁表的頁表始址和頁表長度。 為段頁式管理是段式管理的頁式管理方案結合而成的,所以具有它們二者的優點。但反過來說,由於管理軟體的增 ,複雜性和開銷也就隨之增 了。另外,需要的硬體以及 用的記憶體也有所增 。更重要的是,如果不採用聯想暫存器的方式提高cpu的訪內速度,將會使得執行速度大大下降。
**至微博
**至微博
記憶體管理方式
記憶體管理方式 塊 段 頁 段頁 頁式管理 頁式管理的基本原理將各程序的虛擬空間劃分成若干個長度相等的頁 page 頁式管理把記憶體空間按頁的大小劃分成片或者頁面 page frame 然後把頁式虛擬位址與記憶體位址建立一一對應頁表,並用相應的硬體位址變換機構,來解決離散位址變換問題。頁式管理採用請...
windows記憶體管理方式以及優缺點
windows記憶體管理方式 頁式管理,段式管理,段頁式管理 頁式管理 將各程序的虛擬空間 邏輯位址 劃分為若干個長度相等的頁,業內管理把記憶體空間 物理記憶體 按照頁的大小劃分為片或者頁面,從而實現了離散分配,然後把頁式虛擬位址和記憶體位址建立一一對應的頁表,並用相應的硬體位址變換機構來解決離散位...
autoRelease記憶體管理方式
autorelease實際是把release的呼叫延遲了,對於每乙個autorelease,系統只是把該object放入了當 前的autorelease pool中,當該pool被釋放時,該pool中的所有object會被呼叫release。autorelease pool釋放條件 1,手動,2,引...