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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

分页管理实验报告.docx

1、分页管理实验报告2015-2016学年第二学期操 作 系 统 课 程实 验 设 计 报 告班级 网络2班 学号 201414620207 姓名 金铖 成绩 指导教师 于复兴 1、实验题目:(1)模拟请求分页存储管理中的硬件地址转换和产生却页中断的过程。(2)采用先进先出(或LRU)算法实现分页管理的缺页调度。2、实验目的:(1)通过实验模拟请求分页存储管理中的硬件地址转换和产生却页中断帮助理解在分页式存储管理中怎样虚拟存储器。(2)通过采用先进先出(或LRU)算法实现分页管理的缺页调度帮助理解和掌握模拟分页式虚拟存储管理的缺页中断,帮助自己对请求分页管理的概念有一个清楚的理解。3、程序设计及实

2、现过程:(1)请求分页储存管理是把作业的全部信息存在磁盘上,当作业被选中时,可把作业的开始几页先装入主存并启动运行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表格式为:页号标志主存块号外存地址其中,标志表示对应页是否已经装入主存,“标志 = 0”表示该页尚未装入主存,“标志 = 1”表示该页已在主存。主存块号表示已装入主存的页所占用的块号。外存地址表示该页在外存的地址。(2)作业执行完时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件地址转换机构按页号查页表,若该页对应的标志为“1”,则表示该页已在主存。根据关系式:绝对地址=块号*块长+单元号。计算

3、出欲访问的主存单元地址,将块长设成2的整次幂,可把块号作为地址寄存器的高位部分,单元号作为低位部分。两个拼接形成绝对地址。按计算出的绝对地址取操作数,完成一条指令的执行。若访问的页对应标志为“0”,则表示不在主存,这时硬件发缺页中断信号,由操作系统按页表中的该页对应的外存地址把该页装入主存后,执行该指令。(3)设计一个“地址变换”程序来模拟硬件的地址转换工作。当访问的页不在主存时,则形成绝对地址后不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行,当访问的页不在主存时,则输出“*”,表示产生了一次缺页中断。该算法框图如下:地址变换算法:假定主存的每块长度为126个字节;现有一个共7页

4、的作业,其中第0页至第3页已装入,其余三页尚未装入主存,该作业的页表为:页号标志主存块号外存地址015011118012219013311405060121运行设计的地址变换机构程序,显示或打印运行结果。因仅模拟地址变换,并不模拟指令的实际执行。(4)在分页式虚拟存贮系统中,当硬件发出缺页中断后,转操作系统处理缺页中断。如果主存中已无空闲块,当采用先进先出算法时,则淘汰最先进入主存的一页,若该页修改过,还要存入磁盘,然后在把当前要访问的页装入该块,并修改页表中的对应标志。当采用LRU算法时,则淘汰最近没有访问的页。 大概流程图如下: (5)有了具体的核心算法实现法之后,就可以开发简单的界面,并

5、且把以上综合到程序中,最后调试BUG,完成实验。4、实验结果及分析:(1)对于题目一我制作了一个帮助界面(如图1),可以便于我记起实验的容以及理解相应知识,有了已知容,我输入逻辑地址(例如320),则程序输出为(如图2)。 图1 “题目一帮助界面” 图2 “题目一运行界面”(2)对于题目二我同样制作了一个帮助界面(如图3),可以便于我操作程序不出现格式错误,如果出错程序会弹出窗口报错(如图4)。当物理块数为3,页面使用列表为23 3 2 23 12 3 23 3时,则采用先进先出算法时table表应如下:23 3 2 2 12 12 23 3 23 3 3 2 2 12 23 23 23 3

6、3 2 12 * * * * * * (*代表缺页中断) 采用LRU算法时table表应如下:23 3 2 23 12 3 23 3 23 3 2 23 12 3 23 23 3 2 23 12 12 * * * * * (*代表缺页中断)则程序输出为(如图5、6)。 图3 “题目二帮助界面” 图4 “题目二错误窗口” 图5 “题目二FIFO算法” 图6 “题目二LRU算法”5、实验收获和体会: 通过本次实验,使我对于虚拟存储管理的相关容有了更深的认识,同时提升了我的编程水平和思考问题的能力,对于以后学习或者工作上的困难克服有很大的积极作用。通过程序设计的训练,我进一步学习和掌握了对程序的设计

7、和编写,从中体会到了面向对象程序设计的便和巧妙。懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。另外某些具体的细节容也是相当的重要。这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮助的,我要好好利用。我很珍惜这次实验的机会,冰冻三尺非一日之寒,我相信以后会更加细心、更加勤奋。6、源程序:1、下面是MenuFrame.Javapackage .hjc;import static .hjc.Constant.*;import java.awt.Button;import java.awt.Color;import java.aw

8、t.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;/ 菜单界面public class MenuFrame extends Frame implements ActionListener /* * */ pri

9、vate static final long serialVersionUID = 1L; private Image icon = Toolkit.getDefaultToolkit() .getImage(image/icon.png); / 图标 private Image text = Toolkit.getDefaultToolkit() .getImage(image/text.png); / 文字 private Button workOne = new Button(进入题目一); / Button1 private Button workTwo = new Button(进入

10、题目二); / Button2 public MenuFrame(String title) this.setTitle(title); / 设置题目 this.setLayout(null); / 设置布局 this.setBounds(PM_WIDTH - EXE_WIDTH) / 2, (PM_HEIGHT - EXE_HEIGHT) / 2, EXE_WIDTH, EXE_HEIGHT); / 应用的位置 this.setIconImage(icon); / 设置图标 this.setBackground(Color.YELLOW); / 设置背景 workOne.setBounds(

11、EXE_WIDTH - 200) / 2, (EXE_HEIGHT - 40) / 2, 200, 40); workOne.addActionListener(this); this.add(workOne); / 添加Button1 workTwo.setBounds(EXE_WIDTH - 200) / 2, (EXE_HEIGHT - 40) / 2 + 80, 200, 40); workTwo.addActionListener(this); this.add(workTwo); / 添加Button2 this.addWindowListener(new WindowAdapte

12、r() public void windowClosing(WindowEvent e) super.windowClosing(e); System.exit(0); ); / 添加窗口监听 this.setResizable(false); / 设置不可改变大小 this.setVisible(true); / 设置可视 / 绘制的法 public void paint(Graphics g) Color c = g.getColor(); / 得到初始g颜色 g.setColor(Color.BLUE); / 设置画笔为蓝色 g.drawImage(text, (EXE_WIDTH -

13、400) / 2, 40, 400, 150, this); / 绘制text图片 g.drawString(实验四), 400, 160); / 绘制文字 g.drawString(题目一 : 模拟请求分页存储管理中的硬件地址转换和产生却页中断的过程, 50, 400); / 绘制文字 g.drawString(题目二 : 采用先进先出(或LRU)算法,实现分页管理的缺页调度, 50, 430); / 绘制文字 g.setColor(Color.RED); / 设置画笔为红色 g.drawRect(45, 380, 400, 70); / 绘制矩形 g.setColor(Color.CYAN

14、); g.drawString(制作:乐事Happy, 380, 480); g.setColor(c); / 恢复画笔初始颜色 public static void main(String args) new MenuFrame(欢迎); / 动作监听 public void actionPerformed(ActionEvent e) if (e.getSource() = workOne) this.setVisible(false); new workOneFrame(this); else if (e.getSource() = workTwo) this.setVisible(false); new workTwoFrame(this); 2、下面是Constant.Javapackage .hjc;import java.awt.Toolkit;public class Constant public static int EXE_WIDTH = 500; / 应用宽度 public static int EXE_HEIGHT = 500; / 应用高度 public static int PM_WIDTH = Toolkit.getDefaultToolkit().getSc

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1