哈尔滨理工大学课程设计(操作系统)题目:设备的分配与回收班级:计算机科学与技术学院计算机系10-8班姓名:陈俊鸣1004010820指导教师:高雪瑶系主任:林克正2013年03月01日目录1生产者消费者问题课程设计..............................................11.1题目分析..............................................................................................11.2数据结构..............................................................................................11.3流程图.....................................................................................................11.4实现技术..............................................................................................21.5设计结论和心得........................................................................22Linux代码分析..............................................................................................42.1功能说明..............................................................................................42.2接口说明..............................................................................................42.3局部数据结构...............................................................................42.4流程图.....................................................................................................42.5以实例说明运行过程.........................................................5-II-哈尔滨理工大学课程设计报告1设备的分配与回收课程设计1.1题目分析在多到程序环境下,系统中的设备供所有进程共享。为防止进程对系统资源的无序竞争,特规定系统设备不允许用户自行使用,必须由系统统一分配。每当进程项系统提出I/O请求时,只要是可能和安全带,设备分配程序编按照一定的策略,吧设备分配-1-哈尔滨理工大学课程设计报告给请求用户。在有的系统中,为了确保在CPU与设备之间能进行通信,还应分配相应的控制器和通道。为了实现设备分配,必须在系统中设置相应的数据结构。1.2数据结构设计中用到了Map(映射)的数据结构,Map结构包括了key和value两部分,通过key的匹配来查询value的值,符合次涉及到的要求,解决了四张表之间的关系-2-哈尔滨理工大学课程设计报告publicstaticMapmapD=newHashMap();//对应DCT表的映射,key值为设备类型publicstaticMapmapS=newHashMap();//对用SDT的映射,key值为设备类型publicstaticMapmapCO=newHashMap();//对应COCT的映射,key值为控制器标识符publicstaticMapmapCH=newHashMap();//对应CHCT的映射,key值为通道标识符publicstaticMythread[]mt=newMythread[3];//允许申请3个进程,可根据需要做相应更改-3-哈尔滨理工大学课程设计报告以上4个映射用于存放对应表的信息,设计为全局静态是为了能存储文件和添加的设备、控制器、通道信息。1.3流程图实现设计中主程序和其他子模块的算法,以流程图的形式表示,需画出函数和过程的调用关系图。-4-哈尔滨理工大学课程设计报告-5-结束哈尔滨理工大学课程设计报告文件读取Fileread(初始化)类-6-开始将界面的信息读入并赋给字符串变量新建4张表分别将对应信息添加到4张表中将4张表分别保存到各自的映射中(Map)结束哈尔滨理工大学课程设计报告-7-哈尔滨理工大学课程设计报告添加设备increase类-8-哈尔滨理工大学课程设计报告-9-将新的进程类保存到用户定义的进程类数组中并记录当前进程数目结束哈尔滨理工大学课程设计报告申请新进程increaseP类-10-哈尔滨理工大学课程设计报告-11-判断暂停标识是否为1(暂停30S)进程调用sleep方法睡眠30s是在主界面的jTextArea显示:进程阻塞调用sleep方法睡眠一个阻塞时间哈尔滨理工大学课程设计报告-12-进程调用sleep方法睡眠30s是向主界面jTextArea中显示进程释放资源信息结束否哈尔滨理工大学课程设计报告Mythread类:进程执行的方法-13-哈尔滨理工大学课程设计报告-14-调用Fi...