logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

根据Linux内核原理 详细介绍kswapd内核线程何时会被唤醒?其底层原理是什么?

min_free 不可回收的应急内存,由 vm.min_free_kbytes 和系统内存大小决定(默认 ≈ 0.3% 总内存)当 __alloc_pages() 尝试分配内存失败时,若空闲内存 ≤ low_mem,调用 wakeup_kswapd()。waitqueue_active(&pgdat->kswapd_wait)) // 避免重复唤醒。调整 /proc/sys/vm/watermar

文章图片
#linux
阅读Linux 4.0内核RMAP机制的代码,画出父子进程之间VMA、AVC、anon_vma和page等数据结构之间的关系图。

/ 指向anon_vma或address_space。2.每个 VMA 通过 anon_vma_chain (AVC) 链接到 anon_vma。// 关联的anon_vma。// 指向anon_vma。// 同VMA的AVC链表。// 根anon_vma。5.anon_vma 通过红黑树管理所有关联的 anon_vma_chain。

文章图片
#linux
Linux内核内存管理 ARM32内核内存布局的详细解析和案例分析

ARM32 系统采用 4GB 虚拟地址空间,分为用户空间和内核空间:用户空间:0x00000000 ~ 0xBFFFFFFF(3GB),供用户进程使用。内核空间:0xC0000000 ~ 0xFFFFFFFF(1GB),由内核独占。划分原因:ARMv7 架构通过 CPU 运行模式(如用户态 usr 和内核态 svc)隔离访问权限。用户进程通过系统调用进入内核态后,才能访问内核空间。

文章图片
#linux
到底了