Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25469
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-13 22:55
文章分类

全部博文(42)

文章存档

2015年(42)

我的朋友

发布时间:2015-12-31 00:16:55

前面已经分析了内存管理框架的构建实现过程,有部分内容未完全呈现出来,这里主要做个补充。如下图,这是前面已经看到过的linux物理内存管理框架的层次关系。现着重分析一下各个管理结构体的成员功能作用。【file:/include/linux/mmzone.h】typedef struct pglist.........【阅读全文】

阅读(141) | 评论(0) | 转发(0)

发布时间:2015-12-31 00:16:44

此处接前文,分析free_area_init_nodes()函数最后部分,分析其末尾的循环:    for_each_online_node(nid) {        pg_data_t *pgdat = NODE_DATA(nid);        free_area_init_node(nid, NULL,  &nbs.........【阅读全文】

阅读(250) | 评论(0) | 转发(0)

发布时间:2015-12-31 00:16:30

前面构建内存管理框架,已经将内存管理node节点设置完毕,接下来将是管理区和页面管理的构建。此处代码实现主要在于setup_arch()下的一处钩子:x86_init.paging.pagetable_init()。据前面分析可知x86_init结构体内该钩子实际上挂接的是native_pagetable_init()函数。 native_pagetable_init().........【阅读全文】

阅读(222) | 评论(0) | 转发(0)

发布时间:2015-12-31 00:16:13

传统的计算机结构中,整个物理内存都是一条线上的,CPU访问整个内存空间所需要的时间都是相同的。这种内存结构被称之为UMA(Uniform Memory Architecture,一致存储结构)。但是随着计算机的发展,一些新型的服务器结构中,尤其是多CPU的情况下,物理内存空间的访问就难以控制所需的时间相同了。在多CPU的环境下,系统只.........【阅读全文】

阅读(246) | 评论(0) | 转发(0)

发布时间:2015-12-31 00:15:50

前面已经分析了内核页表的准备工作以及内核低端内存页表的建立,接着回到init_mem_mapping()中,低端内存页表建立后紧随着还有一个函数early_ioremap_page_table_range_init():【file:/arch/x86/mm/init.c】/* * Build a proper pagetable for the kernel.........【阅读全文】

阅读(213) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册