欢迎来到天天文库
浏览记录
ID:27614452
大小:679.50 KB
页数:22页
时间:2018-12-01
《《windows内存》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows内存管理操作系统课程组2Windows虚拟地址空间虚拟地址空间(Virtualaddressspace)Asetofvirtualmemoryaddressesthataprocesscanuse.特点平面(线形)空间大小和物理内存无关每个进程拥有的私有地址空间,其他的进程在未经允许的条件下不能访问此地址空间3Windows虚拟地址空间32-bitx86AddressSpace虚拟地址空间最大为4GB2GB用户进程空间(低端x00000000—x7FFFFFFF)2GB系统空间(受保护
2、,高端x80000000--xFFFFFFFF)Default3GBUserprocessspace1GBSystemSpace3GBuserspaceWindows2000AdvancedServer,WindowsXP(SP2及后继版本),WindowsServer20034Windows虚拟地址空间virtualpagespagetableentries000000007FFFFFFFC0000000C100000080000000FFFFFFFFPhysicalMemory5Windows虚
3、拟地址空间64-bitAddressSpaces8192GB(8TB)Userprocessspace6657GBSystemSpace7152GB(7TB)Userprocessspace6144GBSystemSpacex64Itanium6Windows内存管理器Windows的内存管理器是执行体(Executive)的一部分,位于文件Ntoskrnl.exe中简化的windows结构图7Windows内存管理器内存管理器的主要任务将一个进程的虚拟地址空间映射到物理内存中(mapping)。数
4、据交换(swap)。当物理内存被过度使用时,将内存中的一些内容转移到磁盘上;并且,在以后需要这些内容时,再将它们读回到物理内存中。8Windows内存管理器内存管理器提供的服务(面向用户)分配和释放虚拟内存进程之间共享内存将文件映射到内存将虚拟页面刷新到内存获得虚拟页面的信息改变虚拟页面的保护属性将虚拟页面锁在内存……API函数:页面粒度的虚拟内存函数内存映射文件函数堆函数9Windows的内存管理方案Windows内存管理采用的是虚拟页式管理方案,默认情况下,每个页面大小为4KB。Windows页
5、面组织方式(二级页表结构)页表(PageTable):ApageofmappinginformationPageTable(1024PTEs,每个页表可映射4MB数据页面)PTE(pagetableentry):4字节10Windows的内存管理方案页目录(Pagedirectory)PageDirectory(oneperprocess,1024entries)PageTablesPDE(pagedirectoryentries)4字节:记录页表的状态和位置KPROCESS11Windows的内存
6、管理方案PageTablesphysicalpagenumber(“pageframenumber”or“PFN”)PhysicalPages123456789101112PFN0PageDirectoryKPROCESS12虚拟页号Windows虚拟地址变换x86系统32位虚拟地址结构3122211211010bits10bits12bits页目录索引页表索引页内字节索引13Windows虚拟地址变换地址变换过程(x86系统)PagetableselectorPagetableentryselec
7、torBytewithinpageindexPageDirectoryindexPageTablesphysicalpagenumber(“pageframenumber”or“PFN”)PhysicalPages123456789101112PFN031014Windows页面错误在页面表换该过程中,可能会发现PTE的有效位被清除的情况,这表明出于某种原因,该页面无法被当前进程访问。在此对一个无效页面的引用被称为页面错误(pagefault)引发错误的原因缺页页面在内存,但在备用或修改队列中访问违
8、例……15Windows页面错误缺页错误的处理方法采用请求调页和页簇化技术当发生缺页中断时,windows内存管理器将所需页面及其之前或之后的少量页面一起加载到内存中。根据程序行为局部性理论,这种页簇化技术可以减少缺页中断次数。Windows系统中如果缺页的原因是因为引用数据页面错误,则簇的大小为3,否则为7。16工作集定义Asubsetofvirtualpagesresidentinphysicalmemory.分类进程工作集:进程当前在内存中的页面的集合。系统工作
此文档下载收益归作者所有