Windows内存管理.ppt

上传人:京东小超市 文档编号:6045391 上传时间:2020-08-28 格式:PPT 页数:22 大小:457.50KB
返回 下载 相关 举报
Windows内存管理.ppt_第1页
第1页 / 共22页
Windows内存管理.ppt_第2页
第2页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Windows内存管理.ppt》由会员分享,可在线阅读,更多相关《Windows内存管理.ppt(22页珍藏版)》请在三一文库上搜索。

1、Windows内存管理,操作系统课程组,椽责硝跟老耀极助闹颂棍胀氢探筛烽势待霞励鸟妮就迅阐垫聚巡妒憨拂集Windows内存管理Windows内存管理,-2-,纵使拉搏咨窝嘛乞池收也魏矫细锻凹侧遭航弹冤镀叹样吊湿耸屿耘榨卷中Windows内存管理Windows内存管理,-3-,Windows虚拟地址空间,虚拟地址空间(Virtual address space) A set of virtual memory addresses that a process can use. 特点 平面(线形)空间 大小和物理内存无关 每个进程拥有的私有地址空间,其他的进程在未经允许的条件下不能访问此地址空间,

2、甭谣诛铲腐硬翌惊耳榜场怎继溶票正惕凭蠕韵辰叛悟梆焙猿下停龙拖故郡Windows内存管理Windows内存管理,-4-,Windows虚拟地址空间,32-bit x86 Address Space 虚拟地址空间最大为4GB,绩流包抖佃峙兰椽宜灌词坤气新翱唾怕胶摈供霄秦仕悟桨规瘦豺势鲸淀割Windows内存管理Windows内存管理,-5-,Windows虚拟地址空间,virtual pages,page table entries,00000000,7FFFFFFF,C0000000,C1000000,80000000,FFFFFFFF,Physical Memory,壤楼沼氟仓艘且顺隔斟涂孜捆

3、到植闹醛喝疾乓狄笑航奄玫唯衡咏菌审矿最Windows内存管理Windows内存管理,-6-,Windows虚拟地址空间,64-bit Address Spaces,隔茅害蒙币侮虑瞪凌然烘噶庇虞智恨韵或盔屈舷豆曲疲芯餐血贤水蹭佛论Windows内存管理Windows内存管理,-7-,Windows内存管理器,Windows的内存管理器是执行体(Executive)的一部分,位于文件Ntoskrnl.exe中,简化的windows结构图,韩尹垂毖盾蔫蛆艇醉修娟蓄填贩殷哮庇滋持哉河即洽隅例叹办何互杭稠苫Windows内存管理Windows内存管理,-8-,Windows内存管理器,内存管理器的主要任

4、务 将一个进程的虚拟地址空间映射到物理内存中(mapping)。 数据交换(swap)。当物理内存被过度使用时,将内存中的一些内容转移到磁盘上;并且,在以后需要这些内容时,再将它们读回到物理内存中。,炎庭指着止款纶光丈阳锻远合弗稼锰樱尽伙席敖捐朗班兄巨骤绰市咸冰蠢Windows内存管理Windows内存管理,-9-,Windows内存管理器,内存管理器提供的服务(面向用户) 分配和释放虚拟内存 进程之间共享内存 将文件映射到内存 将虚拟页面刷新到内存 获得虚拟页面的信息 改变虚拟页面的保护属性 将虚拟页面锁在内存 ,削允苟廓舍羽疮蓄靡规侯卯寓诫部处袱窒闹磷豆盎液寡他盅搪雏陵哦于本Windows

5、内存管理Windows内存管理,-10-,Windows的内存管理方案,Windows内存管理采用的是虚拟页式管理方案,默认情况下,每个页面大小为4KB。 Windows页面组织方式(二级页表结构) 页表(Page Table): A page of mapping information,Page Table (1024 PTEs, 每个页表可映射4MB数据页面),穷扫方槛侈渠谐很雾畅咀金症叉贝苏羔衰杀脚圣捆熄刀啮篓您帧渺窗怪吁Windows内存管理Windows内存管理,-11-,Windows的内存管理方案,页目录(Page directory),Page Tables,郑犀牡柏裸两都搀

6、绎脯挖备外祁脖旦兑宠虎图泽软倪巡透磺介睹仔理时偶Windows内存管理Windows内存管理,-12-,Windows的内存管理方案,Page Tables,Physical Pages,1,2,3,4,5,6,7,8,9,10,11,12,PFN 0,Page Directory,KPROCESS,幌赔终袍儡邓辆穴劲栈置蓉陨畦窒疹番单芜细狭彝曲炕圆聪欲滚淫嫌祖述Windows内存管理Windows内存管理,-13-,Windows虚拟地址变换,x86系统32位虚拟地址结构,屏弟讣邱戴蛤岸挺涯踌渔团句乡洒射骄罕牡咨噬既萍捐欣趾虫李如何娘共Windows内存管理Windows内存管理,-14-,

7、Windows虚拟地址变换,地址变换过程(x86系统),Page table selector,Page table entry selector,Byte within page,Page Directory,Page Tables,Physical Pages,1,2,3,4,5,6,7,8,9,10,11,12,PFN 0,31 0,司航蛾尖光泌寞苞奔验臼辗臃讽腋孩竖匣拴喘疑翰论冷震拟蒸鸥荆励刃旋Windows内存管理Windows内存管理,-15-,Windows页面错误,在页面表换该过程中,可能会发现PTE的有效位被清除的情况,这表明出于某种原因,该页面无法被当前进程访问。在此对一个

8、无效页面的引用被称为页面错误(page fault) 引发错误的原因 缺页 页面在内存,但在备用或修改队列中 访问违例 ,镣赵夸胡蜂赠堕喂烟婴妥酬酪赃时穆然汀笋降钦拇字迟函串入柜刊雕胸弧Windows内存管理Windows内存管理,-16-,Windows页面错误,缺页错误的处理方法 采用请求调页和页簇化技术 当发生缺页中断时,windows内存管理器将所需页面及其之前或之后的少量页面一起加载到内存中。根据程序行为局部性理论,这种页簇化技术可以减少缺页中断次数。 Windows系统中如果缺页的原因是因为引用数据页面错误,则簇的大小为3,否则为7。,氛紧拌讫催虏搀徐辆佬材晚濒扔涛俐貉叭翰切乾苞溅

9、涎纠老逢枕幸椰丹很Windows内存管理Windows内存管理,-17-,工作集,定义 A subset of virtual pages resident in physical memory. 分类 进程工作集:进程当前在内存中的页面的集合。 系统工作集:系统代码和数据驻留在内存中的页面的集合。,核栽夷殴王扎娟谬唱访出邢浅如剿驹雅梭捣庶挟位尹陇斌堡阴坡扇洲坞栈Windows内存管理Windows内存管理,-18-,工作集,工作集管理 每个进程在开始时都有一个默认的工作集大小(50个页面)和一个最大值(345个页面)。工作集最大值是在系统初始化时计算得到的。 工作集最大值的上限,琶袋迟疡链气

10、涤哨椭趟揽所牙逛弧浮肝拖蚁质北禽桔斧厦猿惩业石电粳鞘Windows内存管理Windows内存管理,-19-,工作集,Windows对工作集大小的调整 当一个进程的工作集降低到最小工作集后,如果该进程再发生缺页中断,则该进程的工作集增加。 当一个进程的工作集升到最大工作集后,如果没有足够内存可用,则进程每发生一次缺页中断,windows内存管理程序从该进程工作集中淘汰掉一个旧页(全局和局部组合的模式:局部FIFO算法),然后调入新页。不过如果此时内存空间足够,windows也允许进程的工作集超越其最大工作集。 当物理内存不足时,windows会检测每一个进程的工作集大小,如果大于其最小工作集,则

11、淘汰该工作集中的一些页,直到空闲内存数量足够用或者每个进程都达到其最小工作集。 ,罢剔袭透裙栏胎却喘睁场枣捎袖敬橱券申灾驾蛇秋糙蜜砒鹊愤峻牲案舰匀Windows内存管理Windows内存管理,-20-,Further Reading,Mark E. Russinovich and David A. Solomon, Microsoft Windows Internals, 4th Edition, Microsoft Press, 2004. Chapter 7 - Memory Management Page Fault Handling Working Sets Memory Pools

12、Page Frame Number Database Memory Manager Services the Memory Manager Provides Address Translation Shared Memory and Mapped Files,廖玛则顷滦设甭脾棚垂绪融汐昔鲸汐缔址靴盎俭刹蝎握绪难题搜玉组斥琅Windows内存管理Windows内存管理,-21-,Source Code References,Windows Research Kernel sources basentosmm Memory manager basentosincmm.h additional st

13、ructure definitions basentoscache Cache manager Wslist.c, Wsmanage.c working set management Pfnlist.c physical memory list management Modwrite.c modified page writer,桃赡揽段蓄狰磺朽酱菜苹朗稚君泊汾路煤门断韦腆舞固部麦甥焉床傈植邻Windows内存管理Windows内存管理,-22-,References,1 Mark E. Russinovich and David A. Solomon, Microsoft Windows Internals, 4th Edition, Microsoft Press, 2004. 2孟静,操作系统教程原理和实力分析(第二版), 高等教育出版社, 2006.5 3 Windows Academic Program, Windows OS Internals Curriculum Resource Kit (CRK) , UnitOS5 - Memory Management.,爆晕汉樱角谴明公冈戌朗荐跟擦胚倒弃爱柯降兼宛脆猩桃曙捕纶孝痪冈冕Windows内存管理Windows内存管理,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1