缺页
当一个 程序 尝试访问未存储在物理内存或 RAM 中的一块 内存 时,就会发生缺页。缺页会通知 操作系统,它必须在 虚拟内存 中找到这些数据,然后将其从存储设备例如 (HDD 或 SSD)传输到系统 RAM 中。
虽然“缺页”这个术语听起来像是错误,但缺页很常见,也是计算机处理虚拟内存的正常方式之一。用编程术语来说,缺页会生成一个 异常,通知操作系统必须从虚拟内存中取回内存块或称为“页”的内容,以便程序继续运行。当 数据移入物理内存后,程序就会继续正常运行。这个过程在后台进行,用户通常不会察觉。
大多数缺页都能顺利处理。不过,无效缺页可能导致程序挂起或 崩溃。当程序尝试访问不存在的内存地址时,可能会发生这种类型的缺页。一些程序可以通过查找新的内存地址或重新定位数据来处理这类错误。但是,如果程序无法处理无效缺页,该错误就会传递给操作系统,操作系统可能会终止该 进程。这可能导致程序意外退出。
使用虚拟内存时,缺页很常见,但每次缺页都需要将数据从 辅助存储器传输到 主存储器。这个过程可能只需几毫秒,但与直接从内存访问数据相比,速度仍可能慢几千倍。因此,安装更多系统内存可以提高计算机性能,因为计算机需要访问虚拟内存的次数会减少。
测试你的知识