浅谈操作系统——段页式存储

137 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

产生背景

结合段页式优点,克服了二者的缺点

  • 段页式存储管理思想
  • 地址映射

程序地址空间

按段式划分(对用户来讲,按段的逻辑关系进行划分,对系统来讲,按页划分每一段)

image.png

  • 逻辑地址:

image.png

  • 内存地址空间:按页式存储管理方案
  • 内存分配:以块为单位进行分配

地址映射

  • 段表:记录了每一段的页表始址和页表长度
  • 页表:记录了这个段每个逻辑页号与内存块号的对应关系(每一个段有一个,一个程序可能有多个页表)

image.png

逻辑扩充内存的技术

常规存储管理方式的特征

  • 一次性

  • 驻留性

  • 导致结果:

    • 作业大的无法运行
    • 程序中不用的或者暂时不用的程序数据占据大量空间
    • 仅仅有少数的作业能够运行
  • 覆盖技术

  • 交换技术

  • 虚拟存储技术

覆盖技术和交换技术

在多道环境下扩充内存的方法,用以解决在较小的存储空间中运行较大程序时遇到的矛盾。

  • 覆盖技术主要用在早期的操作系统中;
  • 交换技术被广泛用于小型分时系统中,交换技术的发展导致了虚存技术的出现。

交换技术与覆盖技术的共同点

进程的程序和数据主要放在外存,当前需要执行的部分放在内存,内外存之间进行信息交换

覆盖技术

覆盖:一个程序的若干程序段,或几个程序的某些部分共享某一个存储空间。

  • 把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构将那些不会同时执行的程序段共享同一块内存区域。
  • 程序段先保存在磁盘上,当有关程序段的前一部分执行结束,把后续程序段调入内存,覆盖前面的程序段(内存“扩大”了)。
  • 一般要求程序各模块之间有明确的调用结构,程序员要向系统指明覆盖结构,然后由操作系统完成自动覆盖

image.png

时间有限,关于段页式存储的内容就说到这里,逻辑地址内容较多,我们下期文章在细说逻辑地址相关问题。