面试题答案
一键面试解决内存空间不足问题的方式
虚拟内存技术通过将一部分暂时不使用的内存数据存储到外部存储设备(如硬盘)上,当需要这些数据时再将其调入内存,从而使得进程可使用的内存空间看起来大于实际物理内存大小,解决了内存空间不足对进程运行的限制。
实现的基本原理
- 页式管理:把进程的逻辑地址空间和物理内存空间都划分为固定大小的页(Page)。进程的逻辑地址空间被分成若干个页,物理内存也被分成同样大小的页框(Frame)。
- 页表:为每个进程维护一个页表(Page Table),页表记录了进程逻辑页到物理页框的映射关系。逻辑页号作为页表的索引,对应的值是该逻辑页在物理内存中的页框号,如果该页当前不在物理内存中,则标记为无效页(或缺页)。
- 缺页中断:当进程访问的逻辑页不在物理内存中(即页表项标记为无效),会触发缺页中断。操作系统会暂停当前进程,从外部存储设备(如硬盘)上找到对应的页数据,将其调入物理内存中的一个空闲页框,并更新页表,使其指向新的物理页框,然后恢复进程执行。
- 换出机制:当物理内存空间不足时,操作系统会根据一定的页面置换算法(如最近最少使用算法LRU、先进先出算法FIFO等),选择一个或多个暂时不用的物理页框,将其数据写回到外部存储设备,释放出页框空间来存放新调入的页。