- 2
- 0
- 约2.85万字
- 约 38页
- 2019-05-19 发布于天津
- 举报
哈尔滨理工大学
课 程 设 计
(操作系统)
题 目: 设备的分配与回收
班 级: 计算机科学与技术学院 计算机系 10-8班
姓 名: 陈俊鸣 1004010820
指导教师: 高雪瑶
系主任: 林克正
20
PAGE II
- -
-
目 录
TOC \o 1-3 \h \z \u 1生产者消费者问题课程设计 h 1矚慫润厲钐瘗睞枥庑赖賃軔朧碍鳝绢懣硯涛镕頃赎巯驂雞虯从躜鞯烧。
1.1 题目分析 h 1聞創沟燴鐺險爱氇谴净祸測樅锯鳗鲮詣鋃陉蛮苎覺藍驳驂签拋敘睑绑。
1.2 数据结构 h 1残骛楼諍锩瀨濟溆塹籟婭骒東戇鳖納们怿碩洒強缦骟飴顢歡窃緞駔蚂。
1.3 流程图 h 1酽锕极額閉镇桧猪訣锥顧荭钯詢鳕驄粪讳鱸况閫硯浈颡閿审詔頃緯贾。
1.4 实现技术 h 2彈贸摄尔霁毙攬砖卤庑诒尔肤亿鳔简闷鼋缔鋃耧泞蹤頓鍥義锥柽鳗铟。
1.5 设计结论和心得 h 2謀荞抟箧飆鐸怼类蒋薔點鉍杂篓鳐驱數硯侖葒屜懣勻雏鉚預齒贡缢颔。
2 Linux代码分析 h 4厦礴恳蹒骈時盡继價骚卺癩龔长鳏檷譴鋃蠻櫓鑷圣绋閼遞钆悵囅为鹬。
2.1 功能说明 h 4茕桢广鳓鯡选块网羈泪镀齐鈞摟鳎饗则怿唤倀缀倉長闱踐識着純榮詠。
2.2 接口说明 h 4鹅娅尽損鹌惨歷茏鴛賴縈诘聾諦鳍皑绲讳谧铖處騮戔鏡謾维覦門剛慘。
2.3 局部数据结构 h 4籟丛妈羥为贍偾蛏练淨槠挞曉养鳌顿顾鼋徹脸鋪闳讧锷詔濾铩择觎測。
2.4 流程图 h 4預頌圣鉉儐歲龈讶骅籴買闥龅绌鳆現檳硯遙枨纾釕鴨鋃蠟总鴯询喽箋。
2.5 以实例说明运行过程 h 5渗釤呛俨匀谔鱉调硯錦鋇絨钞陉鳅陸蹕銻桢龕嚌谮爺铰苧芻鞏東誶葦。
哈尔滨理工大学课程设计报告
- PAGE 10 -
1设备的分配与回收课程设计
题目分析
在多到程序环境下,系统中的设备供所有进程共享。为防止进程对系统资源的无序竞争,特规定系统设备不允许用户自行使用,必须由系统统一分配。每当进程项系统提出I/O请求时,只要是可能和安全带,设备分配程序编按照一定的策略,吧设备分配给请求用户。在有的系统中,为了确保在CPU与设备之间能进行通信,还应分配相应的控制器和通道。为了实现设备分配,必须在系统中设置相应的数据结构。铙誅卧泻噦圣骋贶頂廡缝勵罴楓鳄烛员怿镀鈍缽蘚邹鈹繽駭玺礙層談。
1.2数据结构
设计中用到了Map(映射)的数据结构,Map结构包括了key和value两部分,通过key的匹配来查询value的值,符合次涉及到的要求,解决了四张表之间的关系擁締凤袜备訊顎轮烂蔷報赢无貽鳃闳职讳犢繒笃绨噜钯組铷蟻鋨赞釓。
public static Map mapD = new HashMap();
//对应DCT表的映射,key值为设备类型
public static Map mapS = new HashMap();
//对用SDT的映射,key值为设备类型
public static Map mapCO = new HashMap();
//对应COCT的映射,key值为控制器标识符
public static Map mapCH = new HashMap();
//对应CHCT的映射,key值为通道标识符
public static Mythread[] mt = new Mythread[3];
//允许申请3个进程,可根据需要做相应更改
以上4个映射用于存放对应表的信息,设计为全局静态是为了能存储文件和添加的设备、控制器、通道信息。
1.3流程图
实现设计中主程序和其他子模块的算法,以流程图的形式表示,需画出函数和过程的调用关系图。
开始输入初始化文件地址
开始
输入初始化文件地址
按行读文件,读一行
文件是否结束
将相应信息保存到相应的Map中
结束
否
是
文件读取Fileread(初始化)类
开始将界面的信息读入并赋给字符串变量
开始
将界面的信息读入并赋给字符串变量
新建4张表
分别将对应信息添加到4张表中
将4张表分别保存到各自的映射中(Map)
结束
添加设备increase类
开始将界面信息读入并赋给字符串变量变量
开始
将界面信息读入并赋给字符串变量变量
新建用户定义的进程类Mythread类
分别将对应信息赋给进程类中的属性,产生新的进程
将新的进程类保存到用户定义的进程类数组中并记录当前进程数目
结束
申请新进程increaseP类
开始遍历设备表的Map
开始
遍历设备表的Map
该进程申请的设备是否存在
进程调用sleep()方法睡眠并
原创力文档

文档评论(0)