




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学中北大学 操作系统课程设计操作系统课程设计 说说 明明 书书 学学 院院 系系 软件学院 专专 业业 软件工程 学学 生生 姓姓 名 名 吕国宏 学学 号 号 0921010830 设设 计计 题题 目目 基于 Linux 的模拟存储器管理的设计 与 实现 起起 迄迄 日日 期期 2011 年 12 月 22 日 2012 年 1 月 5 日 指指 导导 教教 师师 康珺 1 2012 年 1 月 5 日 1 需求分析需求分析 通过模拟实现请求页式存储管理的几种基本页面置换算法 了解虚拟存储技术的特点 掌 握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程 并比较它 们的效率 1 在内存开辟两块存储空间 分别模拟内存和外存 大小分别是 8M 25M 2 给定三个文件 A B C 大小分别是 4 2M 8M 和 9 8M 模拟其并发执行过程 3 每个进程在内存中固定分配 4 个页面 缺页时分别采用四种置换算法 FIFO LRU NUR OPT 进行置换 4 假定页面大小为 512K 进程执行时页面调度顺序要求手动输入 要求 要求在屏幕上输出各进程页面置换过程 以图表形式描述 以及每种页面置换算法的缺 页率和置换率 并对比各算法的优劣 2总体设计总体设计 在进程运行过程中 若其所要访问的页面不在内存而需把它们调入内存 但内存已无空闲 空间时 为了保证该进程能正常运行 系统必须从内存中调出一页程序或数据 送磁盘的 对换区中 但应将哪个页面调出 须根据一定的算法来确定 一个好的页面置换算法 应 具有较低的页面更换频率 从理论上讲 应将那些以后不再会访问的页面换出 或将那些 在较长时间内不会再访问的页面调出 本程序是在 linux 环境下进行调试 采用 C 语言进行设计 模拟三个进程执行时系统 内存页面的四种置换算法 FIFO 先进先出置换算法 OPT 最佳置换算法 LRU 最近最 久未使用算法 NUR 最近最少使用算法 先建立全局变量 num 存入内存中程序访问序列 建立 block 结构体模拟内存物理块 对 访问的页面序列 先检测 block 中是否存在要访问的页面 若不存在则检测内存是否有空 闲的物理块 若有则直接将要访问的页面加入 block 若不存在则根据选择不同的算法进行 页面置换 依次进行遍历 num 直至结束 2 3 3 详细设计 详细设计 FIFO 初始化内存单元及缓冲区 输入页面串 该页面存于缓冲区中 并设置相应的时间 该页存于内存中 记录当前内存单元中的页面 结果输出 退出 是 是 否 是 否 输入物理块数 i 否 是 判断页面是否在内存中 判断 0 i 10 LRU 读入页面 查找应予置换的页 面 替换掉页面 是否还有未读页面 否 是否继续 开始 入口 OPTNUR 3 程序源代码 include include define pagesize 4 页面尺寸大小 物理块数 typedef struct BLOCK 声明一种新类型 物理块类型 int pagenum 页号 int accessed 访问量 其值表示多久未被访问 BLOCK int pc 程序计数器 用来记录对应的页号 int n 缺页计数器 用来记录缺页的次数 static int num 10 用来存储 320 条随机数 BLOCK block pagesize 定义一大小为 8 的物理块数组 void init 程序初始化函数 int findExist int curpage 查找物理块中是否有该页面 int findSpace 查找是否有空闲物理块 4 int findReplace 查找应予置换的页面 void display 显示 void pagestring 显示调用的页面队列 void OPT void LRU void FIFO void input void NUR int main int select printf 请输入第一个随机数 0 320 randam input printf 对应的调用页面队列 n pagestring do printf n printf 1 OPT 吕国宏 n printf 2 LRU 段子彧 n printf 3 FIFO 卜一川 n printf 4 NUR 雷旭东 n printf n printf 请选择一种页面置换算法 scanf d printf n 5 init switch select case 1 printf 最佳置换算法 OPT n printf n OPT break case 2 printf 最近最久未使用置换算法 LRU n printf n LRU break case 3 printf 先进先出置换算法 FIFO n printf n FIFO break case 4 printf 最近最少使用算法 NUR n printf n NUR break while select 5 return 0 6 void init int i for i 0 i pagesize i block i pagenum 1 block i accessed 10 pc n 0 int findExist int curpage int i for i 0 i pagesize i if block i pagenum curpage return i 检测到内存中有该页面 返回 block 中的位置 return 1 int findSpace 7 int i for i 0 i pagesize i if block i pagenum 1 return i 找到空闲的 block 返回 block 中的位置 return 1 int findReplace int pos 0 int i for i 0 i block pos accessed pos i 找到应该置换页面 返回 BLOCK 中位置 return pos void display int i for i 0 i pagesize i 8 if block i pagenum 1 printf 2d block i pagenum printf n void input 输入访问序列 int i printf 请输入访问序列 可以输入 10 个 用空格隔开 n for i 0 i 10 i scanf d void pagestring 显示调用的页面队列 页面号取法为随机数除 10 取整 int i printf 您刚才输入的调度队列 取前 10 个 n for i 0 i 10 i printf 2d num i printf n 9 void NUR 最近最少使用算法 int exist space position int curpage i k j for i 0 i 10 i pc num i curpage pc exist findExist curpage if exist 1 space findSpace if space 1 当内存中有空闲物理块时 block space pagenum curpage display n n 1 else for k 0 k pagesize k for j i j 10 j if block k pagenum num j 当前块号不等于预备队列的块号 10 block k accessed 将来不会用 设置为一个很大数 else block k accessed j 将当前块号访问量赋上预备队列的序 号 block k accessed 越小说明访问次数越多 break position findReplace block position pagenum curpage display n printf 缺页次数 d n n printf 缺页率 f n n 10 0 100 程序运行结果 11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025城镇公益性岗位人员招聘26人模拟试卷及1套参考答案详解
- 2025贵州罗甸县第一医共体板庚分院招聘合同制专业技术人员考前自测高频考点模拟试题带答案详解
- 2025湖南株洲市工业中等专业学校招聘第一批高层次人才13人模拟试卷及答案详解(有一套)
- 2025年压裂设备专用件项目合作计划书
- 2025年广元市贵商村镇银行科技人才招聘考前自测高频考点模拟试题及参考答案详解
- 2025年注射剂类药品项目发展计划
- 2025年春季中国诚通控股集团有限公司校园招聘49人考前自测高频考点模拟试题带答案详解
- 广播剧《撒野》课件
- IDO1-IN-27-生命科学试剂-MCE
- 2025黑龙江东北林业大学土木与交通学院派遣人才招聘1人考前自测高频考点模拟试题附答案详解(考试直接用)
- 设备保管协议书
- 退役士兵求职简历模板+自荐书
- 控制阀培训课件
- 湘菜湖南美食文化介绍PPT
- 外科学外科休克PPT
- 三年级上册语文人教版《练习册》答案
- 浙人美2011版四年级美术上册《水资源》教案及教学反思
- 全桥LLC自动计算表格
- 露天矿土石方剥离施工方案
- 魔芋怎么种?魔芋的种植技术
- GB/T 26766-2011城市公共交通调度车载信息终端
评论
0/150
提交评论