浅谈操作系统——请求分页技术

411 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情

请求分页存储管理方式

基本思想

在进程开始运行之前,不是装入全部页面,而是装入几个或零个页面,之后根据进程运行的需要,动态装入其他页面。

当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新的页面。

image.png

页表机制

image.png

  • 状态位:表示该页是否装入内存
  • 访问位:此页在一段时间被访问的次数,可用来决定淘汰哪页(由不同的算法决定)
  • 修改位:查看此页是否在内存中被修改过
  • 外存地址:该页在外存上的位置

缺页中断处理

  • 在地址映射过程中,在页表中发现索要访问的页不在内存,则产生缺页中断
  • 操作系统街道此中断信号后,就调出缺页中断处理程序,根据页表中给出的外存地址,准备将该页调入内存
  • 此时应将缺页的进程挂起(调页完成唤醒)
  • 如果内存中有空闲块,则分配一个块,将要调入的页装入该块,并修改页表中相应页表项的状态位及相应的内存块号
  • 如果此时内存中没有空闲块,则要淘汰某页(如果被要淘汰页在内存期间没有被修改过,那么要将其写回外存)

缺页中断和一般中断的区别

缺页中断和一般中断都是中断,相同点如下:

  • 保护现场,中断处理,恢复现场

不同点如下:

  • 一般中断是一条指令完成后中断,缺页中断是一条指令执行期间中断
  • 一条指令执行时可能产生多个缺页中断。如指令可能访问多个内存地址,这些地址在不同的页中

image.png

基于以上特征,请求分页系统中的硬件机构应该能保存多次中断时的状态,并保证最后能返回中断前产生缺页中断的指令处,继续执行。

地址变换机构

image.png

image.png

调入策略

调入策略确定在外存中页面的调入世纪,在页式虚拟管理中有两种常用策略。

  • 请求调页:只调入发生缺页时所需的页面
    • 优点:容易实现
    • 缺点:对外存I/O次数多,开销较大

不知不觉学习过半了,接下来依旧不能松懈,要更加努力