2023年操作系统实验报告面置换算法模拟.pdf
《2023年操作系统实验报告面置换算法模拟.pdf》由会员分享,可在线阅读,更多相关《2023年操作系统实验报告面置换算法模拟.pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、力U 4H 2总实 验 报 告(2023/2023学 年 第1学期)业课程名称操作系统原理实验名称实验6:页面置换算法模拟实验时间20 2 3年12 月 1 0日指导单位软件工程系指导教师杨 健学生姓名班级学号学院(系)软件工程系专计算机软件与服务外包一、实验目的实验名称实验l:L i n u x操 作、使 用、编 程 与 进 程 创 建指导教师杨健实验类型实验实验学时2实验时间2 02 3.1 2.101 .通过模拟实现几种基本页面置换的算法,了解虚拟存储技术的特点。2 .掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想,并至少用三种算法来模拟实现。3 .通过对几种置换算法页面的
2、比较,来对比他们的优缺陷,并通过比较更换频率来对比它们的效率。二、实验环境(实验设备)W i n do w s 2 0 2 3V i s u a 1 S t u di o三、实验内容设计一个虚拟存储区和内存工作区,并使用下述算法来模拟实现页面的置换:1 .先进先出的算法(FI FO)2 .最近最久未使用算法(L R U)3.最佳置换算法(O PT)实验分析在进程运营过程中,若其所访问的页面不存在内存而需要把它们调入内存,但内存已无空闲时,为了保证该进程可以正常运营,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应调出哪个页面,需根据一定的算法来拟定,算法的好坏,直接影响到系统的性能。一
3、个好的页面置换算法,应当有较低的页面更换频率。假设分给一作业的物理块数为3,页面数为2 0个。页面号为(20个):7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,11 .先进先出(FI FO)置换算法的思绪该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简朴,只需把一个进程已调入内存的页面,按照先后顺序连接成一个队列,并设立一个替换指针,使它总指向最老的页面。2 .最近久未使用(L R U)置换算法的思绪最近久未使用置换算法的替换规则,是根据页面调入内存后的使用情况来进行决策的。该算法赋予每个页面一个访问字段,用来记录一个页面自
4、上次被访问以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进行淘汰。3.最 佳(O P T)置换算法的思绪其所选择的被淘汰的页面,奖是以后不使用的,或者是在未来时间内不再被访问的页面,采用最佳算法,通常可保证获得最低的缺页率。4 .F I F O 页面置换算法当需要访问一个新的页面时,一方面调用findExist(i)函数来查看物理块中是否就有这个页面,若要查看的页面物理块中就有,则调用displa y函数直接显示,不需要替换页面;假如要查看的页面物理块中没有,就需要寻找空闲物理块放入,若存在有空闲物理块,则将页面放入;若没有空闲物理块,则调用findR ep 1 a c
5、e函数替换页面。并将物理块中所有页面time r +o5.L R U页面置换算法当需要访问一个新的页面,一方面调用f i n d E x i s t (i)函数查看物理块中是否就有这个页面。6.OPT页面置换算法当需要访问一个新的页面,一方面调用f i n d E x i s t (i)函数来查看物理块中是否有这个页面。7.寻找置换页面函数f i n d R e p l a c e比较三个物理块中的时间标记t i me r,找届时间最久的。代码t t i n c l u d e#i n c l u d e#i n c l u d e#d e f i n e B L O C K J I A X
6、_ S I Z E 2 0 最?大洙?物?理;t?块d 大洙?小?e n u m F I F O=1 ,L R U,O P T);s t r u c t n o d e _p a g e i n t a d d r e s s;指?令?地?址i n t p a g e _ n u m;/页?面?号?i n t n e x t _ o r d e r;/T?一?次?访?问6 的?次?序b *P a g e ;/物?理;I?块6定“义?ty p e d ef struct BlockN o d e i nt pa g e _in d e x;p age数筋组哩?的?下?标括?s t ru e t
7、Bio c kNod e*n e x t;B 1 ockNo d e;str u c tint 1 ength;当獭?前。物?理;t?块。长Q度。in t m iss_flag;/缺d?页?标括?志?,?若?为al,?则。缺d?页?in t miss_cou n t;/缺d?页?次?数筋BlockNode*fr o n t;Bl o c kNode*rea r;(Block;本?程i序。中D全?局?变?量?名?均U由?两?个?单蹋?词洙?组哩?成a?且。开a头?字?母?大洙?写in t B locks i z e=5;/物?理;t?块 6 大洙?小?int PageC o u nt=200;页
8、?面?总哩?数筋int PageS i z e=1024;页?面?大洙?小?i nt AddrRan g e=8*1024;/访?问 6地?址-范?围 int get_ num(int down,int up)得?到?一?个?d o wn up之?间?的?整?数籥(i n t num;ch a r s t r ill;w h i l e(l)f g e t s (s t r,1 1 1 *s i z e o f (i n t),s t d i n );n u m=a t o i(s t r);/把?字?符?串?中D的?数觞字?转墙换?为a整?数觞i f (n u m=d o w n&n u m
9、 n e x t =N U LL;)v oi d e n q u e u e (i n t pa g e _ i n d e x)入?队6B 1 oc kN od e*nod c=(B lo c kN od e *)ma l 1 oc (s i z e o f (B loc kN o d e );i f (!n od e)p r i n t f (内口存?分?配?失骸?败悒?n);e x i t (0);no d e-pa g e _ i nd e x=pa g e _ i nd e x;n o d e-n e x t=N U LL;Bloc k.le ng t h+;Bloc k,r e a
10、 r-ne x t=nod e;Bi o c k.r e a r =nod e;Iv o i d d e q u e u e()/出?队6(Bi o c kN od e*n o d e;nod e=Blo c k.f r ont ne x t;Bi o c k.f r ont-ne x t =nod e-ne x t;i f (nod e =B 1 oc k.r e a r)B 1 oc k.r e a r=B loc k,f r ont;f r e e (nod e );Bloc k,le ng t h 一 一;v o i d c le a r _ b l o c k()清?空?物?理;l?
11、块 6w h i le (Bloc k,r e a r =Bloc k.f r o n t-n e x t )Bl o c k.f r o n t-ne x t=Blo c k.r e a r n e x t;f r e e (B 1 o c k.r e a r);B 1 o c k.1 e ng t h ;B 1 o c k.r e a r=Bl o c k.f r ont;B 1 o c k.le ng t h=0;Bloc k,m i s s _c ou nt =0;v o i d d e s t r oy _ b loc k()/销口毁C i物?理;i?块6w h i le (B lo
12、 c k.r e a r=B 1 oc k.f r on t )Bloc k.f r onBloc k.f r on t -n e x t;f r e e (Bloc k,r e a r);)f r e e (pa g e);)v oi d i n i t _ pa g e ()/初?始?化 页?面?系 U 列i n t i,j;s r a nd (t i me (N U LL);/用?当獭?前。系 U统?时骸?间?来 初?始?化-随?机。种?子哩?p a g e =(s t r u c t no d e _ pa g e*)ma lloc (Pa g e C ou nt*s i z e o
13、f (s t r u c t n o d e _ pa g e );f o r (i=0;i Pa g e C o u nt;i+)p a g e i .a d d r e s s =r a n d ()%Ad d r R a n g e ;p a g e i .pa g e _nu m=pa g e i .a d d r e s s/P a g e Si z e ;)f o r (i=0;i P a g e C ou n t ;i +)f or(j=i+1;jP a g e C ou nt;j+)i f (p a g e i .p a g e _ nu m=pa g e j.p a g e
14、_nu m)pa g e i .n e x t or d e r=j;b r e a k;/i f/f ori f(j=P a g e C o u nt)说 口明+p a g e i 以?后。都?不?会d 再(i 访?问6p a g e i .n e x t _ o r d e r =Pa g e C ou n t;/f or)v o i d pr i nt _pa g e()打洙?印?页?面?系 H 歹 U(i n t i;p r 1 nt f (n);p r i n t f (页?面?系u列 为a:毗 n );f or(i=0 ;i ne x t)i f (p a g e nod e pa
15、 g e i n d e x ,pa g e n u m二 二pa g e p a g e _ i nd e x .pa g e nu m)Bloc k.mi s s _ f la g =0;r e t u r n;)i f (B loc k.I e ng t h n e x t)i f (pa g e no d e -p a g e _ i n d e x ,pa g e _n u m=p a g e pa g e _ i nd e x .pa g e _ n u m)la s t _nod e-ne x t =n o d e-ne x t;B 1 oc k.le ng t h-;i f (
16、nod e=B 1 oc k.r e a r)B l o c k.r e a r=l a s t nod e;e nqu e u e(n o d e-p a g e _ i n dex);f r e e(n od e);B I oc k.mi s s _ f 1 a g=0;r e t u r n;la s t _nod e=nod e;i f (Bloc k.le ng t h ne x t)i f (pa g e nod e-p a g e _ i nd e x ,pa g e _ nu m=p a g e p a g e _ i nd e x .p a g e _ nu m)n o d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 操作系统 实验 报告 置换 算法 模拟
限制150内