当前位置: 首页 > news >正文

免费开网站网站模板源码下载网

免费开网站,网站模板源码下载网,宁波专业做网站的公司哪家好,织梦和wordpress原文:Linux内核分析#xff08;三#xff09;----初识linux内存管理子系统Linux内核分析#xff08;三#xff09; 昨天我们对内核模块进行了简单的分析#xff0c;今天为了让我们今后的分析没有太多障碍#xff0c;我们今天先简单的分析一下linux的内存管理子系统#…原文:Linux内核分析三----初识linux内存管理子系统Linux内核分析三 昨天我们对内核模块进行了简单的分析今天为了让我们今后的分析没有太多障碍我们今天先简单的分析一下linux的内存管理子系统linux的内存管理子系统相当的庞大所以我们今天只是初识只要对其进行简单的了解就好了不会去追究代码但是在后面我们还会对内存管理子系统进行一次深度的分析。 在分析今天的内容之前我们先来看出自http://bbs.chinaunix.net/thread-2018659-2-1.html的一位大神做的内存管理图真心佩服大神。其实这张图可以分为两个部分一部分是地址映射另一部分就是内存分配。 所以今天我们会分析到以下内容 1.      Linux地址映射 2.      Linux内存分配   l  Linux地址映射 下面的分析我们依据上图进行分析首先我们来看其最右边的地址分布图当然这是虚拟空间。其地址分布总的可以分为两个部分我们下面慢慢分析基于32位处理器。 1.       用户空间0~3G a)      空间简介 其从0x00000000到0xBFFFFFFF共3GB的线性地址空间每个进程都有一个独立的3GB用户空间当然这是虚拟的空间。 b)      如何转换为物理空间 这一部分虚拟空间到物理空间的转换方法是我们以前在http://www.cnblogs.com/wrjvszq/p/4246634.html一文中分析过的MMU地址转换。 2.       内核空间3~4G 其从0xC0000000到0xFFFFFFFF共1GB大小内核空间又可以根据映射方式的不同分为下面四块我们一一分析 a)        内核逻辑地址空间 l  空间简介 其从0xC0000000到high_memory(图中896MB的地方)最大为896MB也就是说这块空间有可能不满但最大为896MB当然是虚拟空间。 注在此注意一下896MB我们一会在分析。 l  如何转换为物理空间 这一部分虚拟地址与物理内存中对应的地址只差一个固定偏移量3G如果内存物理地址空间从0x00000000地址编址那么这个固定偏移量就是PAGE_OFFSET如上图。 b)        Vmalloc空间 l  空间简介 其地址没有严格的界限这段空间既可以访问到我们的高端内存也可以访问到低端内存。高端和低端一会解释 l  如何转换为物理空间 不是通过简单的线性关系映射在此不研究。 c)        永久内核映射 l  空间简介 其固定用来访问高端内存。 l  如何转换为物理空间 不是通过简单的线性关系映射在此不研究。 d)        固定映射 l  空间简介 其在系统初始化期间永久映射I/O地址空间或者特殊的寄存器。 3.       遗留知识 在刚才我们前面的分析中我们留下了一些问题下面进行解释。 a)        低端内存 内核逻辑地址空间所映射的物理内存就是低端内存(实际物理内存的大小但是小于896MB) b)        高端内存 低端内存地址之上的物理内存是高端内存物理内存896MB之上。 c)        896MB来由 Linux将内存分为内核空间和用户空间其中内核空间中的0xC0000000~high_memory部分用来映射物理内存但是我们还需要映射I/O空间和固定的寄存器所以留出了high_memory~0xFFFFFFFF之间的地址来映射I/O空间和固定的寄存器而在X86平台根据经验设定了这个high_memory为896MB。 l  Linux内存分配 通过上面的介绍我们对linux对内存的管理以及地址的映射有了一个了解下面我们来分析linux是如何进行内存分配的。 通过上图我们可以分析出内存的分配过程 1.        由malloc、fork等系统调用和kmalloc、vmalloc申请得到虚拟内存。 2.        在我们使用该内存的时候产生请页异常kmalloc除外 3.        从空闲的页框分配物理内存和虚拟地址建立映射。 注kmalloc申请空间是不用经过请页异常的返回的虚拟地址已经对应了物理内存。Kmalloc可以分配到连续的物理内存vmalloc分配的是非连续的物理内存。
http://www.huolong8.cn/news/365739/

相关文章:

  • 南昌做网站要多少钱陕西省房和城乡建设厅网站
  • 朋友让你做网站如何拒绝wordpress首页新闻显示数量
  • 建一个小型的购物网站服务器一年要多少钱包装设计网课答案
  • 安徽网站开发项目人与狗做的网站谁有
  • 个人帮忙做网站吗阿里云虚拟主机购买
  • 旅游网站课程设计华为弹性云服务器创建wordpress
  • 海南做网站找谁福州网站建设索q479185700
  • 网站制作整个的流程是什么为什么不用wordpress
  • 可视化网站后台破解WordPress站点
  • 石家庄建站费用太原营销型网站建设制作
  • 平台网站建设外包wordpress 502
  • 做软件跟做网站哪个难网站虚拟主机空间
  • 怎么制作网站平台网站seo设计方案案例
  • 苏州网站建设店铺装修营销型网站建设的一般过程包括哪些环节
  • 手机主页网站推荐罗湖区seo排名
  • cms网站制作平台的重要性
  • 备案网站名称怎么写个人佛山网站上排名
  • 网站开发技术代码抖音关键词推广
  • 网站增加权重吗网页游戏开发教程
  • 佛山定制软件开发公司西安seo代理计费
  • 兰州大学网页与网站设计成都最好的软件公司
  • 重庆响应式网站建设建立平台网站要多久
  • 西安网上注册公司流程长春百度seo代理
  • 公司网站开发可行性报告专门做头像的网站
  • 点个赞科技 网站制作临沂seo公司稳健火星
  • 搭建一个网站大概需要多少钱哪个网站的ps元素好
  • 网站正在建设中服装设计基础
  • 彩票网站开发多少钱苏州网站定制
  • 兰州网站维护公司广西建设工程造价管理协会网站
  • 服务器租用网站模板网站开发工作标准