摘要: 图4-17给出了内核在处理缺页异常时,可能使用的各种代码路径的一个粗略的概观。 arch/x86/kernel/entry_32.S中的一个汇编例程用作缺页异常的入口,但其立即调用了arch/x86/mm/fault_32.c中的C例程do_page_fault。 图4-18给出了该例程的代码流程图 阅读全文
posted @ 2022-03-26 22:13 while(true);; 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 堆是一个连续的内存区域,在扩展时自下至上增长。的mm_struct结构,包含了堆在虚拟地址空间中的起始和当前结束地址(start_brk和brk)。 <mm_types.h> struct mm_struct { ... unsigned long start_brk, brk, start_sta 阅读全文
posted @ 2022-03-26 21:17 while(true);; 阅读(42) 评论(0) 推荐(0) 编辑
摘要: C标准库提供了mmap函数建立映射。在内核一端,提供了两个系统调用mmap和mmap2。两个函数的参数相同。 asmlinkage unsigned long sys_mmap{2}(unsigned long addr, unsigned long len,unsigned long prot, 阅读全文
posted @ 2022-03-26 00:12 while(true);; 阅读(279) 评论(0) 推荐(0) 编辑