操作系统存储管理
存储管理的对象时主存(内存)。存储管理的主要功能包括回收主存空间、提高主存利用率、扩充主存、对主存信息实施有效保护。
1. 基本概念
1.1 存储器的机构
一般存储器的机构有“寄存器-主存-外存”结构和“寄存器-缓存-主存-外存”结构。如下图所示,存储组织的功能时在存储技术和CPU寻址技术允许的范围内组织合理的存储结构,使得各个层次的存储器都处于均衡的繁忙状态。
(一)虚拟地址。对于程序员来说,数据的存放地址是由符号决定的,并不是主存中的真实地址。虚拟地址也称为相对地址、程序地址、逻辑地址
(二)地址空间。虚拟地址的空间称为虚拟地址空间、相对地址空间或逻辑地址空间,相对地址经过地址重定向转换为绝对地址空间,也称物理地址空间。
(三)存储空间。
1.2 地址重定位
地址重定位是把逻辑地址变为主存物理地址的过程。在可执行文件装入时,需要解决可执行文件地址(指令和数据)与主存地址的对于关系,这个个由操作系统的loader和地址重定位机构来完成。地址重定位分为静态地址重定位和动态地址重定位。
(一)静态地址重定位。程序装入主存时完成逻辑地址到物理地址的变换,在程序执行期间将不会再变化。无需硬件的支持,早期操作系统都用这种重定位方案。缺点是必须给作业分配一个连续的存储空间,作业执行期间不能扩充空间,不能在主存中移动,多个作业难以共享主存中的同一程序的副本和数据。
(二)动态地址重定位。在程序允许期间完成逻辑地址到物理地址的变换。依赖硬件地址变换机构来完成,如基地址寄存器BR。优点是作业执行期间程序和数据可以换入和换出主存,解决主存空间不足问题;可在主存中移动,把主存中的碎片集中起来,可以充分利用空间;不必连续的主存空间,可利用小的主存块;可以实现多作业数据共享。
2. 存储管理方案
存储管理方法是解决多用使用主存的问题。
2.1 分区存储管理
分区存储管理是早期的存储管理方案,把主存的用户区划分为若干个区域,每个区域分配给一个作业使用,并限定它们只能在自己的区域中运行。根据分区的划分方式不同,可分为固定分区、可变分区和可重定位分区。
标题 | 描述 |
---|