模拟设计页式存储管理中地址转换.docVIP

  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文档。上传文档
查看更多
模拟设计页式存储管理中地址转换

学 号: 课 程 设 计 课程名称 操作系统 设计题目 模拟设计页式存储管理中地址转换 学 院 计算机科学与技术 班 级 计算机 姓 名 指导教师 2011 年 1 月 20 日 课程设计任务书 学生姓名: 专业班级: 指导教师: 工作单位: 计算机科学与技术学院 题 目: 模拟设计页式存储管理中地址转换 初始条件: 1.预备内容:阅读操作系统的内存管理章节内容,理解页式存储管理的思想及相应的分配主存的过程。 2.实践准备:掌握一种计算机高级语言的使用。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.实现页式存储管理中逻辑地址到物理地址的转换。能够处理以下的情形:i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他的其他方法(如果有,简要说明该方法); v)对实验题的评价和改进意见,请你推荐设计题目。 时间安排: 设计安排一周:周1、周2:完成程序分析及设计。 周2、周3:完成程序调试及测试。 周4、周5:验收、撰写课程设计报告。 (注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记) 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 模拟设计页式存储管理中地址转换 1.课程设计目的与功能 1.1设计目的 了解有关虚拟存储器、页式存储管理等概念,并知道了如何将地址转换 1.2设计目的 实现页式存储管理中逻辑地址到物理地址的转换。能够处理以下的情形:页式存储管理地址变换比较复杂,还要有相应的硬件和数据结构的支持。下面分别加以说明。 1.地址结构 页式存储管理有一套地址变换机构,它会自动将用户进程的逻辑地址分成两部分。当要访问内存时,地址变换机构就会将逻辑地址根据以下公式转换成的结构。设逻辑地址为A,系统的页面大小为L,则公式为: P=int(A/L) d=A MOD L 其中P等于A除以L后取整,d等于A除以L后的余数,即求模。 2.页表 页表是页式存储管理系统中的重要数据结构,页式存储管理允许进程占的是分散的内存空间,于是,系统就为每一个进程建立一张逻辑地址空间的页面与物理地址空间的物理块的映像表,也称为页表。在页表中不仅记录了逻辑地址空间的页号与物理地址空间的块对应信息,还有其它辅助信息。例如,可以在页表中加上页面的访问控制字段,根据系统的需要,设置存取控制页面的访问属性:只读、读/写、可执行等,对页面信息进行保护。当进行内存访问时,可以通过页表查找到相应的物理块号,就可以访问到要访问的物理单元了。 3基本地址变换 地下变换就是将用户程序中的逻辑地址转变成内存中的物理地址。系统中设有地址变换机构,用来实现将逻辑地址转换成物理地址。它要借助页表来实现。 由于用户程序大小不等,有的还比较大,大小不等的页表信息很难用寄存器来存储,再说寄存器的价格也比较高,若都用寄存器来实现页表信息的存储,则会增加计算机的成本。 因此,页表一般存放在内存中,只要用一组寄存器来存放页表的首地址和页表长度即可。进程没有运行时,页表的首地址和页表长度存放在PCB中,当进程执行时,才将页表的首地址和页表长度分别装入相应的页表寄存器和页表长度寄存器中。这样,在多道程序环境下,即使是单处理机的系统,也只要有一组寄存器就可以了。 当进程要访问内存时,地址变换机构就会根据系统页面的配置将逻辑地址自动分解成的地址结构,即将有效的逻辑地址分解成页号和页内偏移量,从页表长度寄存器中取出页表长度L,与当前要访问的页号P进行比较,若P≥L,则说明要访问的地址超出该进程的地址空间,将停止本次访问,本产生一个越界中断;若P≤L,则从页表寄存器中取到页表的首地址,再以页号P为索引检索页表(只要将页表首地址与页号P相加即可),查到后,从页表中取得该页对应的物理块号,最后,将得的物理块号与有效逻辑地址分解出来的页内偏移量d相拼接,就形成要访问的内存的有效物理地址,完成本次逻辑地址到物理地址的转换。#include iostream #include string #include windows.h using namespace std; using std::string; string DectoHex(int dec); char getHexChar(int temp); int HextoDec(string h

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档