随笔分类 -  linux内存管理

摘要:采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用 户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存 时,并... 阅读全文
posted @ 2013-05-31 14:15 lcnewstart
摘要:查看进程使用多少虚拟内存的分析方法:1. 编写一段应用层代码: main() { ..... pid= getpid(); pause(); // 获得该进程pid后,将该进程暂停 return 0; }2. 开一个telnet给系统,进入cat /proc/本pid3. 查看statm,maps,... 阅读全文
posted @ 2013-05-26 18:48 lcnewstart
摘要:本文罗列和分析Linux内存管理的数据结构定义,注释常用的结构体变量意义,把握基本的结构体关系和潜在的相互作用,为理解内存管理原理打好基础。这是深入代码的第一步,当然痛苦也就从这里开始了。(没事,哈哈,有我陪着你呢.....) 阅读全文
posted @ 2010-12-17 16:02 lcnewstart 阅读(396) 评论(1) 推荐(0)
摘要:讲解复杂繁琐的机制原理,最通俗的方法就是用模型架构的方式向读者呈现,先要在整体上了解大方向大架构,再根据大方向大架构来进行分支深入,犹如毛主席那句话“战略上蔑视敌人,战术上重视敌人”。下面我也以这种方式把各个大模型方式向大家画出,并作出简略解述。 一. 地址划分。 1. CPU地址。 CPU地... 阅读全文
posted @ 2010-12-08 16:28 lcnewstart 阅读(2343) 评论(3) 推荐(2)
摘要:在进入讲解linux内存管理的kernel阶段以前,了解一下uboot阶段是如何准备好内存物理设备的,这是非常有意义的。通常进入到linux内核阶段之后,对内存芯片的物理特性寄存器访问是比较少的,强调的是linux在管理上的用法,而大部分必要工作由uboot阶段进行处理,如打开内存功能,配置内存,... 阅读全文
posted @ 2010-12-08 16:25 lcnewstart 阅读(4709) 评论(2) 推荐(2)
摘要:linux内存管理是开源Linux当中最难啃的一部分,它涉及到具体的cpu架构,内存的类型,管理算法等诸多内容,但它的脉络十分清晰,本《linux内存管理》系列正是尝试用简洁清晰的脉络向读者呈现linux到底是怎么“管”的,并且讲解如何高效应用内存管理的机制。本文以ARM机制为平台讲述,芯片为Ma... 阅读全文
posted @ 2010-12-03 12:24 lcnewstart 阅读(537) 评论(0) 推荐(0)