编写单通路IO系统中的设备分配程序实验报告.docxVIP

编写单通路IO系统中的设备分配程序实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
合肥曇浣 针算机科巻鸟啟求系 实验报告 2013?2014学年第1学期 课 程 操作系统原理 实 验名称 编写单通路I/O系统中的 设备分配程序 学 生姓名 张玉东杨少帅 舒正昇 陈杰孙元进 专 业班级 11计本(3)班 指 导教师 屠菁 2000年12月 一、 实验目的 熟练掌握单通路I/O系统中的设备分配方法。 二、 实验内容 本实验耍求实现模拟单通路I/O系统中的设备分配程序,有如下耍求: 1、 设计系统设备表SDT、设备控制表DCT、控制器表COCT、通道表CHCT 和逻辑设备表LUTo 2、 提供给用户各表目的初态。 3、 回答信息: 能够分配时,给出设备号、控制器号、通道号, 否则,给出无法分配的冋答,插入相应的等待队列。 三、 实验步骤 1、 任务分析 为单通路I/O系统设计系统设备表SDT、设备控制表DCT、控制器表COCT、 通道表CHCT和逻辑设备表LUT五张表。用户可以查看各表目的内容,另外, 程序为用户进程分配设备,并且输岀分配结果,如果能够分配,则给岀设备号、 控制器号、通道号,否则,给出无法分配的回答,插入相应的等待队列。 2、 概要设计 为实现木次实验任务要求,首先,定义SDT、DCT、COCT、CHCT、LUT 五张表,调用AddCHCT、AddCOCT、AddDCT类初始化各表内容;其次,调用 displaySDT、displayDCT displayCOCT displayCHCT displayLUT 方法实现对 上述五张表的输出显示;最后,调用SimulationAdd类,为用户进程申请设备, 如果分配成功,给出设备号、控制器号、通道号,否则,给出无法分配的原因, 并将该进程插入相应的等待队列中。 本程序包含如下3个模块: 主模块,由类Equipement组成。 初始化模块,由AddCHCT、AddCOCT、AddDCT类组成。 显示表目模块,由 displaySDT、displayDCT、displayCOCT、 displayCHCT、displayLUT 方法组成。 分配设备模块,由SimulationAdd等类组成。 绘制流程图如下: 流程图 3、详细设计和编码 通过以上的分析和初步设计,已经对本程序作了初步了解。下面将对本程序 的各个模块作详细的讲解。 (1) 主类模块 调用各个子模块,完成特定的功能。 (2) 初始化模块 对各个表就行初始化,设置好各个表的状态,以及对各个步骤进行类调 用来实现本实验的要求。 显示表目模块 调用 displaySDT、displayDCT、displayCOCT、displayCHCT、displayLUT 方法,显示出SDT系统设备表、DCT设备控制表、COCT控制器控制表、 CHCT通道表和LUT逻辑设备表五张表目,直接显示各表中的设备类型、设 备名称和设备状态等信息。 分配设备模块 在此模块中,首先调用Simulation Add 要求用户选择所要中请的逻辑 设备名称,然后根据逻辑设备名称查看LUT表屮的该设备是否存在,若不 存在,则直接退出分配,输出分配失败原因,若存在,则继续如下分析: 分配设备。根据LUT表找到设备表,然后根据SDT表中指向DCT表 该设备的指针,检索到DCT设备控制表中该物理设备,检查该设备的状态 信息Busy。若忙,则将要求I/O的进程插入到该设备的等待队列中等待;若 不忙,则继续步骤(b)o 分配控制器。根据设备控制表DCT中的控制器表指针,可找到与此 设备相连的控制器表COCT,通过检查该表中的状态信息Busyo若忙,则将 要求I/O的进程插入到等待该控制器的队列中等待;若不忙,则把该控制器 分配给进程,继续步骤(c)o 分配通道。首先根据控制器表COCT中的通道表指针找到与此控制器 相连的通道表CHCT,从中了解此通道的状态信息Busyo若为忙,则把该进 程插入等待通道的队列CHL中;若通道空闲,则表明本次I/O请求所需之I/O 设备和相应的控制器、通道都能得到,于是便可启动I/O设备开始数据传送。 调用equipementFunction方法来实现上述步骤。分配完成后,将相 应的设备、控制器和通道的状态信息Busy置1。结束分配程序。 4、 调试分析 本次程序设计的核心内容在于设备的分配过程,一次分配只有在设备、控制 器和通道三者都分配成功吋,这次分配才算成功。该程序的核心逻辑关系是先分 配设备再分配控制器最后分配通道。当三者都空闲并安全时,才可分配,最终启 动该I/O设备进行数据传送。 5、 测试结果 数据库表: 0 | j Equipement (±)N 城库关浆圏 日N表 田£□浆统表 田□ dbo.CHCT S 3 dbo.COCT S 3 dbo.DCT 田□ dbo.LUT l±l 2 d

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档