分區存儲管理是把主存儲器中的用戶區作為一個連續區或分成若干個連續區進行管理,每個連續區中可裝入一個作業。
固定分區存儲管理
預先把可分配的主存儲器空間分割成若干個連續區域,每個區域的大小可以相同,也可以不同。
OS通過"主存分配表"來管理主存。
該方法存在的問題是存在零頭
或稱為內碎片
,即已分配分區剩下的未用空間。
可變分區存儲管理
可變分區方式是按作業的大小來划分分區。當要裝入一個作業時,根據作業需要的主存量查看主存中是否有足夠的空間,若有,則按需要量分割一個分區分配給該作業;若無,則令該作業等待主存空間。
有兩種管理表格:已分配表和未分配表。
請求和釋放分區主要有四種算法:最佳適應算法
、最差適應算法
、首次適應算法
和循環首次適應算法
。
可變分區雖然讓主存分配更靈活,提高貯存利用率,但是每次回收和分配分區時可能產生一些不連續的無用空間,稱為碎片
,即使碎片和超過文件量,但不能被利用。
解決碎片化的空間的方法是讓已分配作業的分區向低地址端移動,使碎片拼接到一起。
可重定位分區管理
這種管理方式是為了解決碎片拼接后的各分區地址變化后的重定位問題。
分區保護
目的是防止未經核准的用戶訪問分區。
常見的兩種保護方式:
(1)上界/下界寄存器保護。
上界寄存器存放作業裝入地址,下界寄存器存放作業結束地址。
(2)基址/限長寄存器保護。