随笔分类 - Linux Memory Management
摘要:start_kernel ——> setup_arch ——> arch_mem_init ——> |——> bootmem_init |——> device_tree_init |——> sparse_init |——> plat_swiotlb_setup |——> paging_init 我们
阅读全文
摘要:我们在阅读源码时,函数功能可以分为两类:1. bootmem.c 2. page_alloc.c。 1. bootmem.c是关于bootmem allocator的,上篇文章已经简述过。 2. page_alloc.c是关于Memory Management subsystem的。 关于内存管理子
阅读全文
摘要:start_kernel ——> setup_arch ——> arch_mem_init ——> bootmem_init ——> init_bootmem_node: 此时,不得不说的就是 bootmem 。 1. 什么是bootmem: 我们都知道,所有的物理内存是交给内核管理的,或者说是交给
阅读全文
摘要:PFN相关宏说明: 打印结果记录: initrd_start = 0x81a0000, initrd_end = 0x81b2e720 我们继续看 start_kernel—>setup_arch—>arch_mem_init—>bootmem_init。 2. init_initrd 在 kern
阅读全文
摘要:源码声明:基于Linux kernel 3.08 1. 在kernel/arch/mips/kernel/head.S中会做一些特定硬件相关的初始化,然后会调用内核启动函数:start_kernel; 2. start_kernel是通用的内核启动函数,但是在初始化内核过程中,必然有一些参数是特定于
阅读全文

浙公网安备 33010602011771号