存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上来扩充主存。为此存储管理应具有内存分配、地址映射、内存扩充和内存保护等功能。
1.内存分配
内存分配的主要任务是为每道程序分配内存空间,使它们各得其所,提高存储器的利用率,以减少不可用的内存空间。在程序运行完后,应立即收回它所占有的内存空间。
操作系统在实现内存分配时,可采取静态和动态两种方式。在静态分配方式中,每个作业的内存空间是在作业装入时确定的。在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”;在动态分配方式中,每个作业所要求的基本内存空间,也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在主存中“移动”。
2.地址映射
一个应用程序经编译后,通常会形成若干个目标程序。这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其他地址都是相对于起始地址计算的;由这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”或“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。在多道程序环境下,每道程序不可能都从“0”地址开始装入内存,这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。为了使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。(www.xing528.com)
3.内存扩充
由于物理内存的容量有限,它是非常宝贵的硬件资源,它不可能做得太大,因而难于满足用户的需要,这样势必影响到系统的性能。在存储管理中的主存扩充并非是增加物理主存的容量而是借助于虚拟存储技术,从逻辑上去扩充主存容量,使用户所感觉到的主存容量比实际主存容量大得多。换言之,它使主存容量比物理主存大得多,或者是让更多的用户程序能并发运行。这样既满足了用户的需要,改善了系统性能,又基本上不增加硬件投资。
4.内存保护
内存保护的主要任务,是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。一种比较简单的内存保护机制,是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。