操作系统实验六_设备管理(16页).doc
《操作系统实验六_设备管理(16页).doc》由会员分享,可在线阅读,更多相关《操作系统实验六_设备管理(16页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-操作系统课程报告实验六 设备管理学号 姓名 班级 教师 华侨大学电子工程系实验目的 1、 理解设备管理的概念和任务。2、 掌握独占设备的分配、回收等主要算法的原理并编程实现。 实验内容与基本要求 1、 在Windows系统中,编写程序实现对独占设备的分配和回收的模拟,该程序中包括:建立设备类表和设备表、分配设备和回收设备的函数。实验报告内容 1、 独占设备的分配、回收等主要算法的原理。为了提高操作系统的可适应性和可扩展性,现代操作系统中都毫无例外地实现了设备独立性,又叫做设备无关性。设备独立性的含义是:应用程序独立于具体使用的物理设备。 为了实现独占设备的分配,系统设置数据表格的方式也不相同
2、,在实验中只要设计合理即可。这里仅仅是一种方案,采用设备类表和设备表。(1) 数据结构操作系统设置“设备分配表”,用来记录计算机系统所配置的独占设备类型、台数以及分配情况。设备分配表可由“设备类表”和“设备表”两部分组成,如下图:(2) 设备分配 当进程申请某类设备时,系统先查“设备类表”如果该类设备的现存台数可以满足申请要求,则从该类设备的“设备表”始址开始依次查该类设备在设备表中的登记项,找出“未分配”的设备分配给进程。分配后要修改设备类表中的现存台数,把分配给进程的设备标志改为“已分配”且填上占用设备的进程名。然后,把设备的绝对号与相对号的对应关系通知用户,以便用户在分配到的设备上装上存
3、储介质。(3) 设备回收当进程执行结束撤离时应归还所占设备,系统根据进程名查设备表,找出进程占用设备的登记栏,把标志修改为“未分配”,清除进程名。同时把回收的设备台数加到设备类表中的现存台数中。2、 程序流程图。主程序流程图:设备分配:设备回收:3、 程序及注释。#include#include#include#define false 0#define true 1#define n 4/*宏定义,用于修改设备类型数目*/#define m 10/*宏定义,用于修改设备数目*/struct/*该结构体用于定义设备类表各信息*/char type10; /*设备类型名*/int count;
4、/*拥有的设备总台数*/int remain; /*现存的可用设备台数*/int address; /*该类设备在设备表中的起始地址*/equiptypen;/*系统设备类型为n*/ struct/*该结构体用于定义设备表各信息*/int number; /*设备绝对编号*/int lnumber; /*设备相对编号*/int status; /*设备好坏状态*/int remain; /*设备是否已被分配*/char jobname4; /*占有设备的作业名*/equipmentm; /*系统设备数为m*/*子函数:作业设备分配*/ allocate(char *J,char *type,i
5、nt cc)int i,t,j; i=0;while(i=n) /*若没有找到欲申请设备*/ printf(没有找到欲分配的设备,分配失败!); return(false); if(equiptypei.remain1) /*欲申请设备现存可用台数不足*/ printf(该类设备数量不足,分配失败!); return(false); t=equiptypei.address; /* 取出该类设备在设备表中的起始地址赋给t*/while(!(equipmentt.status=1 & equipmentt.remain=0)t+; /*该设备类型起始地址加一*/equiptypei.remain
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 设备管理 16
限制150内