您所在位置: 网站首页 / 计算机操作系统实验报告资料.doc / 文档详情
计算机操作系统实验报告资料.doc 立即下载
2025-01-15
约1.7万字
约44页
0
571KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机操作系统实验报告资料.doc

计算机操作系统实验报告资料.doc

预览

免费试读已结束,剩余 39 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开


中国地质大学(北京)


计算机操作系统实验报告





姓名
专业班级
学号
指导老师
成绩
实验时间2016/4/23–2016/6/1









内容摘要:

为了提高本专业学生专业素养,加深对操作系统知识的理解,对算法思想更熟练的应用,由指导教师提供参考题目与学生自主命题相结合的办法选定了以下课程设计题目:
1.编制银行家算法通用程序
2.处理机管理
3.存储器管理采用可变式分区管理
4.LRU与改进型的CLOCK算法
5.磁盘调度算法
TOC\o"1-3"\h\z\uTOC\o"1-3"\h\z\u
在指导教师的指导下,各个学生独立完成课题分析、设计、代码编写和调试,独立撰写课程设计报告。所有工作任务主要在微机实验室完成。



关键词:操作系统;课程设计
目录

目录
TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc453072963"内容摘要:	PAGEREF_Toc453072963\h2

HYPERLINK\l"_Toc453072964"目录	PAGEREF_Toc453072964\h3

HYPERLINK\l"_Toc453072965"实验一编制银行家算法通用程序	PAGEREF_Toc453072965\h4

HYPERLINK\l"_Toc453072966"实验二处理机管理	PAGEREF_Toc453072966\h11

HYPERLINK\l"_Toc453072967"实验三存储器管理采用可变式分区管理	PAGEREF_Toc453072967\h20

HYPERLINK\l"_Toc453072968"实验四LRU与改进型的CLOCK算法	PAGEREF_Toc453072968\h31

HYPERLINK\l"_Toc453072969"实验五磁盘调度算法	PAGEREF_Toc453072969\h38




实验一编制银行家算法通用程序

需求分析
编制银行家算法通用程序,并检测所给状态的系统安全性。假定系统的任何一种资源在任一时刻只能被一个进程使用。任何进程已经占用的资源只能由进程自己释放,而不能由其它进程抢占。进程申请的资源不能满足时,必须等待。
设计的要求:
程序中使用的数据结构及主要符号说明;
资源的种类和数目可以变化的
进程可以任意的顺序创建和变化

概要设计:

所用到的结构体:typedefstruct{
	int	A;
	int	B;
	int	C;
}RESOURCE
//最大需求矩阵
RESOURCEMax[MAX_PROCESSES_NUMBER];
//已分配资源数矩阵
RESOURCEAllocation[MAX_PROCESSES_NUMBER];
//需求矩阵
RESOURCENeed[MAX_PROCESSES_NUMBER];

//可用资源向量
RESOURCEAvailable={3,3,2};
intsafe[MAX_PROCESSES_NUMBER];//用于存放安全序列


详细设计:
(3)-1安全检查函数
//安全性检查
boolSafeCheck(intprocessNumber)
{
	RESOURCE	Work=Available;
	bool*Finish=newbool[processNumber];
	//bool		Finish[5]={false,false,false,false,false};
	int		i;
	int		j=0;
	for(i=0;i<processNumber;i++)
	{
		Finish[i]=false;
	}
	for(i=0;i<processNumber;i++)
	{
		//是否已检查过
		if(Finish[i]==false)
		{
			//是否有足够的资源分配给该进程
			if(Need[i].A<=Work.A&&Need[i].B<=Work.B&&Need[i].C<=Work.C)
			{
				//有则使其执行完成,并将已分配给该进程的资源全部回收
				Work.A+=Allocation[i].A;
				Work.B+=Allocation[i].B;
				Work.C+=Allocation[i].C;
				Finish[i]=true;
				safe[j++]=i;
				i=-1;				//重新进行遍历
			}
		}
	}

	//如果所有进程的Finish向量都为true则处于安全状态,否则为不安全状态
	for(i=0;i<processNumber;i++)
	{
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

计算机操作系统实验报告资料

文档大小:571KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用