操作系统课程设计实验报告模板.docx
《操作系统课程设计实验报告模板.docx》由会员分享,可在线阅读,更多相关《操作系统课程设计实验报告模板.docx(20页珍藏版)》请在冰豆网上搜索。
操作系统课程设计实验报告模板
操作系统课程设计
实验报告书
题目:
页面置换算法之先进先出
题目编号:
18
院系:
信息科学与技术学院
班级:
12级1班
小组成员:
组长:
张海洋
学号:
12051004
组员:
李奔
学号:
12051005
2014-12-31
目录
一、课程设计任务划分1
二、基本原理2
(一)页面置换算法定义
(二)所使用的算法
(三)设计思想
三、基本思路3
(一)流程图
(二)变量
(三)所用函数
四、调试及实验结果4
五、个人体会5
一、课程设计任务划分
成员
具体分工
张海洋
设计项目流程
程序合并
实验报告书书写
李奔
程序调试
网上搜索程序资料
心得体会
二、基本原理
(题目所涉及课程内容,用到了那种算法,该算法的基本原理是什么?
500字以上,可加页,下同)
(一)页面置换算法定义
在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。
当发生缺页中断时操作系统必须在内存选择一个页面将其移出内 存,以便为即将调入的页面让出空间。
而用来选择淘汰哪一页的规则叫做页面置换算法。
(二)所使用的算法
1)最佳置换算法(OPT):
将以后永不使用的或许是在最
长(未来)时间内不再被访问的页面换出。
2)先进先出算法(FIFO):
淘汰最先进入内存的页面,即
选择在内存中驻留时间最久的页面予以淘汰。
3)最近最久未使用算法(LRU):
淘汰最近最久未被使用
的页面。
(三)设计思想
选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换:
OPT基本思想:
是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。
数组next[mSIZE]记录物理块中对应页面的最后访问时间。
每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺的页面。
FIFO基本思想:
是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。
或者借助辅助数组time[mSIZE]记录物理块中对应页面的进入时间,每次需要置换时换出进入时间最小的页面。
LRU基本思想:
是用一维数组page[pSIZE]存储页面号序列,memery[mSIZE]是存储装入物理块中的页面。
数组flag[10]标记页面的访问时间。
每当使用页面时,刷新访问时间。
发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所缺的页面。
三、基本思路
(1)流程图
(2)变量
/*全局变量*/
intmSIZE;/*物理块数*/
intpSIZE;/*页面号引用串个数*/
staticintmemery[10]={0};/*物理块中的页号*/
staticintpage[100]={0};/*页面号引用串*/
staticinttemp[100][10]={0};/*辅助数组*/
inttime[10]={0};/*记录进入物理块的时间*/
intnext[10]={0};/*记录下一次访问时间*/
intmax=0;/*记录换出页*/
intcount=0;/*记录置换次数*/
(3)所用函数
1./*置换算法函数*/
voidFIFO();/*先进先出页面置换算法*/
函数原型:
voidFIFO()
{
intmemery[10]={0};
inttime[10]={0};/*记录进入物理块的时间*/
inti,j,k,m;
intmax=0;/*记录换出页*/
intcount=0;/*记录置换次数*/
/*前mSIZE个数直接放入*/
for(i=0;i{
memery[i]=page[i];
time[i]=i;
for(j=0;jtemp[i][j]=memery[j];
}
for(i=mSIZE;i{
/*判断新页面号是否在物理块中*/
for(j=0,k=0;j{
if(memery[j]!
=page[i])
k++;
}
if(k==mSIZE)/*如果不在物理块中*/
{
count++;
/*计算换出页*/
max=time[0]