没有合适的资源?快使用搜索试试~ 我知道了~
实验3虚拟存储器管理 (2).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 33 浏览量
2023-03-22
21:02:54
上传
评论
收藏 349KB DOCX 举报
温馨提示
试读
16页
。
资源推荐
资源详情
资源评论
淮海工学院计算机科学系
实 验 报 告 书
课 程 名 : 《操作系统原理》
题 目: 实验三 虚拟存储器管理
班 级:
学 号:
名:
Z 软件 52
评语:
成绩:
操作系统原理实验报告
1、 实验目的与要求
本实验模拟请求页式虚存管理系统的页面置换情况。实验程序能模拟一个拥
有若干个虚页的进程在给定的若干个实页中运行、并在缺页中断发生时分别使用
FIFO 和 LRU 算法进行页面置换的情形。要求程序运行时屏幕能显示出置换过程
中的状态信息并输出访问结束时的页面命中率。并通过为该进程分配不同的实页
数,来比较几种算法的稳定性。
2、 实验内容或题目
本实验要求使用
C/C++
语言编程模拟一个拥有若干个虚页的进程在给定的若
干个实页中运行、并在缺页中断发生时分别使用 FIFO 和 LRU 算法进行页面置换
的情形。其中虚页的个数可以事先给定(例如 10 个),对这些虚页访问的页地址
流(其长度可以事先给定,例如 20 次虚页访问)可以由程序随机产生,也可以事
先保存在文件中。要求程序运行时屏幕能显示出置换过程中的状态信息并输出访
问结束时的页面命中率。程序应允许通过为该进程分配不同的实页数,来比较两
种置换算法的稳定性。
实验说明:
(1)设计中虚页和实页的表示
本设计利用
语言的结构体来描述虚页和实页的结构。
C/C++/Java
pn
pfn
next
time
虚页结构
实页结构
在虚页结构中,pn 代表虚页号,因为共 10 个虚页,所以 pn 的取值范围
是 0—9。pfn 代表实页号,当一虚页未装入实页时,此项值为-1;当该虚页已装
入某一实页时,此项值为所装入的实页的实页号 pfn。time 项在 FIFO 算法中不
使用,在 LRU 中用来存放对该虚页的最近访问时间。
在实页结构中中,pn 代表虚页号,表示 pn 所代表的虚页目前正放在此实页
中。pfn 代表实页号,取值范围(0—n-1)由动态指派的实页数 n 所决定。next
是一个指向实页结构体的指针,用于多个实页以链表形式组织起来,关于实页链
表的组织详见下面第 4 点。
(2)关于缺页次数的统计
操作系统原理实验报告
为计算命中率,需要统计在 20 次的虚页访问中命中的次数。为此,程序应
设置一个计数器 count,来统计虚页命中发生的次数。每当所访问的虚页的 pfn
项值不为-1,表示此虚页已被装入某实页内,此虚页被命中,count 加 1。最终
命中率=count/20*100%。
(3)LRU 算法中“最近最久未用”页面的确定
为了能找到“最近最久未用”的虚页面,程序中可引入一个时间计数器
countime,每当要访问一个虚页面时,countime 的值加 1,然后将所要访问的虚
页的 time 项值设置为增值后的当前 countime 值,表示该虚页的最后一次被访问
时间。当 LRU 算法需要置换时,从所有已分配实页的虚页中找出 time 值为最小
的虚页就是“最近最久未用”的虚页面,应该将它置换出去。
(4)算法中实页的组织
因为能分配的实页数 n 是在程序运行时由用户动态指派的,所以应使用链表
组织动态产生的多个实页。为了调度算法实现的方便,可以考虑引入 free 和 busy
两个链表:free 链表用于组织未分配出去的实页,首指针为 free_head,初始时
n 个实页都处于 free 链表中;busy 链表用于组织已分配出去的实页,首指针为
busy_head,尾指针为 busy_tail,初始值都为 null。当所要访问的一个虚页不
在实页中时,将产生缺页中断。此时若 free 链表不为空,就取下链表首指针所
指的实页,并分配给该虚页。若 free 链表为空,则说明 n 个实页已全部分配出
去,此时应进行页面置换:对于 FIFO 算法要将 busy_head 所指的实页从 busy
链表中取下,分配给该虚页,然后再将该实页插入到 busy 链表尾部;对于 LRU
算法则要从所有已分配实页的虚页中找出 time 值为最小的虚页,将该虚页从装
载它的那个实页中置换出去,并在该实页中装入当前正要访问的虚页。
3、 实验步骤
(1) 理解好相关实验说明。
(2) 根据实验说明,画出相应的程序流程图。
(3) 按照程序流程图,用
语言编程并实现。
C/C++/Java
4、流程图
操作系统原理实验报告
主页面
FIFO 算法
OPT 算法
LRU 算法
开始
取指令
查页表
Y
页标志=1?
输出*页号表示发
生缺页中断
Y
N
取下一条指令
结束
剩余15页未读,继续阅读
资源评论
G11176593
- 粉丝: 6690
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功