linux内存部分阅读笔记.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux内存部分阅读笔记.ppt

Linux内核分析 内存部分 内存管理 本部分介绍虚拟内存机制,并讲述了mmap 系统调用的实现,mmap允许直接将设备内存映射到用户进程的地址空间中,还分析了物理内存的管理,它包括缓存的分配及回收,请页机制,交换空间等,还说明内存缓冲池、大块内存的管理机制。 SWAP(交换模块) 负责控制内存内容的换入换出,通过替换机制使得在物理内存的页中保留需要的有效逻辑页。(从主存中淘汰最近未被访问过的逻辑页,保留进来访问过的) ■page_io.c ■swap_state.c ■swapfile.c (sys_swapin and sys swapout) ■swap.c ■kswapd (kernel thread) core(核心内存管理模块) 负责核心内存管理功能,即对页的管理。此功能可被其他内核则系统(文件系统)所使用。 ■page_alloc.c ■memory 结构特定模块 负责给各种硬件平台提供通用接口。通过执行命令来改变硬件MMU的虚拟地址映射,并在发生页错误时,提供公用方法通知别的内核子系统。此模块时实现虚拟内存的物理基础。 ■Arch/I386/mm/fault.c ■Arch/I386/mm/init.c 虚拟实现机制间的关系 2 4 5 1 8 3 6 7 首先内存管理程序通过映射机制(mmap)把用户逻辑地址映射到物理地址,如果发现程序的虚拟地址没有对应的物理内存时,发送请页要求 1;如有空闲内存可供分配,就请求分配内存(core) 2;并把正在使用的物理页记录在页缓存中 3;如果没有足够内存分配,就用交换机制(swap),腾出空间 4、5;交换机制要用到交换缓存 6,把物理页内容交换到交换文件中后也要修改也表来映射文件地址 7;另外在地址映射中要通过TLB(转换后备缓冲区)来寻找物理页 8。 80386的段页式管理机制 80386以两级虚拟-物理地址转换,即使用了分段机制与分页机制来实现两级地址转换:第一级将包含段基地址和段内偏移量的虚拟地址转换成一个线性地址;第二级把线性地址转换成物理地址。 LINUX三级页表机制 Linux内核映射机制设计为三层,在页目录(PGD)和页表(PTE)中间增设了一层“中间页目录”(PMD)。PGD、PTE和PMD三者均为数组。相应的在逻辑上也把线性地址从高位到地位分为4个位段。 Linux三层页表结构 页目录(PGD):PGD是顶级页表,由pgd_t项组成的数组,其中每一项指向一个二级页表。每个进程有自己的页目录,内核空间也有一个自己的页目录。 中级页目录(PMD):第二级页表,是页对齐的pmd_t数组。 页表(PTE):PTE是一个页对齐项数组,每一项成为一个页表项,内核为这些项使用pte_t类型表示,一个pte_t包含数据页的物理地址 对i386来说,CPU实际上不是按三层而是按两层模型进行地址映射。这就需要将虚拟的三层映射变成两层映射,跳过中间的PMD层。另外,自Pentium Pro开始,Intel引入了物理地址扩充功能PAE,允许将地址从32位扩展到36位而支持三层映射模型。 对具体i386结构的CPU,Linux内核怎样实现映射机制?下面一段代码是include/asm-i386/pgtable.h中的一段定义: 在编译linux内核时会把目录include/asm符号连接到具体CPU专用文件目录。对于i386,该

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档