武汉理工大学操作系统实践报告.docx

上传人:b****1 文档编号:12480017 上传时间:2023-04-19 格式:DOCX 页数:11 大小:152.07KB
下载 相关 举报
武汉理工大学操作系统实践报告.docx_第1页
第1页 / 共11页
武汉理工大学操作系统实践报告.docx_第2页
第2页 / 共11页
武汉理工大学操作系统实践报告.docx_第3页
第3页 / 共11页
武汉理工大学操作系统实践报告.docx_第4页
第4页 / 共11页
武汉理工大学操作系统实践报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

武汉理工大学操作系统实践报告.docx

《武汉理工大学操作系统实践报告.docx》由会员分享,可在线阅读,更多相关《武汉理工大学操作系统实践报告.docx(11页珍藏版)》请在冰豆网上搜索。

武汉理工大学操作系统实践报告.docx

武汉理工大学操作系统实践报告

-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

 

武汉理工大学操作系统实践报告

学号:

Xxxxxxxxx

实践课设计报告

 

课程名称

计算机操作系统

题目

模拟设计存储管理的分配与回收

学院

计算机科学与技术学院

专业

计算机科学与技术

班级

xxxx

姓名

xxx

指导教师

xxx

 

2016

12

29

1需求分析

页式管理的基本原理

页式管理是一种内存空间存储管理的技术,页式管理分为静态页式管理和动态页式管理。

基本原理是将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(pageframe),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。

页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。

 

图1页的划分

实验要求

⑴能够输入给定的内存页面数,页面大小,进程的个数及每个进程的页数。

⑵当某进程提出申请空间的大小后,显示能否满足申请,以及为该进程分配资源后内存空间的使用情况(被进程占用的页面,空闲的页面)。

⑶当某进程撤消时,显示内存回收后内存空间的使用情况。

2功能设计

算法分析

模拟页式管理中置换算法中的先进先出算法(FIFO),FIFO算法总是选择在内存驻留时间最长的一页将其淘汰。

图2算法流程图

数据结构

(1)定义整型变量length来保存进程的页面数,定义数组order[30]来存储进程页面的逻辑地址,数组ad[100]存放逻辑页的页内位移。

(2)定义变量num_page存储物理块的数目,定义变量wlsize存储物理块的大小,物理块的大小一般为2的n次方,定义数组a[10]存放物理块中的存储的逻辑页。

(3)定义数组result[20][30]存储记录结果,定义数组result1[30]记录是否缺页。

(4)定义变量q来记录缺页次数。

模块说明

主函数

intmain()

计算机操作系统教程(第4版).北京:

清华大学出版社

【2】张尧学,宋虹,张高.计算机操作系统教程(第4版)习题解答与实验指导.北京:

清华大学出版社,2000

 

源代码:

#include

#include<>

usingnamespacestd;

intlength,num_page,ad[100];新输入新序列.\n");

printf("2.不改变访问序列只改物理块数.\n");

printf("0.不操作退出.\n");

printf("**************************************\n");

printf("选择所要操作:

");

cin>>m;

if(m==1)

{

flag1=1;//重新输入

init();

//fifo();

}

elseif(m==2)

{

flag2=1;

cout<<"输入新物理块数:

";

cin>>numpage;

num_page=numpage;

memset(a,sizeof(a));

}

elsereturn;

}

boolsearch(intn,intx)//查找当前是否已存在,如果存在返回真值,不存在则返回假

{

for(inti=0;i

{

if(a[i]==n)

{

cout<<"第"<

returntrue;

}

}

returnfalse;

}

voidfifo()//先进先出

{

while

(1)

{

intthisn=0;

q=0;

flag1=flag2=0;//用于标志是否再输入

for(inti=0;i

{

if(!

search(order[i],i))

{

q++;

result1[i]='*';

if(a[num_page]!

=-1)//表示当前页面已满要淘汰一个

{

a[thisn]=order[i];//替换掉第0个物理块的

thisn++;//下一次就替换第1个物理块的

if(thisn>=num_page)//当thisn大于等于物理块数时,将thisn改为0

thisn=0;

cout<<"第"<

}

else

{

//如果内存物理块没有满,就直接放入内存

for(intj=0;j

{

if(a[j]==-1)

{

a[j]=order[i];

cout<<"第"<

break;

}

}

}

}

elseresult1[i]='';

for(intj=0;j

{

result[j][i]=a[j];//将第一列放入result的第一列

}

}

again();//再操作

if(flag1==0&&flag2==0)

break;

}

}

intmain()//主函数

{

init();

fifo();

return0;

}

 

成绩评定表

序号

评分项目

满分

实得分

1

学习态度认真、出勤情况

10

2

设计分析合理性

10

3

设计方案正确性、可行性、创造性、设计结果正确性

30

4

系统测试、运行情况

40

5

设计报告的规范性

10

总得分

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1