一、基本分段存储(逻辑)
进程的地址空间
按照程序自身的逻辑关系划分为若干个段(大小不同),每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址
内存分配规则
以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻。
优缺
- 无内部碎片(按逻辑模块划分段),有外部碎片(划分程序,不划分内存空间)
- 对用户透明,段、段名、段数透明
- 与分页相比更容易实现信息的共享和保护(按逻辑模块划分段)
- 是二维的,既要给出段名也要给出段内地址
- 段号的位数决定了每个进程最多可以分几个段
- 段内地址位数决定了每个段的最大长度是多少
二、段表
- 思想
- 程序分多个段,各段离散地装入内存,为了保证程序能正常运行,就必须能从物理内存中找到各个逻辑段的存放位置。为此,需为每个进程建立一张段映射表,简称“段表”。
- 每个段对应一个段表项,其中记录了该段在内存中的起始位置(基址)和段的长度。
- 各个段表项的长度是相同的。
- 例如:某系统按字节寻址,采用分段存储管理,逻辑地址结构为( 段号16位,段内地址16位),因此用16位即可表示最大段长。物理内存大小为4GB (可用32位表示整个物理内存地址空间)。因此,可以让每个段表项占16+32 =48位,即6B。 由段表项长度相同,因此段号可以是隐含的,不占存储空间。若段表
存放的起始地址为M,则K号段对应的段表项存放的地址为M+K*6
三、基本地址变换
四、访存(加入快表)
- 与分页相似
- 快表中有,就之访问一次内存中目标存储单元
- 没有就访问一次内存中的段表、一次目标存储单元,即需要访问两次
五、分页和分段对比
标签:存储管理,逻辑,表项,分段,16,地址,内存 From: https://www.cnblogs.com/shyfvm/p/16951319.html
分页 分段 信息单位 物理单位 逻辑单位 划分 大小固定 按逻辑模块划分 大小 页大小固定 段大小不固定 地址空间维度 一维(逻辑地址) 二维(段号+段内地址) 碎片 内部碎片 外部碎片