内存管理-面试八股
内核如何管理虚拟内存区域?
- 每个进程有一个task_struct,用于描述进程;
- task_struct包含一个mm_struct,用于描述虚拟内存空间;
- 虚拟内存空间的每个段(代码段,数据段…)都用一个vm_area_struct结构描述;
- vm_area_struct记录了这个段的其实地址和结束地址,以及访问权限和行为规范;
内存资源紧张时,系统应对方法有哪些?
- 产生OOM,内核直接将系统中占用大量内存的进程即OOM优先级最高的进程杀死,释放出这个进程占用的内存以供其他进程使用;
- 内存回收,将不经常使用的内存回收,以供更需要的进程使用(kswapd异步回收和直接回收);
- 内存规整,将可迁移的物理页进行迁移规整,消除内存碎片从而获得一个更大的连续物理内存空间;
内存管理-面试八股
http://example.com/2025/05/15/OperatingSystem/操作系统-面试八股/