通過學習記憶體分配的方式我們知道,使用者的記憶體檢視與實際的實體記憶體不一樣。這同樣適用於程式設計師的記憶體檢視。
事實上,對作業系統和程式設計師來說,按物理性質來處理記憶體是不方便的。如果硬體可以提供記憶體機制,以便將程式設計師的記憶體檢視對映到實際的實體記憶體,系統將有更多的自由來管理記憶體,而程式設計師將有一個更自然的程式設計環境。
分段提供了這種機制。
分段的基本方法
程式設計師是否認為記憶體是一個位元組的線性陣列,有的包含指令而其他的包含資料?大多數程式設計師會說“不”。相反,程式設計師通常願意將記憶體看作一組不同長度的段,這些段之間並沒有一定的順序(圖 1)。
圖 1 程式設計師眼中的程式