2023年虚拟存储器管理实验报告.docx
《2023年虚拟存储器管理实验报告.docx》由会员分享,可在线阅读,更多相关《2023年虚拟存储器管理实验报告.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、防灾科技学院实验报告系别灾害信息工程系专业班级0950412学号学生姓名郑平贞实验日期20 2 3-12-8成绩课程名称计算机操作系统实验题目虚拟存储器管理实验记录实验目的:1理解虚拟存储器的概念2掌握分页式存储管理地址转换和缺页中断实验环境:WindowsXP VC+6.0实验内容:1模拟分页式存储管理中硬件的地址转换和产生缺页中断2用先进先出页面调度算法解决缺页中断实验过程:1 .实验设计(1)模拟分页式存储管理中硬件的地址转换和产生缺页中断。分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行o为此,在为作业建立页表时,应说明哪些页己在
2、主存,哪些页尚未装入主存。作业执行时,指令中的逻辑地址指出了参与运算的操作存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页相应标志为、1,则表达该页己在主存,这时根据关系式绝对地址=块号X块长+单元号计算出欲访问的主存单元地址。假如块长为2的基次,则可把块号作为高地址部分,把单元号作为低地址部分,两者拼接而成绝对地址。若访问的页相应标志为 0 ,则表达该页不在主存,这时硬件发缺页中断信号,有操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。设计一个地址转换程序来模拟硬件的地址转换工作。当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换
3、后的地址来代替一条指令的执行。当访问的页不在主存时,则输出*该页页号,表达产生了一次缺页中断。(2)用先进先出(F I F0)页面调度算法解决缺页中断。FIFO页面调度算法总是淘汰该作业中最先进入主存的那一页,因此可以用一个数组来表达该作业已在主存的页面。假定作业被选中时,把开始的n1个页面装入主存,则数组的元素可定为m个。4 -1 -14 3-14 3 54 3 54 3 54 3 213 215 215 43 5 43 2 43 2 1锚页中断次数为:10FIFO算法的实现心八 丁、 ”二 请选择算法24 -1 -14 3-14 3 54 3 54 3 52 3 52 152 152 14
4、3 143 2 43 2 1缺页中断次数为:9FIFO算法的实现4.实验分析系统的局限性涉及健壮性尚不够好,界面比较简朴,对页表的初始化需要修改程序。a 经 验体会:注意体会算法的精神,程序前后逻辑要一致。注意测试时数据的全面性。实验总结:编程不用太复杂,实用就行。实验地点机房3 0 5指导教师陈新房2.程序代码:(1 )模拟分页式存储管理中硬件的地址转换和产生缺页中断。 # i nclu d e #inclu de #de fine Size Of Page 100# d ef i ne SizeOfBl o c k 12 8#d efine M 4s t ru c t i n fo页表(b
5、ool flag; /标志1 o ng bio c k;块号 long disk;/在磁盘上的位置b ool dir t y ;修改标志pag e li s t S i zeOfPage;long p o; / /队列标记long PM;void init ex 1 ()( 一mem set (p a ge 1 i st, 0, sizeof (pagel i st);p ag e 1 i s t 0 . f 1 ag=l;pag elist 0 . b 1 ock= 5 ;p a g e lis t 0. di s k = 011;pageli s t 1. f 1 ag= 1;p agel
6、 i s t 1 .block=8;p agel i s t1. disk=012;page 1 i st2. f 1 a g =1;pa g e list2 . block=9;p age 1 ist2.disk=013;pag e 1 i s t 3. flag=l;pa g e lis t 3. b lock=l;pagel i st3 . d isk=021;)v oid w o rk exl ()bool s top=0;long p, q;c h ar sl 2 8;do(prinlf (请输入指令的页号和单元号:n ”);i f (scanf (%Id% 1 d,&p, &q)
7、! =2)(scanf C%s n , s);i f (s t r cmp ( s , exit)=0)St 0 p=l; if (pag e list p . flag) (prin t f (绝对地址二%1 d n ,pag e list p . block*SizeO f Block+q); else (p rint f (*%ldn”, p);)while (! s to p );)v oi d init_ex2()(P o=0;P 0=0;Pl=l ; P2=2;P3=3;mem s et (pa g e 1 ist, 0 , s i z e of (page 1 ist);page
8、Li s t0. f 1 a g =1;p a gelist0. bl o c k =5;page 1 ist0. d i sk=0 1 1;pag e 1 i st 1 . f 1 a g=l;pagel i s t 1. bio c k = 8 ;pa g eli s t1. disk=01 2 ;p a g e li s t 2 . f 1 ag=l;p agel i st2. block=9;page 1 i s t 2 . disk =0 13;p age 1 ist 3 . f 1 a g=l;pagelist3. biock=l;pagelist3. disk=021;vo i
9、d work_e x 2 () (Ion g P , q, i;char s 1 00;b o ol st o p=0; do(printf(请输入指令的页号、单元号,以及是否为存指令:n);i f (scanf C%ld%ld,z, &p, & q ) !=2)sc a n f (s, s);if (strcmp( s , ” exit)=0 )s t op=l;) else (s c a nf (%s,s);i f (pagelistp. flag)(pr i n t f (绝对地址二%1 d n,p a gelist p. bl o ck*SizeO f Block+q); i f (s
10、0=,Y, | s 0 = y)(p a gel i st p . d i r ty=l;) else (i f (pa g el i st P po . dir t y)(将更新后的内容写回外存p a gelist P po . d i r ly= 0 ;)p a g e 1 is t P po. fla g = 0 ;pri n tf (o u t %1 d n n , Ppo);prin t f ( i n % 1 d n p);page 1 ist p . bl o c k=p a g elis t P po . b 1 ock;pagel i stp. f 1 a g= 1;Pp o
11、 = p ;po=( p o+l) %M;)while (!stop);pr intfC数组P的值为:n);for (i=0; i M; i+)(printf CP%ld = 1 dn, i, P i);)vo i d se 1 ect ()ch a r s128; do(printf(请选择题号(1/2): );i f (sc a nf (*%ldzz, &se)! = 1) (scan f (%s, s);if (st r c m p (s, e x it)=0) (ret urn; ) el s e ( if (se=l)(i n i t_ e x 1 (); work_ex1();i
12、f ( s e= 2 ) (init_ex2();work_e x 2 ();)while (1);in t ma i n() (se 1 e c t (); r eturn 0;)(2)用先进先出(FIFO)页面调度算法解决缺页中断。#includ e i nclude # include 页表用数组模拟,在实验中页表数据结构定义为:# def ineN 32/实验中假定的页表长度,页表的长度事实上是由系统按照作业长度决定 的def i ne M 4 /实验中用,用固定局部置换算法给每个进程分派的主存物理块数 str u ct i nt 1 n urn b er; 页号int flag; /
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 虚拟 存储器 管理 实验 报告
限制150内