將內存划分為若干個大小相等的分區,叫做塊;將邏輯空間划分出與塊大小一致的分區,叫做頁。作業運行時,通過地址重定位技術,實現頁與塊的對應。這樣就以頁的方式來管理存儲塊,就叫分頁式存儲管理。
在分配存儲塊時,會根據作業的邏輯地址的大小計算所需要多少個存儲塊,然后查找空閑塊並更新空閑塊的狀態為占用;回收存儲塊時,會將作業關聯的所有空閑塊的狀態設置為空閑。記錄空閑塊狀態的方法有兩種:位圖法和鏈表法。
在分配存儲塊之后,就在頁表中,增加頁和塊對應關系的記錄;同理,回收存儲塊時,就會刪除對應記錄。
訪問存儲塊時,就會根據邏輯地址的頁號,在頁表找到對應的塊號,然后再通過塊號計算出物理地址,找到對應的存儲塊。如下圖:
補充
頁表:記錄頁號與塊號對應關系的表,包含頁號和塊號兩個字段。
邏輯地址:由 “頁號” 和 “頁內地址” 組成。其中頁內地址是通過頁大小來決定。
例如:邏輯地址長度為 16 位,頁大小是 1kb (二的十次冪),那么頁內地址占低十位,高六位是頁號。如下:
在重定位存儲塊時,需要訪問頁表。為了加快重定位,就會通過快表(聯想存儲器,記錄常用的頁號和塊號的對應關系)來快速通過頁號找到對應的塊號。但是如果不能通過快表找到對應的塊號,那么就會按照查找頁表的方式來完成重定位。