操作系统内存管理一(4)基本分段存储管理
根据王道2024
基本特点和优势:
满足方便编程、信息保护和共享、动态增长、动态链接等多方面需要
一、分段
-
按用户进程中的自然段划分逻辑空间
-
段内要求连续,段间不要求连续
-
段号和段内偏移量时显式提供给用户的
二、段表
- 每个进程都有一个逻辑空间与内存物理空间映射的段表
段表结构:
三、地址变换机构
段表寄存器
存放段表始址F和段表长度M
地址变换过程:
-
从逻辑地址A中取出前几位为段号S,后几位为段内偏移量W
-
比较段号S和段表长度M,若S≥M,则产生越界中断;反之继续执行
-
段表中段号S对应的段表项地址=段表始址F+段号*段表项长度,取出该段表想前几位得到段长C,若W≥C,则产生越界中断;反之继续执行
-
取出段表项中的始址b,计算E=b+W,得到物理地址E去访问内存
四、段的共享与保护
段的共享:
两个作业的段表项指向被共享的段的同一个物理地址(物理副本)
不能修改的代码和数据可以共享,可修改的代码和数据不能共享
保护方式:
-
存取控制保护
-
地址越界保护(分页只需判断页号,不需要判断页内偏移)
-
将逻辑地址的段号>段表寄存器中的段表长度,超过则产生越界中断
-
再将逻辑地址中的段内偏移>段表项中的段长,超过产生越界中断
-