操作系统课程设计报告_第1页
操作系统课程设计报告_第2页
操作系统课程设计报告_第3页
操作系统课程设计报告_第4页
操作系统课程设计报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

第页操作系统课程设计报告

一、课程设计任务划分

二、基本原理

(一)页面置换算法定义

在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。

(二)所使用的算法

1)最正确置换算法(OPT):将以后永不使用的或许是在最

长(未来)时间内不再被访问的页面换出。

2)先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。

3)最近最久未使用算法(LRU):淘汰最近最久未被使用的页面。

(三)设计思想

选择置换算法,先输入所有页面号,为系统分配物理块,依次开展置换:

OPT基本思想:

是用一维数组page存储页面号序列,memery是存储装入物理块中的页面。数组next记录物理块中对应页面的最后访问时间。每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺的页面。FIFO基本思想:

是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾参加缺页。或者借助辅助数组time记录物理块中对应页面的进入时间,每次需要置换时换出进入时间最小的页面。LRU基本思想:

是用一维数组page存储页面号序列,memery是存储装入物理块中的页面。数组flag标记页面的访问时间。每当使用页面时,刷新访问时间。发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所缺的页面。

三、基本思路

实验环境:vc++,编程语言:c语言#include#include/*全局变量*/

intmSIZE;/*物理块数*/

intpSIZE;/*页面号引用串个数*/

staticintmemery={0};/*物理块中的页号*/staticintpage={0};/*页面号引用串*/staticinttemp={0};/*辅助数组*//*置换算法函数*/voidFIFO();voidLRU();voidOPT();/*辅助函数*/

voidprint(unsignedintt);voiddesignBy();voiddownload();

voidmDelay(unsignedintDelay);/*主函数*/voidmain(){

inti,k,code;system("color0A");designBy();printf("┃请按任意键开展初始化操作...┃");printf("┗━━━━━━━━━━━━━━━━━━━━━┛");printf(">>>");getch();system("cls");system("color0B");printf("请输入物理块的`个数(M>>");getch();

system("cls");}while(code!=4);getch();}

/*载入数据*/voiddownload(){inti;system("color0D");printf("╔════════════╗");printf("║正在载入数据,请稍候!!!║");printf("╚════════════╝");printf("Loading...");printf("for(i=0;i0;Delay--){for(i=0;i

memery=page;time=i;

for(j=0;j

for(j=0;j

/*最近最久未使用置换算法*/voidLRU(){

intmemery={0};

intflag={0};/*记录页面的访问时间*/inti,j,k,m;

intmax=0;/*记录换出页*/intcount=0;/*记录置换次数*//*前mSIZE个数直接放入*/for(i=0;i

for(j=0;j

/*最正确置换算法*/voidOPT(){

intmemery={0};

intnext={0};/*记录下一次访问时间*/inti,j,k,l,m;

intmax;/*记录换出页*/

intcount=0;/*记录置换次数*//*前mSIZE个数直接放入*/for(i=0;i

for(j=0;j

四、调试及实验结果

第一组数据:

1.运行结果

2.按任意键开展初始化:

3.载入数据:

4.进入置换算法选择界面:

5.运算中延迟操作:

6.三种算法演示结果

7.退出算法

第二组数据:

1.运行结果

2.按任意键开展初始化:

3.载入数据:

4.进入置换算法选择界面:

5.运算中延迟操作:

6.三种算法演示结果

7.退出算法

五、个人体会

由于时间有限,本次设计完成的并不是很完美,下面从以下几点来说明本次课程设计的个人体会:

1.本次课程设计中做的比较好的地方:

做的好的地方就是在于对题目意思的正确理解,以及在此根底上的模型设计。最开始一看题目的时候感觉很迷茫,有点不知道如何着手,等静下心来仔细分析了程序,明确了目标,明确了思路,才对程序有了一个较为完整的实现。

2.做得不太好的地方,以及以后如何改正:

做得不太好的地方就是不能把自己所学的C知识和本次课程设计的相关知识很好的结合起来,以至于没有很好的表达出本次课程设计的细节。在以后的过程中,我会运用本次课程设计中所学的知识,以及思考问题的方式和方法,争取能够发扬优点,尽量克服不细心,不严谨等缺点。

3.从本次设计中得到的收获:

通过本次课程设计,我学会了综合运用所学相关知识的能力,动手能力以及独立思考问题的能力。下面具体的收一个边学程序是遇到的困难,首先就是如何把想法变为做法的问题,最开始一拿到题目,我就觉得无从下手,因为我的阅历,

温馨提示

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

评论

0/150

提交评论