使用者:使皓月何夕/基地址與邊界地址
外觀
您所提交的草稿仍需改善。在2025年5月7日由Pathfinbird (留言)審閱。
如何改善您的草稿
| ![]() |
![]() | 此條目可參照英語維基百科相應條目來擴充。 |
在計算機領域,基地址-邊界地址(base and bounds)是指一種簡單的虛擬內存實現方式。這種內存管理方法通過使用一個或少數幾組被稱為基址寄存器和界限寄存器(base and bounds registers)的處理器寄存器組,來控制對計算機內存的訪問。
在最簡單的實現中,每個用戶進程被分配一段連續的物理內存空間。操作系統將這段內存的起始物理地址加載到基址寄存器(base register)中,並將其大小加載到界限寄存器(bound register)中。程序看到的虛擬地址會與基址寄存器的值相加,生成物理地址。系統還會通過界限寄存器的值檢查地址是否越界,防止進程訪問超出其分配的內存段。
操作系統不受硬件限制,可以訪問全部物理內存。
該技術通過隔離不同進程的內存段,防止進程間非法訪問或修改內存。但它無法阻止進程自身內部的錯誤訪問(例如野指針)。此外,由於程序的內存重定位僅需修改基址和界限寄存器,因此內存中程序的移動變得便捷。
部分計算機系統將此機制擴展為多段式,例如UNIVAC 1100系列計算機中將指令和數據分為i bank與d bank,或DEC PDP-10系統將內存劃分為用戶進程可讀寫的"低"段和用於共享代碼的只讀"高"段。
1987年蘋果公司(Apple Computer)的MultiFinder是該技術更現代的應用。程序在資源分支(resource fork)中附帶聲明的內存需求值,操作系統嘗試將程序移至具有該空閒量的內存區域。用戶也可通過"Get Info"對話框調整此數值,通常用於為Photoshop等需要大量內存的程序增加配額。
分段式虛擬內存是該機制向大量段的進一步泛化。通常段表存儲在內存中而非寄存器中。