2013年1月16日

摘要: linux内存管理的任务 1)组织规划整个系统的物理和虚拟存储空间分布; 2)为虚拟存储空间(线性地址空间)建立页表,即建立虚拟地址到物理地址的映射关系; 3)设置不同存数空间的访问控制属性,保护系统存储空间不被非法访问; 4)内存分配和释放。1 linux中的物理和虚拟存储空间的分布 支持MMU的32位微处理器上,linux物理存储空间和虚拟存储空间寻址范围都是0x0000_0000~0xFFFF_FFFF,为4GB。 但是linux运行在虚拟存储空间中,而实际使用中将远小于4GB的物理内存映射为虚拟内存的4GB。 物理存储空间分布(引用《嵌入式系统linux内核开发实战指南(... 阅读全文
posted @ 2013-01-16 11:37 plinx 阅读(922) 评论(0) 推荐(0)
摘要: 1 struct pglist_data pg_data_ttypedef struct pglist_data { struct zone node_zones[MAX_NR_ZONES]; struct zonelist node_zonelists[MAX_ZONELISTS]; int nr_zones;#ifdef CONFIG_FLAT_NODE_MEM_MAP /* means !SPARSEMEM */ struct page *node_mem_map;#ifdef CONFIG_CGROUP_MEM_RES_CTL... 阅读全文
posted @ 2013-01-16 10:24 plinx 阅读(1337) 评论(0) 推荐(0)
摘要: 1 struct per_cpu_pagesetstruct per_cpu_pageset { struct per_cpu_pages pcp;#ifdef CONFIG_NUMA //NUMA系统专用 s8 expire;#endif#ifdef CONFIG_SMP s8 stat_threshold; s8 vm_stat_diff[NR_VM_ZONE_STAT_ITEMS];#endif}; 2 struct per_cpu_pagesstruct per_cpu_pages { i... 阅读全文
posted @ 2013-01-16 09:14 plinx 阅读(765) 评论(0) 推荐(0)

导航