- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Linux物理内存管理linux解决物理内存问题的方法外部碎片——伙伴算法内部碎片——slab缓存非连续内存区内存的分配——vmalloc()一、伙伴算法在linux中,频繁地请求和释放不同大小的一组连续页框,必然导致在已分配页框的块内分散了许多小块的空闲页框,即所谓的外部碎片。为此linux建立了一种健壮、高效的分配策略——伙伴算法,来解决外部碎片问题。伙伴算法:1、它把物理内存中的所有页面按照2的整数次幂(2n)进行划分,linux对物理内存进行11次划分,也就是有11个块链表每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512和1024个连续的页框这样划分后形成大小不同的存储块,称为页面块(页块)。包含一个页面的块称为1页块,包含两个页面的块称为2页块,依次类推。2、将每种页块按照它们的先后顺序两两结合成一对对的buddy“伙伴”,如:1页块中:0和1、2和3、4和5、…….;就是一对对的1页块buddy“伙伴”2页块中:0~1和2~3、4~5和6~7、8~9和10~11、…….就是一对对的2页块buddy“伙伴”3、对空闲区域的管理按照页块大小分组进行管理。系统设置了一个静态数组free_area[]来管理各个空闲页块组。在/mm/page_alloc.c中。伙伴系统(Buddysystem)特点:(1)分配块的大小均是2k;(2)分配和回收简单可利用空间表结构:伙伴算法思想:一、内存分配1、当收到内存分配请求时,系统照buddy算法,根据请求的页面数在空闲块数组对应的空闲页面组中有哪些信誉好的足球投注网站。2、若请求的页面不是2的整数次幂,则按照稍大于请求数的2的整数次幂的值有哪些信誉好的足球投注网站对应的页面块组。例如请求2个页面时,则有哪些信誉好的足球投注网站2页面块组,请求3个页面时,就有哪些信誉好的足球投注网站4页面块组。3、当有哪些信誉好的足球投注网站对应的页块组,而没有可利用的空闲页块时,再有哪些信誉好的足球投注网站更大一些的页块组,例如当查找4页块组没有可利用的空闲页块时,就再有哪些信誉好的足球投注网站8页块组。4、在找到可利用的空闲页块后,就按照请求的页面块数分配所需的页面。5、当某一空闲页面块被分配后,若仍有剩余的空闲页面,则根据剩余页面的大小把它们加入相应的空闲页块组中。初始状态伙伴算法中数据结构的定义数组的元素是一个个page结构体,每一个page结构对应一个物理页面,定义如下:typedefstructpage{structlist_headlist;/*指向页面所在链表中的下一页*/structaddress_space*mapping; /*指向正在映射的inode*/unsignedlongindex;//如果页面属于某个文件,代表页面在文件中的序号structpage*next_hash;/*指向页高速缓存哈希表中下一项*/atomic_tcount;/*共享该物理页面的进程计数*/unsignedlongflags;/*页面各种不同的属性*/structlist_headlru;/*lru链表指针,指向activelist*/wait_queue_head_twait;/*指向等待该页面的进程等待队列*/structpage**pprev_hash; /*与next_hash相对应*/structbuffer_head*buffers;/*当该页被用作磁盘块缓存时,指向缓存头部*/void*virtual;/*页面对应的虚地址*/structzone_struct*zone; /*页所在的内存管理区zone*/}mem_map_t;二、内存释放(其实内存分配算法的逆过程就是页框块的释放程,也是该算法名字的由来)1、当释放内存页面时,系统将这些页面回收并作为空闲页面看待。2、然后检查是否存在与这些页面相邻的其它空闲页块,若存在,则把它们合并为一个连续的空闲区。3、再按照buddy算法划分不同的页面块,并加到相应的页面块组中。二、slablinux经常出现内存分配并释放的对象,如进程描述符等,这些对象的大小一般比较小,如果直接采用伙伴系统来进行分配和释放,不仅会造成大量的内存碎片,而且处理速度也太慢,从而引入了slab机制slab工作原理:slab分配器是基于对象进行管理的,相同类型的对象归为一类(如进程描述符就是一类),每当要申请这样一个对象,slab分
您可能关注的文档
- 导数及其应用复习与小结.ppt
- 物质的量浓度(定稿).ppt
- 超级经典:交变电流专题复习.ppt
- 交变电流复习.ppt
- 分数的简单计算.ppt
- 物质的量浓度(课件).ppt
- 分数的简单计算的练习课(1).ppt
- 物质的量浓度1.ppt
- 现代制造技术2.ppt
- 会计从业资格证复习.ppt
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
最近下载
- 重庆沙坪坝南开中学初2025届初一下期末数学试卷.pdf
- 2024年首届全国“红旗杯”班组长大赛考试题库必刷必练800题(含答案).doc VIP
- 2024高考语文临门冲刺押题卷二(新高考九省卷)(原卷版)(全国通用).pdf VIP
- 招投标,商务标,技术标,土木工程施工.doc
- 内地居民前往香港或者澳门定居申请表式样.doc
- 2024年支部党纪学习教育学习计划.docx VIP
- 六年级下册语文试题-第一单元字词专项练部编版(含答案).doc
- 2023年广东省广州市中考地理试题卷(含答案解析).docx
- 穴位贴敷疗法操作规范及注意事项课件.pptx
- 红色简约风《你当像鸟飞往你的山》读书分享PPT模板.pptx VIP
文档评论(0)