操作系统 页面错误处理

操作系统 页面错误处理

在本文中,您将了解操作系统中的页面错误处理及其步骤。

操作系统中的页面错误是什么

页面错误更像是一个错误。如果程序尝试访问不存在于物理内存(主内存)中的内存块,则会发生页面错误。该错误指示操作系统将所有数据追踪到虚拟内存管理,并将其从二级存储器重新定位到其主内存中,如硬盘。

操作系统 页面错误处理

如果所请求的页面未加载到内存中,则会发生页面错误陷阱。页面错误主要会引发异常,用于通知操作系统从虚拟内存中检索“页面”以继续操作。一旦所有数据都被放入物理内存中,程序将恢复正常操作。页面错误处理过程在后台进行,因此用户不会察觉到。

  1. 计算机的硬件跟踪到内核和程序计数器通常保存在堆栈中。CPU寄存器保存有关指令当前状态的信息。
  2. 启动一个汇编程序,它会保存通用寄存器和其他易失性数据,以防止操作系统破坏它。

页面错误处理

当访问被标记为无效的页面时,会发生页面错误。在地址通过页面表进行转换时,分页硬件会注意到设置了无效位,从而触发操作系统陷阱。陷阱主要是由于操作系统未能将所需页面加载到内存中引起的。

现在,让我们了解操作系统中页面错误处理的过程:

  1. 首先,为该进程创建一个内部表,以评估引用是有效还是无效的内存访问。
  2. 如果引用变为无效,则系统进程将被终止。否则,页面将被分页。
  3. 然后,空闲帧列表会在系统中找到空闲帧。
  4. 现在,会安排磁盘操作以从磁盘中获取所需页面。
  5. 当I/O操作完成时,进程的页表将用新的帧号更新,并更改无效位。现在,它是一个有效的页面引用。
  6. 如果发现任何页面错误,则从起始位置重新开始这些步骤。

页面错误术语

操作系统中存在各种页面错误术语。页面错误的一些术语如下:

1. 页面命中

当CPU尝试从主存储器获取所需页面,并且该页面存在于主存储器(RAM)中时,称为“页面命中”。

2. 页面失效

如果所需页面在主存储器(RAM)中不存在,则称为“页面失效”。

3. 页面错误时间

在加载所需页面后,从辅助存储器获取页面并从主存储器中恢复它所需的时间称为“页面错误时间”。

4. 页面错误延迟

线程在内存中定位页面错误的速率被称为“页面错误率”。页面错误率以每秒为单位进行测量。

5. 硬页面错误

如果所需页面存在于硬盘的页面文件中,则称为“硬页面错误”。

6. 软页错误

如果所需页面未在硬盘上找到,但在内存中的其他位置找到,则称为 “软页错误”

7. 次要页错误

如果进程需要数据,而该数据存在于内存中,但此时正在分配给其他进程,则称为 “次要页错误”

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程