📜  操作系统分段分页

📅  最后修改于: 2020-12-15 03:53:32             🧑  作者: Mango

分段分页

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

在分段式分页中,主存储器分为可变大小的段,然后进一步分成固定大小的页。

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

段号→指向适当的段号。

页码→指向段中的确切页面

页面偏移量→用作页面框架内的偏移量

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

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

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

具有页面偏移量的实际帧号被映射到主存储器,以在进程的特定段的页面中获得所需的单词。

分段分页的优点

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

分段分页的缺点

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