设备的分配与回收操作系统课程设计.docxVIP

设备的分配与回收操作系统课程设计.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文档。上传文档
查看更多
设备的分配与回收 操作系统课程设计 题 目 题 目: 班 级: 姓 名: 指导教师: 系主任: 哈尔滨理工大学 课程设计 (操作系统) 设.的分配与剧卜 计算机科学与技术学院计算机系10-8班 陈俊鸣 高雪瑶 林克正 03月01日 1生产者消费者问题课程设计 错误!未定义书签 题目分析 错误!未定义书签 1.2数据结构 错误!未定义书签 流程图 错误!未定义书签 实现技术 错误!未定义书签 设计结论和心得 错误!未定义书签 2 Linux 代码分析 错误!未定义书签 功能说明 错误!未定义书签 接口说明 错误!未定义书签 局音8数据结构 错误!未定义书签 流程图 错误!未定义书签 2.5以实例说明运行过程 错误!未定义书签 1设备的分配与回收 课程设计 1.1题目分析 在多到程序环境下,系统中的设备供所有进程共享。为防止进程对系统 资源的无序竞争,特规定系统设备不允许用户白行使用 ,必须由系统统一分 配。每当进程项系统提出I/O请求时,只要是可能和安全带,设备分配程序 编按照一定的策略,吧设备分配给请求用户。在有的系统中 ,为了确保在 CPU与设备之间能进行通信,还应分配相应的控制器和通道。为了实现设 备分配,必须在系统中设置相应的数据结构。 1.2数据结构 设计中用到了 Map映射)的数据结构,Map结构包括了 key和value两 部分,经过key的匹配来查询value的值,符合次涉及到的要求,解决了四 张表之间的关系 public static Map mapD= newHashMap(); // 对应DCW的映射,key值为设备类型 public static Map mapS= new HashMap(); // 对用SDT勺映射,key值为设备类型 public static Map mapCO newHashMap(); // 对应COC的映射,key值为控制器标识符 public static Map mapCH newHashMap(); //对应CHCT勺映射,key值为通道标识符 public static Mythread[] mt = newMythread[3]; //允许申请3个进程,可根据需要做相应更改 以上4个映射用于存放对应表的信息,设计为全局静态是为了能存储文件 和添加的设备、控制器、通道信息。 1.3流程图 实现设计中主程序和其它子模块的算法,以流程图的形式表示,需画出 函数和过程的调用关系图。 文件读取Fileread(初始化)类 添加设备increase类 #1^~ + 将界面信息读 I 新建用户定义 * 分别将对应信 息赋给里程― 将新的进程类 保存到用户定 V ~ 申请新进程increaseP类 IX 州进程调用 Mythread类:进程执行的方法 XI MainF 1.4实现技术 在这次编程中,选择使用的是java是MyEclipse8.6拥有窗口的框架,但同 时,由于java中没有指针的概念,使得SDT DCT COCT CHC巨间的练习 让我很头疼,因此我选择了使用映射 map,映射中包含key和value,而key 就仿佛C+珅的指针的next,能将4张表练习到一起。随后,在对进程的vo id方法中的设计令我认识到白己对 java进程知识的掌握还很匮乏,现在 还不能很好的运用sleep(),wait(),yield() 等方法,也不清楚其之间的区 别,因此设计要求中的暂停无法很好的实现。 1.5设计结论和心得 这次编程,是我对设备的分配有了更进一步的了解 ,也是我的编译能力得 到了锻炼。 经过本次课程设计,加深了对所学的操作系统的知识的理解 ,而且提高了白 已的编程水平,也让白已认识到了白已编程中存在的问题 ,例如:没有对系 统做全面分析的习惯,以致于白已的程序没有把全部可能出现的情况考虑 进内,以致于对于某一些特别的值,不能给出正确的运行结果,本次课程序 设计认白已体会到了全面系统的分析问题的重要性和必要性。多实践 ,多 进行一些编程锻炼,这将成为我今后的一项课程,白己的编程水平还是太水 今后必须更加努力才行。 2 .ILinux 代码分析 为了进一步了解操作系统内核,学习了 Linux操作系统的进程同步程 序,主要程序源代码如下: package jframe; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.InputStre

文档评论(0)

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

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

1亿VIP精品文档

相关文档