欢迎来到天天文库
浏览记录
ID:41725863
大小:150.48 KB
页数:5页
时间:2019-08-30
《92模拟设计页面调度》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、操作系统实验报告样本1操作系统实验报告内容⑴基本信息:完成人姓名、学号、报告日期(2)实验内容⑶实验目的⑷实验题目(5)设计思路和流程图(6)主要数据结构及其说明(7)源程序并附上注样(8)程序运行时的初值和运行结果(9)实验体会:实验中遇到的问题及解决过程、实验屮产生的错误及原因分析、实验的体会及收获、对做好今后实验提出建设性建议等。实验报告可以书面或电子文档形式捉交。2操作系统实验报告样本样本1一、实验内容模拟分页式虚拟存储管理中硕件的地址转换和缺页中断,以及选择页面调度算法处理缺页屮断。二
2、、实验目的在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝対地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实验理解在分页式存储管理屮怎样实现虚拟存储器。三、实验题目本实验有三个题F1。第一题:模拟分页式存储管理中唤件的地址转换和产生缺页中断。[设计思路、数据结构、流程图]:(1)分页式虚拟存储系统是把作业信息的副木存放在磁盘上,当作业被选中时,可把作业的开始儿页先装入主存n启动执行。为此,在为作业建
3、立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为:页号标志主存块号在磁盘上的位置其中,标志——用來表示对应页是否己经装入主存,标志位=i,则表示该页已经在主存,标志位=o,则表示该页尚未装入主存。主存块号——用來表示已经装入主存的页所占的块号。在磁盘上的位置——用来指出作业副本的每一页被存放在磁盘上的位置。(2)作业执行吋,指令中的逻辑地址指出参加运算的操作数存放的地址,该地址被解释为页号和单元号,换件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根
4、据关系式:绝对地址二块号x块长+单元号计算出欲访问的主存单元地址。如果块长为2的幕次,则可把块号作为高地址部分,把单元号作为低地址部分,两者拼接而成绝对地址。按计算出的绝对地址可以取到操作数,完成一条指令的执行。若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,山操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。(1)设计一个“地址转换”程序来模拟硬件的地址转换工作。当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的
5、地址來代替一条指令的执行。当访问的页不在主存时,则输出“*该页页号”,表示产生了一次缺页中断。该模拟程序的算法如图lo(2)假定主存的每块长度为128个字节;现冇一个共七页的作业,其中第0页至第3页已经装入主存,其余三页尚未装入主存;该作业的页表为:页号标志主存块号在磁盘上的位置015011118012219013311021400225002360121结图1地址转换模拟算法如果作业依次执行的指令序列为:操作页号单元号操作页号单元号+0070移位4053+1050+5023X2015存1037
6、存3021取2078取0056+4001-6040存6084运行设计的地址转换程序,显示或打印运行结杲。因仅模拟地址转换,并不模拟指令的执行,故可不考虑上述指令序列中的操作。第二题:用先进先出(FIFO)页而调度算法处理缺页中断。[设计思路、数据结构、流程图]:(1)在分页式虚拟存储系统中,当硬件发出“缺页中断”后,引出操作系统来处理这个屮断事件。如果主存中已经没有空闲块,则可用FIFO页面调度算法把该作业中最先进入主存的一页调出,存放到磁盘上。然后再把当前要访问的页装入该块。调出和装入后都要修
7、改页表中对应页的标志。(2)FIFO页面调度算法总是淘汰该作业中最先进入主存的那一页,因此可以用一个数组來表示该作业己在主存的页而。假定作业被选中时,把开始的m个页面装入主存,则数组的元素可定为m个。例如:P[0],P⑴…,P[m-1]其中每一个P[i](1=(),1,•••,m-1)表示一个在主存屮的页面号。它们的初值为:P[0]:=0,P[l]:=1,…,P[m-1]:=m-l用一指针K指示当要装入新页吋,应淘汰的页在数组屮的位置,K的初值为“0”。当产生缺页中断后,操作系统选择P[k」所指
8、出的页面调出,然后执行:P[k]:二要装入页的页号k:=(k+1)modm再由装入程序把要访问的一页信息装入到主存中。重新启动刚才那条指令执行。(3)编制一个FIFO页面调度程序,为了提高系统效率,如果应淘汰的页在执行屮没有修改过,则可不必把该页调出(因在磁盘上已有副本)而肓接装入一个新页将其覆盖。因此在页表屮增加是否修改过的标志,为“1”表示修改过,为“0”表示未修改过,格式为:页号标志主存块号修改标志在磁盘上的位置由于是模拟调度算法,所以,不实际地启动调出一页和装入一页的程序,而用输出调出的
此文档下载收益归作者所有