內存管理有哪幾種方式


內存管理有塊式管理,頁式管理,段式和段頁式管理。現在常用段頁式管理。

  塊式管理:把主存分為一大塊、一大塊的,當所需的程序片斷不在主存時就分配一塊主存空間,把程序片斷load入主存,就算所需的程序片度只有幾個字節也只能把這一塊分配給它。這樣會造成很大的浪費,平均浪費了50%的內存空間,但是易於管理。

        頁式管理:把主存分為一頁一頁的,每一頁的空間要比一塊一塊的空間小很多,顯然這種方法的空間利用率要比塊式管理高很多。

        段式管理:把主存分為一段一段的,每一段的空間又要比一頁一頁的空間小很多,這種方法在空間利用率上又比頁式管理高很多,但是也有另外一個缺點。一個程序片斷可能會被分為幾十段,這樣很多時間就會被浪費在計算每一段的物理地址上。

        段頁式管理:結合了段式管理和頁式管理的優點。將程序分成若干段,每個段分成若干頁。段頁式管理每取一數據,要訪問3次內存。

分頁和分段有什么區別(內存管理)

段式存儲管理是一種符合用戶視角的內存分配管理方案。在段式存儲管理中,將程序的地址空間划分為若干段(segment),如代碼段,數據段,堆棧段;
這樣每個進程有一個二維地址空間,相互獨立,互不干擾。
段式管理的優點是:
    沒有內碎片(因為段大小可變,改變段大小來消除內碎片)。但段換入換出時,會產生外碎片(比如4k的段換5k的段,會產生1k的外碎片) 頁式存儲管理方案是一種用戶視角內存與物理內存相分離的內存分配管理方案。
在頁式存儲管理中,將程序的邏輯地址划分為固定大小的頁(page),而物理內存划分為同樣大小的幀,
程序加載時,可以將任意一頁放入內存中任意一個幀,這些幀不必連續,從而實現了離散分配。
頁式存儲管理的優點是:沒有外碎片(因為頁的大小固定),但會產生內碎片(一個頁可能填充不滿)。
兩者的不同點:

目的不同:分頁是由於系統管理的需要而不是用戶的需要,它是信息的物理單位;分段的目的是為了能更好地滿足用戶的需要,它是信息的邏輯單位,它含有一組其意義相對完整的信息;

大小不同:頁的大小固定且由系統決定,而段的長度卻不固定,由其所完成的功能決定;

地址空間不同: 段向用戶提供二維地址空間;頁向用戶提供的是一維地址空間;

信息共享:段是信息的邏輯單位,便於存儲保護和信息的共享,頁的保護和共享受到限制;

內存碎片:頁式存儲管理的優點是沒有外碎片(因為頁的大小固定),但會產生內碎片(一個頁可能填充不滿);
     而段式管理的優點是沒有內碎片(因為段大小可變,改變段大小來消除內碎片)。但段換入換出時,會產生外碎片(比如4k的段換5k的段,會產生1k的外碎片)。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM