存储器管理-分段存储管理

存储器管理-分段存储管理

分段存储管理方式:分段存储管理方式引入的需求:

1.方便编程。

2.信息共享:在实现对程序和数据的共享时,是以信息的逻辑单位为基础的,而段可以是信息的逻辑单位。

3.信息保护:同样是以信息的逻辑单位为基础的,而且是经常以一个过程,函数或文件为基本单位进行保护的。

4.动态增长。

5.动态链接:为了提高内存的利用率,系统只将真正要运行的目标程序装入内存,也就是说,动态链接在作业运行之前,并不是把所有的目标程序段都链接起来。当程序要运行时,首先将主程序和它立即需要用到的目标程序装入内存,即启动运行。而在程序运行过程中,当需要调用某个目标程序时,才将该段(目标程序)调入内存并进行链接。可见,动态链接要求的是以目标程序(即段)作为链接的基本单位。因此,分段存储管理方式非常适合于动态链接。

1.分段:进程的地址空间按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名,每段从0开始编址。以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻。编译程序会将段名转换为段号。

2.分段系统的逻辑地址可分为段号(段名),段内地址(段内偏移量).段号的位数决定了每个进程最多可以分为几段,段内地址的位数决定了每个段的最大长度是多少。

3.段表:程序分多少段,各段离散地装入内存,为了保证程序能正常运行,就必须能从物理内存中找到各个逻辑段的存放位置,为此需为每个进程建立一张段映射表,简称“段表”。

每个段对应一个段表项,其中记录了该段在内存中的起始位置(基址)和段的长度;各个段表项的长度是相同的。段号可以是隐含的,不占存储空间。

地址变换过程:在进行地址变换时,系统将逻辑地址中的段号与段表长度 TL 进行比较。若 S > TL ,表示段号太大,是访问越界,于是产生越界中断信号。若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的起始地址。然后,再检查段内地址 d 是否超过该段的段长 SL 。若超过,即 d>SL ,同样发出越界中断信号。若未越界,则将该段的基址 d 与段内地址(位移量W)相加,即可得到要访问的内存物理地址。

相关推荐

吃饭快 VS 吃饭慢的人,到底哪个更健康?
365游戏大厅网址

吃饭快 VS 吃饭慢的人,到底哪个更健康?

📅 07-02 👍 560
90级的人物把一级法宝修到9层要多久?
365游戏大厅网址

90级的人物把一级法宝修到9层要多久?

📅 07-07 👍 11
呆河马和河马王的区别 呆河马和河马王哪个强
365bet足球在线

呆河马和河马王的区别 呆河马和河马王哪个强

📅 07-01 👍 821