在“操作系统概论-存储管理”中已经讲解了单用户存储管理,固定用户存储管理,可变分区存储管理,页式虚拟存储管理等内容。以及它们一步一步改进的过程,下面主要说一下页式存储,段式存储和段页式存储的区别与关系。
页式存储:
将一个进程的地址空间划分成若干个大小相等的区域,称为页。相应地,将主存空间划分成与页相同大小的若干个物理块。在为进程分配主存时,将进程中若干个页分别装入多个不相邻的块中。
因为块的大小=页的大小,所以块内位移量=页内位移量
所以只需求出块号即可
页式存储管理的地址变换
过程:根据逻辑地址中的页号与页表长度寄存器对比,如果页号大于等于页表长度寄存器,则访问越界,产生越界中断。若未出现越界,则根据页表寄存器中的始址和页号计算页表项中的位置,得到该页的物理块号,装入物理地址寄存器中,页内地址不变。下面的变化后过程类似!
段式存储:
在分段存储管理方式中,作业的地址空间被划分成若干个段,每个段是一组完整的逻辑信息,如有主程序段,子程序段,数据段及堆栈段等,每个段都有自己的名字,都是从0开始编址的一段连续的地址空间,各段长度不等。
因为每个段长度不等,固需要使用基址加段内地址,确定物理地址
段式存储管理的地址变换
对比:
段页式存储:
先将整个主存划分成大小相等的存储块,将用户程序按程序的逻辑关系分为若干个段,并为每个段赋予一个段名,再将每个段划分成若干页,以页为单位离散分配。
段页式存储管理的地址变换
总结:
页式:
优点是页表对程序员来说是透明的,地址变换快,调入操作简单;
缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。
段式:
优点是消除了内存零头,易于实现存储保护,便于程序动态装配;
缺点是调入操作复杂,地址变换速度慢于页式存储管理。
段页式:
1,段页式管理将段式和页式两种方式相结合,互相取长补短,充分发挥了它们的优点。
2,段页式虚拟存储器管理方案具有空间浪费小,存储共享容易,存储保护容易,能动态连接的特点。
3,但由于管理软件的增加,复杂性和开销也随之增加,需要的硬件及占用的内容也有所增加,使得执行速度大大下降。
对于存储管理来说,虽然存储的方式很多,但是每一种存储方式都是上一种的改进,理解它们间的关系(织网),这些知识不难掌握!