存储器管理.doc_第1页
存储器管理.doc_第2页
存储器管理.doc_第3页
存储器管理.doc_第4页
存储器管理.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操操作作系系统统实实验验报报告告 题题 目 目 存储器管理 专专 业 业 班班 级 级 学学 号 号 姓姓 名 名 2012 年年 12 月月 21 日日 一 实验内容 编程模拟实现存储器页面置换的常用算法 调试分析相关存储器管理程序 加深对存储器页面置换常用算法的理解和实现技巧 二 实验要求 1 自定义存储器管理有关的数据结构 2 依据最佳置换算法 OPTIMAL 先进先出置换算法 FIFO 最近最久未 使用算法 LRU 原理 编写对应函数 模拟系统的存储器页面置换功能 3 为了更好地模拟和评价算法的性能 允许用户自行指定可用页块数并输入需 访问的页面号序列 4 统计以上算法实际需要的总页面数 缺页中断次数以及它们的缺页率 5 比较 分析以上算法的置换性能 并作出自己的评价 三 实验步骤 存储结构及其定义 struct Page int num 页面号 int timer 计时 class pagepro public pagepro int pstr int findspace 若内存块中有空 返回该位置 int findhave int p 若内存块中已有页 返回内存块中位置 int findreplace 找到替换页的位置 for LRU int findreplace int i 找到替换页的位置 for OPT void clear 清理内存块 void display 打印内存块信息 int LRU 最近最久未使用算法 int FIFO 先进先出算法 int OPT 最佳置换算法 Page block 内存块 Page page 页面号串 pagepro pagepro int pstr int i 0 block new Page Bsize for i 0 i Bsize i block i num 1 block i timer 0 page new Page Psize for i 0 i Psize i page i num pstr i page i timer 0 int pagepro findspace for int i 0 i Bsize i if block i num 1 return i return 1 int pagepro findreplace int i int pos 3 0 int postion 0 for int j 0 j Bsize j for int k i k Psize k if block j num page k num break else pos j for j 1 j pos postion postion j return postion int pagepro findhave int p for int i 0 i Bsize i if block i num page p num return i return 1 void pagepro display for int i 0 i Bsize i if block i num 1 cout block i num cout endl int pagepro findreplace int pos 0 for int i 1 i block pos timer pos i return pos void pagepro clear for int i 0 i Bsize i block i num 1 block i timer 0 int pagepro LRU int have space pos int count 0 不缺页计数 for int i 0 i Psize i have findhave i if have 1 count block have timer 1 cout page find in block endl else space findspace if space 1 block space page i display else pos findreplace block pos page i display for int i 0 i Bsize i block i timer return count int pagepro FIFO int have int j 0 j 3 记录替换位置 int count 0 for int i 0 i Psize i have findhave i if have 1 count cout page find in block endl else block j 3 page i j display return count int pagepro OPT int have space int count 0 for int i 0 i Psize i have findhave i if have 1 cout page find in block endl count else space findspace if space 1 block

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论