本文概述
- 为什么需要分段?
- 通过段表将逻辑地址转换为物理地址
- 分段优势
- 缺点
有关每个段的详细信息存储在称为段表的表中。段表存储在一个(或多个)段中。
段表主要包含有关段的两个信息:
- 基址:它是段的基址
- 限制:这是段的长度。
操作系统不在乎用户对线程的看法。它将相同的功能划分为不同的页面, 并且这些页面可能会或可能不会同时加载到内存中。它降低了系统的效率。
最好进行分段, 以将线程分为多个部分。每个段都包含相同类型的功能, 例如主函数可以包含在一个段中, 库函数可以包含在另一段中,
通过段表将逻辑地址转换为物理地址 CPU生成包含两个部分的逻辑地址:
- 段号
- 偏移量
【内存分段】在有效地址的情况下, 将段的基地址添加到偏移量中以获得主存储器中实际字的物理地址。
文章图片
分段优势
- 无内部碎片
- 平均分段大小大于实际页面大小。
- 减少开销
- 重定位段比整个地址空间容易。
- 与分页中的页表相比, 段表的大小较小。
- 它可以具有外部碎片。
- 很难将连续的内存分配给可变大小的分区。
- 昂贵的内存管理算法。
推荐阅读
- 系统信号量简介
- 系统调度算法
- 操作系统资源分配图
- SCAN和C-SCAN算法图解
- 系统循环调度算法
- 操作系统的进程状态
- 系统进程同步介绍
- Win10系统防火墙怎样设置?
- Win10系统cortana怎样关闭?