操做系統——段式存儲管理、段頁式存儲管理

1、段式存儲管理

一、分段

進程的地址空間:按照程序自身的邏輯關係劃分爲若干個段,每一個段都有一個段名(在低級語言中,程序員使用段名來編程),每段從0開始編址。程序員

內存分配規則:以段爲單位進行分配,每一個段在內存中佔連續空間,但各段之間能夠不相鄰編程

 分段系統的邏輯地址結構由段號(段名)段內地址(段內偏移量)所組成。數據結構

 

 

 二、段表

每個程序設置一個段表,放在內存,屬於進程的現場信息

spa

三、地址變換

 

 四、段的保護

越界中斷處理
      進程在執行過程當中,有時須要擴大分段,如數據段。因爲要訪問的地址超出原有的段長,因此發越界中斷。操做系統處理中斷時 ,首先判斷該段的「擴充位」,如可擴充,則增長段的長度;不然按出錯處理操作系統

缺段中斷處理3d

檢查內存中是否有足夠的空閒空間
   ①如有,則裝入該段,修改有關數據結構,中斷返回
   ②若沒有,檢查內存中空閒區的總和是否知足要求,是則應採用緊縮技術,轉 ① ;不然,淘汰一(些)段,轉①blog

五、段的動態鏈接

爲什麼要進行段的動態連接?
大型程序由若干程序段,若干數據段組成
進程的某些程序段在進程運行期間可能根本不用
互斥執行的程序段沒有必要同時駐留內存
有些程序段執行一次後再也不用到
靜態連接花費時間,浪費空間

在一個程序運行開始時,只將主程序段裝配好並調入主存。其它各段的裝配是在主程序段運行過程當中逐步進行的。每當須要調用一個新段時,再將這個新段裝配好,並與主程序段鏈接。
頁式存儲管理:難以完成動態連接,其邏輯地址是一維的進程

 

六、信息的保護與共享

這裏主要與頁式存儲管理進行一下對比。內存

分段比分頁更容易實現信息的共享和保護。硬件

 

 純代碼舉例:好比,有一個代碼段只是簡單的輸出「Hello World!」。

七、頁式系統與段式系統的對比

補充:

段長是可變的,頁的大小是固定的。

分段存儲:段內地址W字段溢出將產生越界中斷。

分頁存儲:段內地址W字段溢出會自動加入到頁號中。

 八、總結

 

2、段頁式存儲管理

一、分頁、分段的有缺點分析

 

 二、基本思想

用戶程序劃分:按段式劃分(對用戶來說,按段的邏輯關係進行劃分;對系統講,按頁劃分每一段)

邏輯地址:

 內存劃分:按頁式存儲管理方案
 內存分配:以頁爲單位進行分配

 

 三、邏輯地址結構

 

 四、段表頁表

 五、地址轉換

 

 

六、評價

優勢:
保留了分段和請求分頁存儲管理的所有優勢
提供了虛存空間,能更有效利用主存

缺點:
增長了硬件成本
系統複雜度較大

 

七、總結

相關文章
相關標籤/搜索