随着计算机的发展,内存容量的增加还无法跟上程序需求的增长速度,为了缓解这个问题,计算机科学家们发明了虚拟存储器。虚拟存储器是指物理内存(实际存在的内存)和磁盘空间(虚拟内存)共同扩展中间形成的一种抽象概念。页式虚拟存储器是虚拟内存的一种实现方式,今天我们将从多个角度分析页式虚拟存储器的工作原理和工作过程。
1. 基本单位:页面
页式虚拟存储器中,物理内存和磁盘空间被分成大小相等的部分,每一部分称为一页。一页的大小通常是2的次幂,如4KB,8KB或16KB。在操作系统中,有一个页表,用于记录页在物理内存中的位置和页在磁盘空间中的位置。
2. 工作原理
当程序需要访问虚拟内存中的某一页时,先查找该页是否在物理内存中。若在,则直接进行访问,否则,将该页从磁盘中读取到物理内存中,并修改页表的记录,表明该页已经在物理内存中。由于物理内存的容量有限,当物理内存中的所有页都被占满时,操作系统会从物理内存中选择一些页与磁盘中的页进行交换,以释放物理内存的空间,使得其他页可以进入物理内存中。
3. 工作过程
页式虚拟存储器的工作过程可以总结为以下几个步骤:
(1)程序访问虚拟内存中的某一页。
(2)检查页表,判断该页是否在物理内存中。
(3)若在物理内存中,则直接访问;否则将该页从磁盘读取到物理内存,并修改页表记录。
(4)若物理内存已满,选择一些页面和磁盘中的页面进行交换。
4. 优缺点分析
优点:页式虚拟存储器实现了程序对物理内存容量的虚拟扩展,使得程序可以使用比物理内存更大的空间;同时也实现了内存中数据的非必要性质,即使程序需要的数据未被保存在物理内存中,其也可以以比磁盘访问速度更快的速度访问数据。
缺点:页式虚拟存储器涉及磁盘读写操作,会增加系统的负担。此外,页式虚拟存储器需要使用一部分内存保存页表,这也会减少系统的可用内存。
扫码咨询 领取资料