- 6
- 0
- 约3.24千字
- 约 9页
- 2019-03-05 发布于山东
- 举报
基于Linux的模拟存储器设计与实现说明书
PAGE
第 PAGE \* Arabic \* MERGEFORMAT 8 页
中北大学
操作系统课程设计
说 明 书
?
学 院、系:
软件学院
专 业:
软件工程
学 生 姓 名:
刘京华
学 号:
0921010810
设 计 题 目:
基于Linux的模拟存储器管理
的设计与实现
起 迄 日 期:
2011年12月2
指 导 教 师:
康君
?
?
?2012 年
需求分析
软件设计功能:模拟内存及外存的分配,手动输入得到进程调度序列,根据页面置换算法的选择进行相应的页面置换操作,以图表的形式在屏幕上输出各进程页面置换过程并且显示出相应页面置换算法的缺页率及置换率,通过缺页率及置换率的对比看出各算法的优劣。
软件设计的目的:存储器管理是操作系统的重要功能之一,其中的页面置换算法是虚拟存储管理实现的关键,通过本次实验理解内存页面调度的机制,在模拟实现FIFO、LRU、NRU和OPT几种经典页面置换算法的基础上,比较各种置换算法的效率和优缺点,从而了解虚拟存储实现的过程。
软件设计的任务:模拟实现四种经典页面置换算法,在屏幕上输出各进程页面置换过程,每种页面置换算法的缺页率和置换率,对比各算法的优劣。
最终获得的成果:课程设计任务书,课程设计说明书?以及模拟存储器管理系统软件。
总体设计
2.1当运行程序时,程序提示用户输入数据,当用户按照其输入数据后就对数据进行分析,
分析其属于哪个进程,然后再选择算法,对其进行运算。
构件图:
存储器管理程序
存储器管理程序
OPT算
O
P
T
算
法
模
块
N
U
R
算
法
模
块
L
R
U
算
法
模
块
F
I
F
O
算
法
模
块
2.2主要函数有:
2.21:所有算法都会用到的函数有:
( 1) init():初始化
(2) getSequ():用于取得从控制台输入的序列
(3)destroySequ():初始化序列数组
(4)int classifyPageDetail(int pageValue):判断页号为pageValue的页
属于哪个进程
(5)setResult():求得缺页率与置换率
(6)selectType():选择操作的函数
2.22:各算法中的函数:
主要就是些数据的添加、删除、修改以及判断的一些基本函数与各算法实现其特定功能的函数,这些由小组中分配到任务的人自行制定需要的函数。
2.23:输出函数
(1) printSequ():输出之前输入的调度序列
(2) print1():输出各进程的调度序列及缺页率置换率
(3) printComInfo():输出各种算法的比较信息
(4) paintMian():输出主界面
3.详细设计
小组分配做的是LRU(Least Recently Used)算法即最近最久未使用置换算法。
LRU算法是根据页面调入内存后的使用情况进行决策,选择最近最久未使用的页面予以淘汰。
实现LRU算法采用了数组,用数组模拟计算机中实现该算法所需要的硬件支持—-寄存器。初始数组:
void InitArr(PROCESS *pro)
{
int i;
for(i=0;iPAGENUM;i++)
{
pro-page[i]=(Page *)malloc(sizeof(Page));
}
}
判断指定页面所属哪个进程后调用coreOfLru函数,其中调用sort2函数判断页面是否在内存中,根据指定页面在内存中的情况,调用add2 和update2函数:
int sort2(int value,PROCESS *pro)
{
int i;
for(i=0;ipro-stepNow;i++)
{
if(pro-page[i]!=NULL (pro-page[i])-addr==value)
{
return i;
}
}
return -1;
}
void add2(int value,PROCESS *pro)
{
int m;
m=pro-stepNow;
pro-page[m]-addr=value;
pro-page[m]-time=0;
}
void update2(int value,PROCESS *pro)
{
int i,j;
int max=0;
for(i=0;iPAGENUM;i++)
{
if((pro-page[i])-timemax)
{
max=(pro-page[i])-time;
j=i;
}
}
pro-page[j]-addr=value;
pro-page[j]-time=0;
您可能关注的文档
- 基于WiFi的上课签到手机应用程序解决方案.doc
- 基于Virtual.Lab的后扭梁疲劳寿命分析.docx
- 基于BP神经网络的 干散货航运市场运价预警研究 .doc
- 基于Excel的项目投资 评价实现过程.doc
- 51单片机c语 言教程全集.doc
- 基于全数字中频技术的频谱分析仪的工作原理.docx
- 基于Webwork+Hibernate+Spring的BS开发范本.doc
- 基于模态灵敏度分 析的客车车身优化.doc
- 基于 AI 智慧人脸门禁 系统项目详细方案.docx
- 基于人脸及特征的人员追 踪系统.docx
- 宣贯培训(2026年)《GBT 3215-2019石油、石化和天然气工业用离心泵》.pptx
- 宣贯培训(2026年)《GBT 3292.2-2009纺织品 纱线条干不匀试验方法 第2部分:光电法》.pptx
- 宣贯培训(2026年)《GBT 3358.1-2009统计学词汇及符号 第1部分:一般统计术语与用于概率的术语》.pptx
- 《分数的初步认识》教案.docx
- 宣贯培训(2026年)《GBT 3208-2009苯类产品总硫含量的微库仑测定方法》.pptx
- 宣贯培训(2026年)《GBT 3223-1994声学 水声换能器自由场校准方法》深度解读与未来应用前瞻.pptx
- 《分数的简单计算》教案.docx
- 《分数的简单应用》教案.docx
- 宣贯培训(2026年)《GBT 3358.2-2009统计学词汇及符号 第2部分:应用统计》长文.pptx
- 宣贯培训(2026年)《GBT 3358.3-2009统计学词汇及符号 第3部分:实验设计》.pptx
最近下载
- 2025(人教版)数学六年级下册全册教学设计.docx
- API 682-2014 离心泵和转子泵用轴封系统 第四版(中文).pdf
- 华东师大版八年级数学上册《14.2.3容易误导读者的统计图》同步练习题及答案.docx VIP
- 《从零开始学低压电工技术》,张伯虎,高清版.pdf
- 2026京东智能产发股份有限公司招股说明书.pdf VIP
- 基于交通静化理论的威海市环海路部分路段的优化设计--本科生毕业论文(设计).doc VIP
- 一年级数学20以内破十法减法练习题.pdf VIP
- 一年级数学20以内加减法(凑十法、破十法)专项练习.pdf VIP
- 云南省专业技 职称申报评审表(完整.pdf
- 20以内凑十法专项练习.pdf VIP
原创力文档

文档评论(0)