操作系统中的分段是怎么样的?

2021年3月18日15:23:35 发表评论 603 次浏览

一个过程分为多个部分。程序所划分的不一定全部相同大小的块称为段。通过分段, 用户可以查看分页不提供的流程。此处, 用户视图已映射到物理内存。

分段类型有:

  1. 虚拟内存分段–
    每个过程都分为多个部分, 并非所有部分都驻留在任何一个时间点上。
  2. 简单分段–
    每个进程分为多个段, 所有段都在运行时加载到内存中, 尽管不一定是连续的。

分段中的逻辑地址物理地址之间没有简单的关系。一个表存储有关所有此类段的信息, 称为段表。

区隔表–它将二维逻辑地址映射为一维物理地址。每个表格条目都有:

  • 基址:It 包含段驻留在内存中的起始物理地址。
  • 限制:它指定段的长度。
操作系统中的分段1

将二维逻辑地址转换为一维物理地址。

操作系统中的分段2

CPU生成的地址分为:

  • 段号:表示段所需的位数。
  • 段偏移(d):表示段大小所需的位数。

分段的优势–

  • 无内部碎片。
  • 分页中的页面表相比, 段表消耗的空间更少。

分段的缺点–

  • 在从内存中加载和删除进程时, 可用内存空间会分成小块, 从而导致外部碎片。

本文的贡献者:维卡什·库马尔(Vikash Kumar)。如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: