OS 基础教程

进程管理

同步

死锁

内存管理

文件管理

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/os-segmented-paging.html

分段的分页


纯粹的分段并不是很流行,并没有被许多操作系统所使用。 但是,分段可以与分页结合使用,以从两种技术中获得最佳功能。

在分段的分页中,主存储器被分成可变大小的段,它们被进一步分成固定大小的页面。

  • 页面比分段小。
  • 每个段都有一个页表,这意味着每个程序都有多个页表。
  • 逻辑地址表示为分段号(基地址),页码和页面偏移量。

分段号 → 它指向相应的分段号。
页码 → 它指向分段中的确切页面。
页面偏移 → 用作页面帧内的偏移量。

每页表都包含有关该分段每个页面的各种信息。 分段表包含有关每个分段的信息。 每个分段表项都指向一个页表项,并且每个页表项都被映射到一个分段内的页面。

逻辑地址到物理地址的转换

CPU产生一个分为两部分的逻辑地址:分段号和分段偏移。 分段偏移必须小于分段限制量。 偏移量进一步分为分页码和分页偏移量。 为了映射页表中的确切分页码,分页码被添加到页表基地中。

具有页面偏移量的实际帧号被映射到主存储器以在该过程的某个段的页面中获得期望的字。

分段分页的优点

  • 它减少了内存使用量。
  • 分页表大小受到分段大小的限制。
  • 分段表只有一个对应于一个实际分段的条目。
  • 外部碎片不存在。
  • 它简化了内存分配。

分段分页的缺点

  • 内部碎片将在那里。
  • 与分页相比,分段复杂度要高得多。
  • 分页表需要连续存储在内存中。