分段、分頁&&內存碎片、外存碎片


  關鍵詞: 分段、分頁、內存碎片、外存碎片


1、分段&&分頁:

分頁與分段都是磁盤的存儲單位。
(1)分頁:
①定義:在內存空間中,將內存空間划分為一個又一個大小相等的基本單位,稱為“塊”,也稱為“頁框”。將用戶程序的地址空間按照"塊"為基本單位划分成若干個大小相等的區域,這一個又一個的區域就稱為頁。 
 
②內存分配規則:以塊為單位進行存儲。每一頁存儲在指定的塊中,每一頁在計算機中可以不相鄰存儲, 可以存儲在不相鄰的頁框中。它是磁盤和內存之間傳輸數據塊的最小單位。
 (注意:大小不足一個頁也必須占據一個塊。這也是產生內存碎片的原因。)
 
(2)分段:
①定義:將用戶程序的地址空間按照自身的邏輯關系划分成若干個大小不等的區域,稱為“段”。每一個段有一個段名, 每一個段從0開始編址。一般而言,這個區域比分頁中的區域大,因此它可以存儲更多的內容,存儲更加完整的一段信息。
 
②內存分配規則:以段為單位進行分配,每個段在內存中占據連續空間,但各段之間可以不相鄰。
 
(3)分段與分頁的對比:
①分頁中的區域大小相等;分段中的則不等。
②分頁是信息的物理地址,磁盤和內存之間傳輸數據塊的最小單位;分段是信息的邏輯地址,它是相對於信息來划分的。
③分頁中作業的地址空間是一維的;給出一個地址,那么就能夠確定其頁號和頁內地址(頁的長度),因此就能夠找到相應的內容
  分段中作業的地址空間是二維的。需要通過段號和段內地址來確定。
分析:
   都是采用線性方式計算的,但是每一頁的長度是確定的,而每個段的長度是不同的。所以說分段是二維的,因為需要確定兩個變量段號和段的長度;而分頁是一維的,因為只需要確定頁號即可
④分頁允許存儲於不連續的區塊,因為每一頁就對應於一個塊,而每一頁是可以非連續存儲的,所以就可以了;
對於分段,每一段的所有內容必須存儲在連續的區域中,不同的段可以存儲在不連續的區域中。
⑤分頁對於用戶來說是不可見的,是系統自己確定的;分段對於用戶來說則是確定的
⑥分頁存儲會產生內存碎片,不會產生外存碎片;
   分段存儲不會產生內存碎片,會產生外存碎片。
 
注意:段頁式存儲:
首先進行分段,接着再對每一段進行分頁。此時每一段需要存儲於連續的區域,而因為此時以塊作為基本的存儲單位,所以在一定情況下,一個段就需要存儲在多個連續的塊中(除非段的長度==塊的長度),不同的段則可以存儲在不連續的存儲區域。
 

2、內存碎片&&外存碎片:

(1)性質不同:
①內存碎片:指的是已經被分配出去的,但是卻沒有被使用的內存空間。  因為基本存儲單位的限制
②外存碎片:指的是還沒有被分配的,但是由於太小或者是不連續,而導致不滿足要求,所以沒辦法被分配的內存空間
 
(2)存儲位置不同:
①內存碎片是存儲於已分配區域內部的
②外存碎片是存儲於未分配區域的
 
(3)狀態不同:
①內存碎片:其他進程沒辦法使用它,因為它被某一個進程占有
②外存碎片:其他進程沒辦法使用它,因為它可存儲的位置不連續或者是太小了
 

3、存儲方式與碎片的關系:

(1)分頁存儲會產生內存碎片、不會產生外存碎片。
(2)分段存儲:會產生外存碎片、不會產生內存碎片。
(3)段頁式存儲:產生內存碎片、外存碎片。
 
參考資料:


免責聲明!

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



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