MMU具有物理地址和虚拟地址转换,内存访问权限保护等功能。这使得Linux操作系统能单独为每个用户进程分配独立的内存空间并且保证用户空间不能访问内核空间的地址,为操作系统虚拟内存管理模块提供硬件基础。Linux内存管理 在Linux操作系统中,进程的4G空间被分成两个部分----用户空间和...
分类:
系统相关 时间:
2015-02-06 23:08:57
阅读次数:
263
了解linux的内存模型,或许不能让你大幅度提高编程能力,但是作为一个基本知识点应该熟悉。坐火车外出旅行时,即时你对沿途的地方一无所知,仍然可以到达目标地。但是你对整个路途都很比较清楚的话,每到一个站都知道自己在哪里,知道当地的风土人情,对比一下所见所想,旅程可能更有趣一些。类似的,了解linux的...
分类:
系统相关 时间:
2015-02-05 20:05:37
阅读次数:
217
转载: http://linux.cn/article-4755-1.htmlLinux是最有名的开源操作系统之一,它拥有着极其巨大的命令集。确定物理内存和交换内存所有可用空间的最重要、也是唯一的方法是使用“free”命令。Linux “free”命令可以给出类Linux/Unix操作系统中物理内存...
分类:
系统相关 时间:
2015-02-01 00:28:42
阅读次数:
252
Linux内核分析(三)昨天我们对内核模块进行了简单的分析,今天为了让我们今后的分析没有太多障碍,我们今天先简单的分析一下linux的内存管理子系统,linux的内存管理子系统相当的庞大,所以我们今天只是初识,只要对其进行简单的了解就好了,不会去追究代码,但是在后面我们还会对内存管理子系统进行一次深...
分类:
系统相关 时间:
2015-01-31 00:06:12
阅读次数:
272
slab着色原理slab着的原理,cpu cache一,slab着色原理slab分配器中用到很多的缓存,每个缓存中又包含了很多slab,每个slab中有很多对象,每个slab的头部用于管理该slab中的对象(比如哪些对象已经使用,哪些对象还没有使用等),在slab的每个对象的开始和结束处都有一个特定...
分类:
系统相关 时间:
2015-01-26 21:03:33
阅读次数:
208
1,伙伴系统的作用:伙伴系统主要是为了高效使用物理内存,尽量减少内存碎片的产生2,伙伴系统的概念:系统中的内存总是两两分组,每组中的两个内存块称为伙伴3,伙伴系统的原理: 伙伴系统是相对于struct zone而言,将每个zone的空闲内存分为最多11个数组,比如第一个数组里管理着2^0页的内存,所...
分类:
系统相关 时间:
2015-01-26 21:02:30
阅读次数:
196
一:kmap()和kunmap()函数永久内核映射允许内核建立高端页框到内核地址空间的长期映射。他使用主内核页表中一个专门的页表,其页表地址存放在pkmap_page_table中,页表包含512项或1024项,因此,内核一次最多访问2M或4M的高端内存(地址范围是 4G-8M 到 4G-4M 之间...
分类:
系统相关 时间:
2015-01-26 21:02:29
阅读次数:
194
linux内核相关1,linux内核内存分配函数总结单位接口算法动态大小kmalloc/kfree/krealloc/kcalloc按大小组织的缓存数组固定大小kmem_cache_create/kmem_cache_destroykmem_cache_alloc/kmem_cache_freeSl...
分类:
系统相关 时间:
2015-01-26 21:02:15
阅读次数:
172
1,linux内核内存管理arm体系结构的内存建立是在kernel/arch/arm/kernel/setup.c文件里~linux内核设计与实现——内存管理linux内核中,内核把物理页作为内存管理的基本单元,处理器最小的寻址单位是字节,从虚拟内存角度看,页是最小单位。内核中使用struct pa...
分类:
系统相关 时间:
2015-01-26 20:59:35
阅读次数:
243
1,内存中各个地址范围的含义按照地址范围由低到高的顺序:0-3G的地址范围:代码段:代码的可执行文件,一般为只读并且是共享的。(RO code/data)数据段:存已经被初始化的全局变量(RW data) static char *user="jiangsu"BSS段:存一些未被初始化的全局变量(....
分类:
系统相关 时间:
2015-01-26 20:58:46
阅读次数:
204