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


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

  段式存儲管理是一種符合用戶視角的內存分配管理方案。在段式存儲管理中,將程序的地址空間划分為若干段(segment),如代碼段,數據段,堆棧段;這樣每個進程有一個二維地址空間,相互獨立,互不干擾。段式管理的優點是:沒有內碎片(因為段大小可變,改變段大小來消除內碎片)。但段換入換出時,會產生外碎片(比如4k的段換5k的段,會產生1k的外碎片)

  頁式存儲管理方案是一種用戶視角內存與物理內存相分離的內存分配管理方案。在頁式存儲管理中,將程序的邏輯地址划分為固定大小的頁(page),而物理內存划分為同樣大小的幀,程序加載時,可以將任意一頁放入內存中任意一個幀,這些幀不必連續,從而實現了離散分離。頁式存儲管理的優點是:沒有外碎片(因為頁的大小固定),但會產生內碎片(一個頁可能填充不滿)。

兩者的不同點:

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

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

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

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

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


免責聲明!

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



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