1. 前言
操作系统的核心管理逻辑可以简化为进程管理、内存管理、文件管理。之前的小节已经介绍了进程的基本概念,每个进程都有独立的地址空间,这些地址空间被分为大小相同的块,定义为页(Page)。然而物理机的内存硬件空间是有限的,举例来说,我们装配最常见的 4G 内存条,但是很多进程例如单机游戏,运行时都需要占用几个 G 的内存空间,所以就需要用到虚拟内存。
2. 页面置换算法
面试官提问: 操作系统的页面置换算法是什么?常用算法有哪些?
题目解析:
首先要明确页面置换算法是针对内存管理的算法。
页面置换算法是虚拟内存的运行机制核心,内存被分页之后,每个页都是一段连续的地址,每个进程拥有的都是一段虚拟地址,需要经过内存管理单元(Memory Management Unit,也就是 MMU)将虚拟地址转换为物理地址。
操作系统的 CPU 和内存都是稀缺资源,所以资源比较紧张,内存具有非常高的 I/O 速度,但是空间很小。硬盘具有很大的存储空间,但是 I/O 能力一般。所以操作系统综合了两者的特性,将硬盘作为内存的缓存,虚