请求分段存储管理方式
在请求分段系统中,程序运行之前,只需先调入若干个分段(不必调入所有的分段),便可启动运行。当所访问的段不在内存中时,可请求OS将所缺的段调入内存。
1.请求分段中的硬件支持
1.1段表机制
- 存取方式 :用于标识本分段的存取属性。R,R/W,W
- 访问字段A :用于记录本段被访问的频繁程度。
- 修改位M :表示该段在调入内存后是否被修改过。
- 存在状态位P :指示该段是否已调入内存。
- 增补位 :特有字段,表示该段运行中是否做过动态增长.
- 外存地址:用于指出该段在外存上的起始地址(盘块号)。
1.2缺段中断机构
发现运行进程所访问段尚未调入内存
由缺段中断机构产生一缺段中断信号
进入OS,由缺段中断处理程序将所需的段调入内存。
缺段中断同样在一条指令的执行期间产生和处理中断,一条指令执行可能产生多次缺段中断。但不会出现一条指令被分割在两个分段中或一组信息被分割在两个分段中的情况。
1.3地址变换机构
基于分段系统地址变换机构的基础
段调入内存
修改段表
再利用段表进行地址变换。
2.分段的共享和保护
分段在逻辑意义上划分,实现共享和保护都较方便。以下讨论具体实现:
2.1实现共享:共享段表
在内存中配置一张共享段表,每个共享段都占有一表项,记录如下内容:
共享计数count:
共享段为多个进程所需要