Segmentation
分段(Segmentation) 使得記憶體的 logical 配置的看法與使用者一致。配置方式為單一段之間連續配置。OS 會替每個 process 準備 segment table :
用 Segment-table length register (STLR) 記錄各段的大小(Limit)。
用 Segment-table base register (STBR) 紀錄各段載入記憶體的起始位址(Base)。
segment 個數不多,OS 內約 10 幾個,segment 數目很少增減,為靜態配置。
優點 :
無 internal fragmentation。
支援 memory sharing 和 protection,且比 paging 容易實施(有的Page可能會涵蓋到不同需求的程式片段)。
可支援 dynamic loading 及 virtual memory 的製作。
segmentation 和 page 為兩獨立觀念,可同時使用
缺點 :
external fragmentation (但 segments 很少 allocated/de-allocated 所以還好)
記憶體存取時間較長。
需要額外硬體的支援。
http://mropengate.blogspot.com/2015/01/operating-system-ch8-memory-management.html