作業系統 記憶體管理

2021-09-26 03:34:45 字數 1433 閱讀 8124

1.記憶體管理術語:

a.頁:乙個固定長度的資料塊,儲存在二級儲存器中(如磁碟)。資料也可以臨時複製入記憶體中的頁框中。

b.段:乙個變長的記憶體塊,儲存在二級儲存器中。整個段可以臨時複製到記憶體的乙個可用區域內(分段儲存),或者可以將乙個段分為許多頁,將每頁單獨複製到記憶體中(分段和分頁相結合,即段頁式儲存)。

2.記憶體管理的需求:

a.重定位:即在記憶體中的程式換出記憶體後,下次再載入進記憶體時,需要重新定位其在記憶體中的位置。

b.保護:每個程序都應該受到保護,以免被其它程序有意或無意干涉。因此,該程序以外的其它程序的程式不能未經授權地訪問(進行讀操作或者寫操作)該程序的記憶體單元。還需要注意一點是:記憶體保護的需求必須由處理器(硬體)來滿足,而不是由作業系統(軟體)滿足!這是因為作業系統不能**程式可能發生的所有記憶體訪問(因為程式在記憶體中可能發生重定位,這時就改變了原來在記憶體中的位置),即使可以**,提前審查每個程序中可能存在的記憶體違法訪問也是非常費時的。因此,只能在指令訪問記憶體時動態的來判斷這個記憶體訪問是否違法(訪問資料或跳轉)。為實現這一點,處理器硬體必須具備這個能力。

c.共享:任何保護機制都必須具有一定的靈活性,以允許多個程序訪問記憶體的同一部分。

d.邏輯組織:計算機系統中的記憶體總是被組織成線性的(或者一維的)位址空間,並且位址空間是由一系列位元組或字組成的。外部儲存器(簡稱外存)的物理層上也是按類似方式組織的。

e.物理組織:計算機儲存器至少被組織成兩級,成為記憶體和外存。記憶體提供快速的訪問,成本也相對比較高,並且記憶體是易失性的,也就是說它不能提供永久儲存。外存比記憶體慢而且便宜,它通常是非易失性的。因此,大容量的外存可以用於長期儲存程式和資料,而小的記憶體則用於儲存當前的程式和資料。在兩級儲存器間移動資訊的任務是一種系統責任,而該任務恰恰就是儲存管理的本質所在。

6.與記憶體相關的安全問題:記憶體和虛擬記憶體是容易受到安全威脅的系統資源,因此需要採取一些安全對策來保護它們。最明顯的安全需求是「防止程序記憶體中的內容遭受未經授權的訪問」。如果程序沒有宣告共享其部分記憶體,則其他程式不得訪問這部分記憶體內容。如果程序宣告某部分記憶體可以被指定程式共享,那麼作業系統的安全服務必須保證只有這些指定程序可以訪問這部分記憶體。以下介紹「緩衝區溢位攻擊」:

7.總結:

記憶體管理是作業系統中最重要、最複雜的任務之一。記憶體管理把記憶體看做是乙個資源,可以分配給多個活動程序,或者由多個活動程序共享。為了有效地使用處理器和i/o裝置,需要在記憶體中保留盡可能多的程序。此外,程式設計師在進行程式開發時最好能不收程式大小的限制。

記憶體管理的基本工具是分頁和分段。採用分頁技術,每個程序被劃分成相對比較小的、大小固定的頁。採用分段技術可以使用大小不同的塊。還可以在乙個單獨的記憶體管理方案中把分段和分頁技術結合起來使用。

作業系統記憶體管理

作業系統記憶體管理 一 程序的虛擬位址空間 每個程序都被賦予自己的虛擬位址空間,對於32位程序來說,這個位址空間為4g,因此程序中的位址可以為0x00000000至0xffffffff之間的任何乙個值。其中4g空間中的低區的2g空間留給程序使用,而高區的2g空間則留給系統使用。在windows200...

作業系統記憶體管理

作業系統記憶體管理一 程序的虛擬位址空間 每個程序都被賦予自己的虛擬位址空間,對於 32位程序來說,這個位址空間為 4g,因此程序中的位址可以為 0x00000000 至0xffffffff 之間的任何乙個值。其中 4g空間中的低區的 2g空間留給程序使用,而高區的 2g空間則留給系統使用。在win...

作業系統記憶體管理

記憶體,毫無疑問是最重要的資源,顯然,作業系統對記憶體的管理我必須清楚。這裡主要介紹了分頁管理和分段管理。1.頁式管理 a.頁式管理的基本思想 打破儲存分配的連續性 將邏輯上連續的使用者程式對映到離散的記憶體塊 使用者程式與記憶體空間被劃分為若干等長的區域 邏輯頁 與 物理頁 使用者程式的劃分由系統...