
《linux内核源代码情景分析》阅读笔记
0TripleFish0
这个作者很懒,什么都没留下…
展开
-
mini2440内存初始化分析
setup_arch mdesc = setup_machine_fdt(__atags_pointer); if (!dt_phys || !early_init_dt_verify(phys_to_virt(dt_phys))) return NULL; early_init_dt_scan_nodes(); early_init_dt_scan_memory(); early_in.原创 2020-08-09 16:53:40 · 241 阅读 · 0 评论 -
2.11 外部设备存储空间的映射
本文主要讲述vmalloc的过程,考虑到其也在VMALLOC_START处开始分配,与ioremap有类似之处,因此放在外部设备存储空间的映射这一小节作为对书中内容的补充。 在2.3小节中,有如下描述:对于连续内存系统,每一个物理页面都有一个page结构,linux初始化时,会将这些page结构放在mem_map数组中,作为仓库,其中的页面划分为三个管理区,ZONE_DMA, ZONE_NORMAL, ZONE_HIGHMEM,这显然是从物理页面的角度来看的。MMU启动后,内核可访问的地址空间为3G-4G原创 2020-08-04 23:07:07 · 393 阅读 · 0 评论 -
2.12 系统调用sys_brk
1.static void free_pgtables(struct mm_struct * mm, struct vm_area_struct *prev, 2. unsigned long start, unsigned long end) 3.{ 4. unsigned long first = start & PGDIR_MASK; 5. unsigned long last = end + PGDIR_SIZE - 1; 6. unsigned long start_index, end.原创 2020-08-02 20:30:27 · 224 阅读 · 0 评论