南邮多媒体实验报告2
实验报告 课程名称实验名称 计算机操作系统 虚拟存储中页面置换算法的模拟实现XX 实验时间指导单位指导教师 年12月19日 南京邮电大学 崔衍 学生姓名学院(系) 物联网院 班级学号专业 网络工程 实验报告 -2- 二、实验原理及内容 实验三 #include#include#include#include#defineBsize4 typedefstructBLOCK//声明一种新类型——物理块类型{ intpagenum;//页号 intaccessed;//访问字段,其值表示多久未被访问 }BLOCK(来自:写论文网:南邮多媒体实验报告2); intpc;//程序计数器,用来记录指令的序号intn;//缺页计数器,用来记录缺页的次数staticinttemp[320];//用来存储320条随机数 BLOCKblock[Bsize];//定义一大小为4的物理块数组 //*************************************************************voidinit();//程序初始化函数 intfindExist(intcurpage);//查找物理块中是否有该页面intfindSpace();//查找是否有空闲物理块intfindReplace();//查找应予置换的页面voiddisplay();//显示 voidsuijishu();//产生320条随机数,显示并存储到temp[320]voidpagestring();//显示调用的页面队列voidOPT();//OPT算法voidLRU();//LRU算法voidFIFO();//FIFO算法 //*************************************************************voidinit(){ for(inti=0;iblock[pos].accessed) pos=i;//找到应予置换页面,返回BLOCK中位置}returnpos;} //voiddisplay() -4- { for(inti=0;i>pc; coutt1)-(t>t2));x2=ones(size(t)).*((t>t3)-(t>t4));y=conv(x1,x2)*T; subplot(3,1,1),plot(t,x1);ylabel('x1(t)'); subplot(3,1,2),plot(t,x2);ylabel('x2(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1));ylabel('y(t)=x1*x2');xlabel('>t/s'); 试分别画出 将上述程序t2的值改为3,t4的值改为2图形如下: 结果分析: ? y(t)?x(t)?h(t)?连续函数x(t)和h(t)的卷积为: ?? ?x(?)h(t??)d? 若x(t)和h(t)分别在时间区间?t1,t2?和?t3,t4?有非零的值,则 y(t)?x(t)[?(t?t1)??(t?t2)]?h(t)[?(t?t3)??(t?t4)] ? ? ?? ?x(?)[?(??t1)??(??t2)]?h(t??)[?(t???t3)??(t???t4)]d? 要使y(t)为非零值,必须有?(??t1)??(??t2)=1和[?(t???t3)??(t???t4)=1从而,应同时满足:t10)-(t>t2)); h=t.*exp(-t/2).*((t>0)-(t>t4));y=conv(x,h)*T yt=4*exp(-t)+2*t.*exp(-1/2*t)-4*exp(-1/2*t);subplot(3,1,1),plot(t,x);ylabel('x(t)'); subplot(3,1,2),plot(t,h)ylabel('h(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1),t,yt,'--r');legend('bynumerical','Theoretical');ylabel('y=x*h');xlabel('>t/s');结果 结果分析: 对于有始信号x(t)=x(t)*(t>t1)和h(t)=h(t)*(t>t3),若对x(t)和h(t)分别在t2和t4处截尾,则用截尾后的信号进行卷积,其结果等于x(t)*h(t)(即无截尾误差)的非零值区间为。 此题的t1=t3=0,t2=3,t4=11,