
linux kernel内存管理
文章平均质量分 63
介绍linux kernel机制
开心才是真
这个作者很懒,什么都没留下…
展开
-
memblock子系统
memblock --> memblock_type --> memblock_region2 memblock结构初始化:3 memblock分配释放API其中对不同类型memblock的分配释放主要有如下:memblock.memory分配释放API:memblock_add()和memblock_remove();memblock.reserved分配释放API:memblock_reserve()和memblock_free()。 在内核启动bootargs,可以加入"m原创 2022-06-13 21:21:51 · 400 阅读 · 1 评论 -
linux共享内存演进
shm与mmap区别1 mmapmmap共享内存原理:是将进程虚拟地址空间映射到磁盘上的一个普通文件,这样每个进程访问时会通过pagefault机制分配各自不同的物理内存。优点:储存量可以很大(多于主存),重启数据不会丢失;缺点:进程读写速度要比主存的要慢。2 shmshm共享内存原理:是将进程虚拟地址空间映射到tmpfs虚拟内存文件系统上的一个临时文件,而tmpfs的存储空间是物理内存或swap分区,所以每个进程最终访问的是同一块物理内存。优点:进程间访原创 2022-05-12 10:22:45 · 467 阅读 · 0 评论 -
struct page介绍
struct pagestruct page { unsigned long flags; union { struct { /* Page cache and anonymous pages */ struct list_head lru; struct address_space *mapping; pgoff_t index; /* Our offset within...原创 2022-05-07 16:44:21 · 712 阅读 · 0 评论 -
LRU链表介绍
文章目录1. 简介 2. LRU 组织 2.1 LRU 链表 2.2 LRU Cache 2.3 LRU 移动操作 2.3.1 page 加入 LRU 2.3.2 其他 LRU 移动操作 3. LRU 回收 3.1 LRU 更新 3.2 Swappiness 3.3 反向映射 3.4 代码实现 3.4.1 struct scan_control 3.4.2 shrink_node() 3.4.3 shrink_list(原创 2022-05-07 10:21:45 · 1813 阅读 · 0 评论 -
pagefault机制
用户态缺页异常一旦开始访问虚拟内存的某个地址,如果我们发现,并没有对应的物理页,那就触发缺页中断,调用 do_page_fault。dotraplinkage void notracedo_page_fault(struct pt_regs *regs, unsigned long error_code){ unsigned long address = read_cr2(); /* Get the faulting address */...... __do_page_fa原创 2022-05-05 10:03:16 · 1295 阅读 · 0 评论 -
linux do_mmap流程简析
linux do_mmap流程原创 2022-05-01 18:23:24 · 854 阅读 · 0 评论