Linux中有关页表建立的思维导图,包括页表建立机制、paging_init() 函数、pagetable_init()函数
树图思维导图提供 页表建立思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 页表建立思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:5335a28d51ee88d8e9d6bba44dccbba7
页表建立思维导图思维导图模板大纲
经建立了为内存页面管理所需的数据结构,现在是进一步完善页面映射机制,并且建立起内存页面映射管理机制的时候了
仅被调用一次,即由 setup_arch()调用以建立页表
3 个管理区大小
ZONE_DMA:从 0~16MB 分配给这个区
ZONE_NORMAL:从 16MB~896MB 分配给这个区
ZONE_DMA :896MB 以上分配给这个区
地在页目录 swapper_pg_dir 中建立页表
宏__pgd_offset()在给定地址的页目录中检索相应的下标
此__pgd_offset(PAGE_OFFSET)返回 0x300(或 十进制 768),即内核地址空间开始处的下标
如果使用了 CONFIG_HIGHMEM 选项,就可以访问 896MB 以上的物理内存
地址被暂时映射到为此目的而保留的虚地址上
PKMAP_BASE 的值为 0xFE000000(即4064MB),LAST_PKMAP 的值为 1024
地址的映射定义在/include/asm/fixmap.h 中,枚举类型__end_of_fixed_addresses 用作索引,宏__fix_to_virt()返回给定索引的虚地址
仅仅创建了页表项,而没有进行映射