作業系統的空閒記憶體管理

2022-09-21 15:42:10 字數 452 閱讀 9472

動態分配記憶體時,作業系統必須對空閒記憶體進行管理。

使用點陣圖時,記憶體可能被劃分為很多個分配單元,每個分配單元對應點陣圖中的一位,0 表示空閒,1 表示占用。

使用點陣圖時,關鍵問題在於分配單元大小的設計。

分配單元越小,越可以精細分配記憶體。但這也意味著點陣圖越大,消耗的空間越大。

使用鍊錶時,鍊錶中的乙個節點包括乙個程序或者兩個程序間的一塊空閒區域。

如上圖,鍊錶中每個節點都包含以下域:

段鍊錶可以使用雙向鍊錶,在設計時顯然會更加方便。

有幾種演算法可以為建立的執行緒分配記憶體:

作業系統記憶體管理

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

作業系統記憶體管理

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

作業系統記憶體管理

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