操作系统管理- 虚拟存储器 实验报告 代码(2)

2020-04-18 06:15

《操作系统原理 》实验报告 - 5 -

}

if(n>m)

count=count+m;

cout<<\缺页中断次数为:\}

void menu() {

cout<<\页面置换算法--------\ cout<<\页面置换算法------\ cout<<\退出------\

cout<<\默认:-1表示物理块空闲-------\ cout<<\请选择算法\}

void main()

{ int n,m,Page[Max],Block[Size],n1,m1,Block1[Size]; char t;

cout<>m; m1=m;

Init(Block,m); Init1(Block1,m1);

cout<<\请输入总页面数n<=30:\ cin>>n; n1=n;

cout<<\请输入页面号引用串:\ creat(Page,n); creat1(Page,n1); while(1) {

menu(); cin>>t; switch(t) {

case '1':LRU(Page,Block1,n1,m1); continue;

case '2':FIFO(Page,Block,n,m); continue;

case '3':exit(0); } } }

四、测试数据与实验结果

图1 输入要分配的物理块数、页面总数、页面序列号

《操作系统原理 》实验报告 - 6 -

图2 LRU算法的实现

图3 FIFO算法的实现

五、结果分析与实验体会

页面置换算法理解比较容易,这次根据学号要求实现的是LRU和FIFO算法的实现。 其实这两种算法的程序编写比较容易,虽然不全是自己编写的,一部分是参考的网上的例题,但是通过对每一语句的理解,自己弄懂了整个程序的执行原理。但是,在编写过程中自己还是遇到了一些问题。

最大的一个问题就是两个算法的正确实现,在程序的编写时,两个程序是分开进行编写的,分别执行起来没有什么问题,但是把两个程序融合在一起后,却出现了问题,即在执行完成一个算法后再执行另外一个算法时,开始的数据是紧接着上次算法结果的数据进行实验的。这个问题困扰了我好长时间,直到现在还没有很好的解决掉,程序只能分别执行一次,如果再进行执行的话,就会出现问题。

自己的编程技术不好,程序编的也很繁琐,但是基本的要求已经实现了,希望这次的实验是自己动手的一个开始,自己应该更加努力,再接再厉。


操作系统管理- 虚拟存储器 实验报告 代码(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:动词不定式用法归纳

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: