一、基本思想
分段存储器的逻辑地址由两部分组成 段号:单元号
注:段号加单元号是用户自己设置,而页号加单元号由系统自己切割的。
段式存储管理基于可变分区存储管理实现,一个进程要占用多个分区。
硬件需要增加一组用户可见的段地址寄存器(代码段、数据段、堆栈段、附加段),共地址转换使用
段式存储管理需要增加设置一个段表,每个段占用一个段表项,包括:段始址,段限长,以及存储保护、可移动、可扩充等标志位。
二、地址转换
三、段的共享
不同进程段表中的项指向同一个段基址来实现,对共享段的信息必须进行把平湖,如规定只能读出不能写入,不满足保护条件则产生保护中断,不论是代码段还是数据段,都没要求段号相同
四、段式虚拟存储管理
1、段式虚拟存储管理的基本思想
在进程装入时,把进程的所有分段都存在辅存中,进程运行时先把当前需要的一段或几段装入主存,在执行过程中访问到不在主存的段时再把它们动态装入
段式虚拟存储管理中段的调进调出是由OS自动实现的。
与段覆盖技术不同,段覆盖技术是用户控制的主存扩充技术,OS不感知。
2、段式虚拟存储管理的段表扩充
段表的扩充
特征位:00(不在内存)01(在内存)11(共享段)
存取权限:00(可执行)01(可读)11(可写)
扩充位:0(固定长)1(可扩充)
标志位:00(未修改)01(已修改)11(不可移动)
3、段式虚拟存储管理的地址转换
五、段页式存储管理
1、段页式存储管理的基本思想
*段式存储管理基于页式存储管理实现的一种存储管理模式
*每一段不必占据连续的存储空间,可存放在不连续的主存页架中
*能够扩充位段页式虚拟存储管理,装入部分段或装入段中部分页面即可运行
2、段页式存储管理的段表与页表
页表没有特殊的,而段表记录的是页表长和页表的起始地址
3、段页式存储管理的地址转换
4、段页式虚拟存储管理的地址转换
来源:CSDN
作者:CNMNMSL1
链接:https://blog.csdn.net/CNMNMSL1/article/details/104005315