ImageVerifierCode 换一换
格式:DOCX , 页数:70 ,大小:465.07KB ,
资源ID:17873834      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17873834.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机虚拟页式存储管理系统的仿真实现.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机虚拟页式存储管理系统的仿真实现.docx

1、计算机虚拟页式存储管理系统的仿真实现 操作系统课程设计实践报告题 目: 计算机虚拟页式存储管理系统的仿真实现 姓 名: * 学 院: 信息科技学院 专 业: 计算机科学技术系 班 级: * 学 号: * 指导教师: * 职称: * 2017年3月 12 日摘要3关键词3Abstract3Key words31绪论41.1选题目的41.2选题意义42设计思路与完成功能说明42.1课程设计思路42.1.1模拟多进程并发环境42.1.2页面访问请求与异常处理52.1.3过程可视化52.1.4整体思路流程图62.2完成功能说明73裸机硬件部件仿真设计83.1存储空间的设计与抽象83.2存储管理部件MM

2、U的抽象与设计93.3中央处理器CPU的抽象与设计94通用数据结构设计94.1后备作业队列抽象设计94.1.1数据结构设计94.1.2基础操作94.2进程状态队列抽象设计104.2.1数据结构设计104.2.2基础操作104.3快表抽象设计114.3.1数据结构设计114.3.2基础操作114.4页表项抽象设计124.4.1数据结构设计124.4.2基础操作124.5外页表项抽象设计124.5.1数据结构设计124.5.2基础操作134.6页表基址寄存器抽象设计134.6.1数据结构设计134.6.2基础操作134.7程序状态字抽象设计134.7.1数据结构设计134.7.2基础操作134.8

3、驻留集抽象设计134.8.1数据结构设计134.8.2基础操作144.9内存抽象设计144.9.1数据结构设计144.9.2基础操作154.10外存抽象设计154.10.1数据结构设计154.10.2基础操作155软件系统设计155.1系统结构155.1.1底层硬件抽象155.1.2功能模拟155.1.3模块整合165.1.4系统结构图175.2系统类图与顺序图185.2.1系统类图185.2.2系统顺序图195.3功能实现流程205.3.1实现作业生成、进程创建与资源分配205.3.2实现进程调度与进程上下文切换215.3.3实现对快表和驻留集的管理225.3.4实现快表和慢表的搜索235.

4、3.5实现缺页异常处理与命中率的计算245.3.6实现过程可视化246关键操作256.1模拟并发环境256.1.1进程阻塞原语256.1.2进程唤醒原语256.1.3进程上下文切换256.2页面替换算法266.2.1先入先出FIFO页面替换算法266.2.2最久未被访问LRU页面替换算法276.2.3时钟CLOCK页面替换算法286.3过程可视化297技术问题分析与解决方案307.1存在问题与解决方案307.2其他设想318实践体会31参考文献32附件133附件238附件339计算机虚拟页式存储管理系统的仿真实现*专业学生 *指导教师 *摘要:任何程序和数据必须占用内存空间才能得以执行和处理,

5、但让进程全部信息驻留于内存是对内存资源的极大浪费,因此利用“部分装入,部分替换”来实现存储空间在逻辑上的扩充是提高内存利用率的有效手段,虚拟页式存储管理是将程序信息副本存放在外存中,当它被调度投入运行时仅装入当前使用页面;进程执行过程中访问到不在内存的页面时,再由系统自动调入,根据页面替换算法选择淘汰页面。它依靠底层硬件MMU支撑来完成地址转换和存储保护的功能,从逻辑上为用户提供一个比物理内存容量大得多的、可寻址的存储器。本次课程设计目标是利用c+程序设计语言抽象硬件部件,模拟系统软件功能,完成并行环境下计算机虚拟页式存储管理系统的仿真实现。在实现过程中,采用Qt Creator集成开发环境,

6、利用c+面向对象的思想,用对象类对硬件部件进行抽象模拟,用成员函数作为接口,模拟各部件API完成功能的集成,基本完成了预期功能;实现了并发环境下的页面访问请求,利用多种页面替换算法实现缺页异常处理中的页面替换;实现了进程调度、内外存实时占用情况及页面替换的过程可视化,并最终将过程中涉及到的数据变化保存至指定文档。关键词:虚拟页式存储管理;内存;外存;页面替换算法;MMU;c+;可视化 The Computer Simulation of Virtual Page Storage Management SystemStudent majoring in * * Tutor *Abstract:.

7、Any program or data must occupy memory space can be implemented and processing, but let all of the information process resides in the memory is to the memory resources waste, therefore part of the load, partial substitution is used to realize the storage space on the logic of expansion is an effecti

8、ve method for improving memory utilization, virtual storage management page type is the program a copy of the information stored in CRT, when it is dispatching operation use only into the current page; The execution of a process to access to the page that is not in the memory, again by the system au

9、tomatically transfer into, according to the page replacement algorithm selection page. It relies on the underlying hardware MMU support to complete the address translation and storage protection function, logically provides users with a much larger than physical memory capacity, addressable memory.

10、This course was designed by using c + + program design language abstract hardware components, function of simulation system software, complete the parallel computer virtual page storage management system under the environment of the simulation implementation. In the process of implementation, using

11、Qt Creator integrated development environment, using the ideas of object-oriented c + +, use object classes to abstract simulation of hardware components, with a member function as the interface, analog components API complete function integration, basically completed the expected function; Page acc

12、ess request realized concurrent environment, using a variety of page replacement algorithm implementation missing page page replacement in exception handling; Realized the real-time process scheduling, both inside and outside storage usage and page replacement process visualization, and eventually w

13、ill be involved in the process of data saved to the specified document.Key words: Virtual page storage management; Memory; Peripheral storage; Page replacement algorithm. MMU. C + +; visualization1 绪论11选题目的编写程序模拟请求分页虚存管理中的存储管理部件MMU进行虚实地址转换的过程以及缺页异常的处理,利用页面替换算法淘汰页面,并实现过程可视化。主要包括:(1)模拟作业执行与调度,进程创建与终止;

14、(2)模拟进程调度与进程上下文切换;(3)实现硬件页表基址寄存器与快表的管理与访问;(4)仿真实现存储管理部件MMU;(5)仿真实现页表、外页表并对其进行管理与访问;(6)处理缺页异常,按照替换算法选择淘汰页面;(7)实现对内存与外存的抽象设计;(8)内存与外存占用情况的可视化;(9)进程调度与页面替换过程可视化。从而将操作系统的处理器管理与存储管理联系在一起,将理论与实践相结合,从整体上系统的了解并发环境中的地址转换机制,更深入的理解计算机虚拟页式存储管理系统的实现,在加深对理论理解的同时强化编程能力与算法思维。12选题意义存储管理是操作系统的重要组成部分,负责管理计算机系统的重要资源内存储

15、器。由于任何程序和数据必须占用内存空间才能得以执行和处理,因此存储管理的优劣直接影响系统性能。但是进程全部信息驻留于内存是对内存资源的极大浪费,因此利用“部分装入,部分替换”来实现存储空间在逻辑上的扩充是提高内存利用率的有效手段。操作系统是一个并发系统,所有功能都是在并发环境下实现的,因此,如何将虚拟页式存储管理和处理器管理有效的结合起来是该选题的重点也是难点,这也是意义所在。找到独立章节的理论知识之间的联系并用代码建立联系,实现相应的功能,不仅仅是对理论知识的深入理解的过程,也是实践能力、动手能力和编程能力的考验与锻炼有着重要意义。虚拟页式存储管理系统涉及到的硬件有中央处理器CPU、存储管理

16、部件MMU、内存、外存以及页表基址寄存器、快表等相关寄存器。将这些硬件设备抽象成代码实现不仅仅需要对这些硬件的属性结构有全面的了解,还需要对他们的功能做出动态的仿真。从而在深化理论知识的同时,也对面向对象的抽象能力与对数据结构灵活运用的能力的锻炼有着重要意义。同时,虚拟页式存储管理系统所基于的“装入替换”涉及到了页面的装入、替换与淘汰,因此需要页面替换算法来实现这些功能。常见的页面替换算法诸如先入先出页面替换算法(FIFO)、最近最少使用页面替换算法(LRU)、时钟页面替换算法(LRU)等,用程序设计语言实现这些算法,也对算法思维的培养有着重要意义。2 设计思路与完成功能说明21 课程设计思路

17、211 模拟多进程并发环境首先从高级调度开始,作业生成后从后备作业队列根据相关调度策略(以先来先服务为例)获取作业,接着动态创建作业所需一系列进程,即从PCB池中申请空白PCB,对其初始化并分配内存空间等一系列资源。如果获得所需的资源,将该PCB从新建态转换为就绪态,即加入就绪队列,同时更改进程状态位。需要注意的是,在进程的抽象设计中,为了简化设计而使PCB代表进程,进程的指令数随机生成,指令所需访问的逻辑页面随机生成,逻辑页号与物理页号的对应关系由系统为每个进程自动生成。进程访问某一页面时MMU根据CPU给出的逻辑地址获取相应的逻辑页号与页内偏移;然后以页号为索引搜索快表,如果快表中存在该页

18、号,则获得物理页号与偏移地址拼接成物理地址;如果快表中不存在该页号,则搜索慢表,如果慢表中存在该页号(即页表项的驻留位为1),也就是该页面存在于内存,则直接获取相应物理页号,并将该项填入快表;如果慢表中不存在该页号,也就是该页面未调入内存(即页表项驻留位为0),则发出异常信号;该进程被阻塞,释放CPU资源并在保存现场信息后进入等待队列,下一个进程获得CPU资源开始回复自己的现场,也就是进程上下文切换,然后进入运行态。进程从外页表获得该缺页的信息后,如果驻留集未满则直接加入该页面对应的逻辑页号,如果驻留集满则采用页面替换策略选择淘汰相应页面对应的逻辑页号,并加入新页面对应的逻辑页号,同时将新页面

19、的逻辑页号与物理页号的对应关系加入进程快表信息。这时进程等待事件已经结束,进程被唤醒,进入就绪队列等待CPU资源。需要注意,在页面的访问与替换过程中涉及到页表引用位、驻留位等标志位的转变。 进程指令执行完毕后,需要结束进程进入终止态,从PCB池中撤销该进程PCB,并收回进程所占内存空间。212 页面访问请求与异常处理页面访问请求过程如下: (1)MMU接收CPU传送来的逻辑地址并按照页面大小把它从某位起分解成两部分:页号和页内偏移; (2)以页号为索引快速搜索快表TLB; (3)如果命中,立即送出页框号,并与页内偏移拼接成物理地址; (4)如果不命中,由硬件以页号为索引搜索页表,页表基址由硬件

20、页表基址寄存器指出; (5)如果页表被命中,说明访问页面已经在内存中,可送出页框号,并与页内偏移拼接成物理地址,同时要把这个页面和页框信息装入快表TLB,以备再次访问。 (6)如果发现页表中的对应页面失效,MMU发出缺页异常;缺页异常处理过程如下:(1)挂起请求调页的进程;(2)根据页号搜索外页表,找到存放此页的磁盘物理地址;(3)查看内存是否有空闲页框,如果有则分配一个;(4)如果内存中无空闲页框,按照替换算法选择淘汰页面;(5)将修改过的的淘汰页内容写回磁盘原先位置;(6)进行调页,把页面装入内存所分配的页框中,同时修改进程页表项。213 过程可视化(1)控制台显示作业与进程的创建、执行、

21、调度等状态信息,并显示进程的页面访问请求、页面替换过程以及内存、外存的占用情况;(2)将作业与进程的创建、执行、调度等状态信息写入文档,并将进程的页面访问请求以及页面替换过程写入文档,将内存与外存的占用情况写入文档;(3)将进程的页面访问请求以及页面替换过程写入图形化界面,将内存与外存的占用情况以位示图的方法写入图形化界面,实现动态的过程可视化。214 整体思路流程图图2.1.4-1 整体思路流程图图2.1.4-2 整体思路流程图22 完成功能说明(1)抽象并设计CPU模块。实现进程上下文切换,模拟进程指令的执行与进程对页面访问请求的生成,实现对快表和页表基址寄存器等硬件寄存器的访问与管理,其

22、中,快表按照FIFO算法进行表项替换;函数声明参数返回值函数功能setPCBPCB pcbvoid设置进程控制块,表示该进程正在运行setPSWPSW pswvoid设置程序状态字,用于进程上下文切换setPtbrPTBR ptbrvoid设置进程的页表基址,用于进程上下文切换setTLBTQueue ptlbvoid置快表内容,用于进程上下文切换setPCint pcvoid设置指令计数器setIRint irvoid设置当前指令getIR无int获得当前指令逻辑地址InitTlb无void初始化快表ClearTlb无void清空快表(2)抽象并设计MMU模块,实现对逻辑地址的分解、对快表与

23、慢表的搜索、发出缺页异常信号,并调用相应异常处理模块完成对缺页异常的处理,最后输出物理地址;函数声明参数返回值函数功能setLogicAddr无void获得逻辑地址setPageNoTemp无void获得页号setOffsetAddr无void获得偏移地址setCPUCPU cpuvoid获得当前CPU状态setPhysicAddr无void获得物理地址CutLogicAddr无void分解逻辑地址,页号3位,页内偏移5位(3)抽象并设计PCB模块与PCBPOOL模块,设计后备作业队列、进程等待队列、就绪队列,实现作业的生成、调度、执行与终止,以及在作业执行过程中,进程的创建、调度与终止,作业

24、和进程均按照先来先服务算法进行调度,在进程调度时需要保护CPU现场信息,以保证进程能够在自己的运行环境下运行;函数声明参数返回值函数功能CreatePCB无int申请一个空白PCB,分配内存并初始化FreePCBPCB fpcbint释放PCBBlockCoursePCB bpcbint进程阻塞原语WakeCoursePCB &wpcbint进程唤醒原语ReadyQueueisEmpty无int 判断就绪队列是否为空WaitQueueisEmpty无int判断等待队列是否为空EnReadyQueuePCB qpcbint进就绪队列,表示进程已获得内存等资源,进入就绪态DeReadyQueue无PCB出就绪队列,表示进程获得处理器,进入运行态Read

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2