3.5.2 段表及地址变换过程_操作系统(第3版)_[共2页]
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 存储管理
83 成了整个用户的地址空间,如图3-28(b )所示。
这时,各个段的增长或缩短不会影响到其他的段,因为在它的地址空间里没有任何其他的东西可以阻挡。
图3-28 分页与分段式用户地址空间的区别
不难看出,在分段式存储管理时,要指示存储空间里的一个地址,必须提供两部分内容:段号和段内位移。
即分段式存储管理的用户程序中,逻辑地址应该是二维的:[段号,段内位移],这时的地址结构如图3-29(a )所示。
在图3-29(a )所示的32位的具体地址结构中,由于是各用16个二进制位表示段号s 和段内位移d ,因此表示允许用户的逻辑地址空间中最多可以有216个段,每段的最大长度是64KB ;对于图3-29(b )所示的32位的具体地址结构中,由于是用9个二进制位表示段号s ,用23个二进制位表示段内位移d ,因此表示允许用户的逻辑地址空间中最多可以有29个段,每段的最大长度是223=8192KB 。
图3-29 分段式存储管理的地址结构
3.5.2 段表及地址变换过程
实施分段式存储管理时,系统要为每个用户作业设置一个段表,用于记录各段在内存中的存放信息。
逻辑空间中有多少段,段表里就有多少个表项。
每个表项通常包括的信息有段号、段长、该段在内存的基址(即起始地址)等。
为了能够完成地址变换,硬件需要提供一个段表基址寄存器。
每当重新调度时,就把调度到的作业的段表起始地址及段表长度(即段表中表项的个数)放入寄存器中,从而达到映射不同作业的目的。
图3-30给出了分段式存储管理时的地址转换过程,具体步骤如下。
s d d
s。