内存管理-面试八股

内核如何管理虚拟内存区域?

  1. 每个进程有一个task_struct,用于描述进程;
  2. task_struct包含一个mm_struct,用于描述虚拟内存空间;
  3. 虚拟内存空间的每个段(代码段,数据段…)都用一个vm_area_struct结构描述;
  4. vm_area_struct记录了这个段的其实地址和结束地址,以及访问权限和行为规范;

内存资源紧张时,系统应对方法有哪些?

  1. 产生OOM,内核直接将系统中占用大量内存的进程即OOM优先级最高的进程杀死,释放出这个进程占用的内存以供其他进程使用;
  2. 内存回收,将不经常使用的内存回收,以供更需要的进程使用(kswapd异步回收和直接回收);
  3. 内存规整,将可迁移的物理页进行迁移规整,消除内存碎片从而获得一个更大的连续物理内存空间;

内存管理-面试八股
http://example.com/2025/05/15/OperatingSystem/操作系统-面试八股/
作者
ZhangHangming
发布于
2025年5月15日
许可协议