段式管理
1、段式管理的基本思想
段式存储管理中以段为单位分配内存,每段分配一个连续的内存区,但各段之间不要求连续,内存的分配和回收类似于动态分区分配,由于段式存储管理系统中作业的地址空间是二维的,因此地址结构包括两个部分:段号和段内位移
2、段的中断处理过程算法如下:
算法FOLD(新段x的长度)
BEGIN{
if(内存中的空闲区<x){
if(内存中空闲区总和<x){
按FIFO、LRU等算法淘汰老段;
}else{
合并空间区形成不小于x段的空闲区;
}
}
为x段分配内存空闲区;
将x段调入内存并改写段表;
RETURN;
END;
}
3、段式管理地址变换过程
在段式管理地址变换过程中,和页式变换基本相同,先要为运行的进程建立一个段表
段表包括:段号、段长、存储权限、状态、起始地址、修改位、增补位
4、段的共享与保护
在段式系统中,分段的共享是通过两个作业的段表中相应表目都指向被共享部分的同一个物理副本来实现的。
因为段是一个完整的逻辑信息,所以可以共享,但是页不完整,难以实现共享。
不能修改的过程称为纯过程或可重入过程。这样的过程和不能修改的数据是可以共享的,而可修改的程序和数据则不能共享。
5、段式管理的特点
优点: 1、提供了内外存统一管理的虚拟实现方案
2、段式虚存每次交换的是一个程序段或数据段
3、在段式管理中,段长可以根据需要动态扩充
不足: 1、要求更多的硬件支持,提高了机器的成本
2、由于在内存空闲区管理方式上与分区式管理相同,因而存在碎片问题
3、每段的长度受内存可用空闲区大小的限制
6、段页式存储管理
是分段和分页的两种技术结合的结果,综合了二者的优点 一个逻辑地址用三个参数表示:段号S、页号p、页内地址偏移量d
若运行进程访问虚地址V(S,p,d),在没有相关存储器情况下,地址转换过程如下:
(1)查段表
(2)查页表
(3)取得页架号之后拼接,形成绝对地址