而程式還存在一種分段結構:
乙個程式由若干程式段(模組)組成,例如由乙個主程式段、若干子程式段、陣列段和工作區段所組成
每個段都從「0」開始編址,每個段都有模組名,且具有完整的邏輯意義。
段與段之間的位址不連續,而段內位址是連續的。使用者程式中可用符號形式(指出段名和入口)呼叫某段的功能,程式在編譯或彙編時給每個段再定義乙個段號。
可見這是乙個二維位址結構,分段方式的程式被裝入實體地址空間後,仍應保持二維,這樣才能滿足使用者模組化程式設計的需要。
具體分段圖如下所示:
在分頁式儲存管理中,頁的劃分——即邏輯位址劃分為頁號和單元號是使用者不可見的,連續的使用者位址空間將根據頁框架(塊)的大小自動分頁;而在分段式儲存管理中,位址結構是使用者可見的,即使用者知道邏輯位址如何劃分為段號和單元號,使用者在程式設計時,每個段的最大長度受到位址結構的限制,進一步,每乙個程式中允許的最多段數也可能受到限制.
例如,pdp-11/45的段址結構為:段號佔3位,單元號佔 13 位,也就是乙個作業最多可分8段,每段的長度可達 8k 位元組。
作業系統儲存管理之分段儲存
從固定分割槽到動態分割槽,從分割槽方式到分頁方式發展提高了主存空間利用率。而分段儲存管理的引入,則滿足使用者 程式設計師 程式設計和使用上的要求,這些要求其它各種儲存管理技術難以滿足。在分頁式儲存管理中,頁的劃分 即邏輯位址劃分為頁號和單元號是使用者不可見的,連續的使用者位址空間將根據頁框架 塊 的...
作業系統13 儲存器管理之分頁儲存
四.位址變換機構 五.訪問記憶體的有效時間 六.兩級和多級頁表 七.反置頁表 八.參考資料 連續儲存會產生許多的 碎片 雖然 緊湊 方法可以將許多碎片拼接可以的大塊空間,但需為之很大的開銷。如果允許將乙個程序直接分散的裝入到許多不相鄰的分割槽中,便可以充分利用記憶體空間。基於這一思想,產生了離散分配...
作業系統儲存管理
分段單元 分頁單元 邏輯位址 段基址 32位偏移量 線性位址 虛擬位址,0 4gb 實體地址 6個段暫存器 cs code段 ss stack段 ds data段 es fs gs 通用段暫存器 16位的段選擇符就存放在以上段暫存器中 線性位址 4gb 被分成以固定長度為單位的組,即頁。頁內部連續的...