- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课设计内存管理
内存管理模拟
实验目标:
本实验的目的是从不同侧面了解 Windows 2000/XP 对用户进程的虚拟内存空间的管理、分配方法。同时需要了解跟踪程序的编写方法(与被跟踪程序保持同步,使用 Windows提供的信号量)。对Windows分配虚拟内存、改变内存状态,以及对物理内存(physical memory)和页面文件(pagefile)状态查询的 API 函数的功能、参数限制、使用规则要进一步了解。
默认情况下,32 位 Windows 2000/XP 上每个用户进程可以占有 2GB 的私有地址空间,操作系统占有剩下的 2GB。Windows 2000/XP 在 X86 体系结构上利用二级页表结构来实现虚拟地址向物理地址的变换。一个 32 位虚拟地址被解释为三个独立的分量——页目录索引、页表索引和字节索引——它们用于找出描述页面映射结构的索引。页面大小及页表项的宽度决定了页目录和页表索引的宽度。
实验要求:
使用 Windows 2000/XP 的 API 函数,编写一个包含两个线程的进程,一个线程用于模拟内存分配活动,一个线程用于跟踪第一个线程的内存行为,而且要求两个线程之间通过信号量实现同步。模拟内存活动的线程可以从一个文件中读出要进行的内存操作,每个内存操作包括如下内容:
时间:操作等待时间。
块数:分配内存的粒度。
操作:包括保留(reserve)一个区域、提交(commit)一个区域、释放(release)一个区域、回收(decommit)一个区域和加锁(lock)与解锁(unlock)一个区域,可以将这些操作编号存放于文件。保留是指保留进程的虚拟地址空间,而不分配物理存储空间。提交在内存中分配物理存储空间。回收是指释放物理内存空间,但在虚拟地址空间仍然保留,它与提交相对应,即可以回收已经提交的内存块。释放是指将物理存储和虚拟地址空间全部释放,它与保留(reserve)相对应,即可以释放已经保留的内存块。
大小:块的大小。
访 问 权 限 : 共 五 种 , 分 别 为 PAGE_READONLY,PAGE_READWRITE ,PAGE_EXECUTE,PAGE_EXECUTE_READ 和 PAGE EXETUTE_READWRITE。可以将这些权限编号存放于文件中跟踪线程将页面大小、已使用的地址范围、物理内存总量,以及虚拟内存总量等信息显示出来。
三、主要内容
设计思路
Windows 进程的虚拟地址空间中也有三种状态的页面:空闲页面、保留页面和提交页面。空闲(Free)页面:空闲页面是指那些可以保留或提交的可用页面。保留(Reserved)页面:保留页面是逻辑页面已分配但没有分配物理存储的页面。设置这种状态的效果是可以保留一部分虚拟地址,这样,如果不预先释放这些地址,就不能被其他应用程序(如 Malloc,LocalAlloc 等)的操作所使用。试图读或写空闲页面或保留页面将导致页面出错异常。保留页面可被释放或提交。提交(Committed)页面:提交页面是物理存储(在内存中或磁盘上)已被分配的页面。可对它加以保护,不许访问或允许只读访问,或允许读写访问。提交也可以被回收以释放存储空间,从而变成保留页面。
在本实验中,首先创建工程makefile生成随机输入文件,其中包含对内存要求作的各种操作;然后创建工程MemoryAllocation,实现输入文件所要求的各项内存管理操作。
主要数据结构
实现内存在管理的主要API函数有:
GetSystemInfo
函数功能:返回当前系统信息,存放入 lpSystemInfo 中。
GlobalMemoryStatus
函数功能:获得计算机系统中当前使用的物理内存和虚拟内存的信息。使用 GlobalMemoryStatus 函数
可以判断应用程序能够分配多少与其它应用程序不冲突的内存空间。但GlobalMemoryStatus 函数返回的信息是不稳定的,我们不能保证两次调用该函数都能返回到相同的信息。
VirtualQuery
函数功能:提供有关调用进程虚拟窨中的页面信息.
VirtualAlloc
函数功能:在调用进程的虚拟地址中保留或提交页面。除非设置了 MEM_RESET 标志,否则被这个函
数分配的内存单元被自动初始化为 0。
VirtualAllocEX
函数功能:使用该函数可以保留、提交或者保留和提交进程虚拟空间的页面的基址,否则返回 NULL。
VirtualFree
函数功能:可以释放或注销调用进程虚拟空间中的页面。成功则返回一个非零值,否则返回零值。
VirtualFreeEx
函数功能:该函数可以释放或注销指定进程虚拟空间中的页面。VirtualFreeEx 函数和 VirtualFree 函数区别是:Virtua
您可能关注的文档
- 护理学自考生物名词解释.doc
- 报纸版面的排与设计要点.doc
- 护理心理学试关键.doc
- 报站器-BM031-GPS报站器用户手册.doc
- 投影坐标系.doc
- 报纸排版 体字号.doc
- 报表测试与结.doc
- 报表的基本念与组成.doc
- 报表真题练.doc
- 报表管理实.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 水利工程质量检测员网上继续教育考试题库及答案混凝土专业试题及答案.pdf VIP
- 李白《将进酒》原文及赏析通用5篇.doc VIP
- 《自动喷水灭火系统施工及验收规范》GB50261-2017.docx VIP
- 小学英语_Unit 4 Lesson3 There are twenty pupils in my class教学设计学情分析教材分析课后反思.doc
- 2025贵州省旅游产业发展集团有限公司招聘115人备考试题及答案解析.docx VIP
- 《凤凰男的豪门贤妻》剧本整本.docx VIP
- 2013年水利工程质量检测员网上继续教育考试题库及答案-混凝土专业.pdf VIP
- 消毒技术规范2022.docx VIP
- 阳台封装施工安全协议书5篇.docx
- 消毒技术规范(2022).docx VIP
文档评论(0)