段式管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27305031/article/details/53525286

1.段式存储管理的基本思想:把程序按内容或过程(函数)关系分为段,每段有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性的虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,通过地址映射机构把段式虚拟地址转换为实际的内存物理地址
2.段式管理把一个进程的虚地址空间设计成而为结构,即段号S和段内相对地址W。段式管理中段号和段号之间无循序关系,段的划分长度也是不固定的,一个进程中的程序和数据可被划分为主程序段,子程序段,数据段和工作区段。
每个段是一个首地址为零,连续的一维的线性空间。根据需要段可以动态增长。对段式虚地址空间访问包括两个部分:段名和段内地址。
3.段式管理中以段为单位分配内存,每段分配一个连续的内存区。同一进程所包含的各段之间不要求连续。
4.在段的调入时,所需的淘汰段数和段的大小有关,可能在调入某个大段时,需要淘汰几个小段的情况。但是,任何一个段长都不允许超过内存可用区长度,否则会造成内存分配出错。除了初始分配之外,段的动态分配是在CPU所要访问的指令和数据不再内存中时所产生的缺段中断的情况下发生的。因此,段的淘汰和置换实际上是缺段中断处理过程中的一部分。
5.段式地址转换
!段表。在进行初始化内存分配之前,根据用户要求的内存大小为一个作业或进程建立一个段表,以实现动态地址变换和缺段中断处理及存储保护等。
6.动态的地址转换
在内存中给出一块固定的区域放置段表,当某进程开始执行时,管理程序首先把该进程的段表起始位置放在段表地址寄存器中,通过访问段表寄存器,管理程序得到该进程的段表始址从而访问段表。段式管理时的地址变换过程也必须经过二次以上的内存访问。
7.段的共享,只要用户使用相同的段名,就可在新的段表中填入已存在内存之中的段的起始地址,并给以适当的读写控制权,就可以共享一个逻辑上完整的内存段信息。

没有更多推荐了,返回首页