- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验三讲解
黑龙江大学软件学院——《操作系统原理与实现》实验报告
PAGE 2
PAGE
黑龙江大学
实 验 报 告
课程名称计算机操作系统实验项目名称分页式存储管理实验时间
(日期及节次)2016年4月28 日 8-10节专业软件工程学生所在学院软件学院年级2014学号姓名指导教师实验室名称
实验成绩
预习情况操作技术实验报告附加:综合创新能力实验
综合成绩教师签字
黑龙江大学教务处
黑龙江大学软件学院软件工程专业——《操作系统原理与实现》实验报告
PAGE - 1 -
PAGE
实验名称:分页式存储管理
实验目的
实现分页式存储地址转换过程,在此基础上实现请求分页的地址转换。分页式存储管理系统是内存非连续存储管理中基本的方法,可以通过把一个作业分成多个页面分配到不连续的内存块中去。实验可以通过位示图的方式来模拟内存的使用情况,为每个作业建立页表用于完成正确的地址转换。
实验类型
计算机操作系统课程设计
实验环境
编程环境:Visual C++ 6.0
运行环境:Windows XP
主要数据结构及说明
利用数据结构的线性表链式存储结构,C++语言描述数据结构算法,先声明个头指针,头结点,利用C++语言函数定义节点,指针来控制变量,利用C++语言函数来,控制每个方法的执行,用数组模拟内存,用数组的地址模拟内存地址,用数组的大小模拟内存进程大小。
主要设计思想与算法(流程)
通过学习《计算机操作系统》(第三版)课程,通过在WINDOWS环境下,本次课程设计的主要思想就是利用高级语言C++模拟操作系统的实现。模拟操作系统原理的实现分页式存储管理,能更深刻地领会操作系统工作原理和操作系统实现方法,系统流程图如图所示:
代码:
#include stdio.h
#include math.h
#include stdlib.h
#define maxpagesize 40
#define swapsize 65536
struct PCB{
int size;
struct PCB *next;
struct PageTable{
int page,blockno;
}page[maxpagesize];
};
void createbitmap (int a[])
{
int i=0;
for(i;i64;i++)
{
a[i]=(rand()%2);
}
}
void showbitmap(int a[])
{
printf(位示图:\n);
int i;
for(i=0;i64;i++)
{
printf(%d ,a[i]);
if((i+1)%8==0)
printf(\n);
}
}
void createpage(PCB *running,int a[64])
{
int b;
int i,j=0;
b=ceil((double)running-size/1024);
for(i=0;ib;i++)
{
while(a[j]!=0)
{
j++;
}
a[j]=1;
running-page[i].page=i;
running-page[i].blockno=j;
}
printf(该进程的页表如下:\n);
printf(页号\t\t块号\n);
for(i=0;ib;i++)
{
printf( %d\t\t,running-page[i].page);
printf( %d,running-page[i].blockno);
printf(\n);
}
}
void change(PCB *running)
{
printf(输入逻辑地址:\n);
int a,b,c,d;
scanf(%d,a);
b=a/1024-1;
c=a%1024;
if(b=0)
d=running-page[b].blockno*1024+a;
else
d=c;
printf(物理地址为:\n%d\n,d);
}
void exit1(PCB *running,int a[64])
{
printf(进程结束后的位示图:\n);
int i;
for(i=0;i40;i++)
if(running-page[i].blockno=0)
a[running-pa
您可能关注的文档
- 人教版高中化学选修三课件:2.2 分子的立体构型 课件(共105张PPT).ppt
- 摘星的少年讲解.ppt
- 人教版高中地理选修三 1.2《现代旅游对区域发展的意义》课件.ppt
- 人教版高中历史必修二第4课《古代的经济政策》课件2 (共34张PPT).ppt
- 人教版高中化学选修一第二章第一节合理选择饮食教学课件共31张PPT (共31张PPT).ppt
- 人教版高中历史必修一 第四单元第11课《太平天国运动》课件1.ppt
- 人教版高中政治必修4生活与 哲学第十课第二框创新是民族进步的灵魂课件PPT(23张).ppt
- 人教版高中历史必修二第3课《古代商业的发展》课件2 (共35张PPT).ppt
- 人教版高中物理选修3-5《16.3 动量守恒定律》PPT(共19张)(共19张PPT).ppt
- 摄影中的创意与表现讲解.pptx
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)