2023年-设备的分配与回收操作系统课程设计.docx
《2023年-设备的分配与回收操作系统课程设计.docx》由会员分享,可在线阅读,更多相关《2023年-设备的分配与回收操作系统课程设计.docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、哈尔滨理工大学课程设计(操作系统)题 目:设备的分配与回收 班 级:计算机科学与技术学院计算机系10-8班姓 名:陈俊鸣1004010820指导教师:高雪瑶系主任:林克正2013年03月01日MainF 类在这次编程中,选择使用的是java是MyEclipse8. 6拥有窗口的框架,但同时,由于java 中没有指针的概念,使得SDT、DCT、COCT、CHCT之间的练习让我很头疼,所以我选择了使 用映射map,映射中包含key和value,而key就好像C+中的指针的next,能将4张表练 习到一起。随后,在对进程的void方法中的设计令我认识到自己对java进程知识的掌握 还很匮乏,现在还不
2、能很好的运用sleep。,wait。,yield。等方法,也不清楚其之间的区 别,因此设计要求中的暂停无法很好的实现。1.5设计结论和心得这次编程,是我对设备的分配有了更进一步的了解,也是我的编译能力得到了锻炼。 通过本次课程设计,加深了对所学的操作系统的知识的理解,并且提高了自己的编程水平, 也让自己认识到了自己编程中存在的问题,例如:没有对系统做全面分析的习惯,以致于 自己的程序没有把全部可能出现的情况考虑进内,以致于对于某一些特别的值,不能给出 正确的运行结果,本次课程序设计认自己体会到了全面系统的分析问题的重要性和必要性。 多实践,多进行一些编程锻炼,这将成为我今后的一项课程,自己的编
3、程水平还是太水, 今后必须更加努力才行。2 .1 Linux代码分析为了进一步了解操作系统内核,学习了 Linux操作系统的进程同步程序,主要程序源 代码如下:package jframe;import java.io.B ufferedReader;import java.io.FilelnputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.InputstreamReader;import map.CHCTmap;i
4、mport map.COCTmap;import map.DCTmap;import map.SDTmap;import table.CHCT;import table.COCT;import table.DCT;import table.SDT;/*文件读取代码 夫/public class Fileread String file=f:aa.txt”;/文件的地址String next=null;用来存放文件每行的信息String s=new String7;将next值按空格分开后存到S数组中SDTmap sm=new SDTmapO;DCTmap dm=new DCTmapO;COCT
5、map com=new COCTmapO;CHCTmap chm=new CHCTmapO;MainF mf=new MainF();public Fileread()public Fileread(int i) throws NumberFormatException, lOException try (BufferedReader input =new BufferedReader(new InputStreamReader(new FileinputStream(file);/读文件while(next=input.readLine()!=null) Mythread myt=new M
6、ythread();SDT sdt=new SDT();DCT dct=new DCT();COCT coct=new COCTQ;CHCT chct=new CHCT();s=next.split,);sdt.settypeS(sO);sdt.setdeS(sl);dct.set(sO, sl, s2);coct.set(s2, s3);chct.set(s3, s2);myt.set(s4, s0, sl, Double.valueOf(s5), Double.valueOf(s6);mf.mtmf.ii+=myt;sm.setmapS(s0, sdt);dm.setmapD(s0, de
7、t);com. setmapCO(s 2, coct);chm. setmapCH(s 3 , chct);将读到的信息写入4张表对应的映射和进程数组中 catch (FileNotFoundException e) / TODO Auto-generated catch block e.printStackTrace();编号:时间:2021年x月x日添加设备的代码String strl=jTextFieldl. getText () ; /获得jTxtFiIdl中的信息String str2=jTextField2.getText ();String str3=jTextField3 .
8、getText ();String str4=j TextField4.getText ();SDT sdt=new SDT();DCT dct=new DCT ();COCT coct=new COCT ();CHCT chct=new CHCT ();sdt , settypeS (strl);sdt . setdeS(str2);det.set (strl, str2r str3);coct . set(str3, str4);chct . set (str4, str3);MainF.maps.put(strl, sdt);MainF.mapO.put(strl, det);MainF
9、.mapCO.put(str3, coct);MainF.mapCH.put(str4, chct);this.dispose () ; /当前的窗口关闭/申请新进程代码String strl=jTextFieldl.getText();String str2=jTextField2.getText ();String str3=j TextField3 getText ();String str4=jTextField4.getText ();String str5=jTextField5 . getText();double dl=Double.valueOf(str4);double d
10、2=Double.valueOf(str5);Myth read Tntt=new Myth read ();mtt.set(strl, str2, str3, dl, d2);MainF.mtMainF.11+=mtt;this , dispose();/进程代码 package j frame;import java.io.lOException;import java.util.Iterator;import java.util.Map;import j avax.swing.JTextArea;import table.CHCT;import table.COCT;import tab
11、le.DCT;import map.CHCTmap;import map.COCTmap;import map.DCTmap;import map.SDTmap;public class Mythread extends Thread SDTmap sm=new SDTmap();String con=null; /用来记录当前进程申请设备的控制器String ch=null; /用来记录当前进程申请设备的通道 DCT dct=new DCT ();COCT coct=new COCT ();CHCT chct=new CHCT ();Fileread filr=new Fileread();
12、String name;/记录进程名double starttim,runtime;/记录进程的开始时间(会变)和执行时间 double time, us;/time用来记录进程的起始时间,use记录使用时间 String apptyp;/记录进程要申请的设备类型String appd;/设备标识符String ss= ; /记录j txtArea要显示的信息JTextArea text;public void set (String name,String apptype,String appde,double starttime,double runtime)this . name=nam
13、e;this , apptype=apptype;this appde=appde;this , starttime=starttime;this runtime=runtime;)public void JT(JTextArea text)this.text=text;)public void settime(double time) this , time=time;)public void setut(double d) this . use=d;)public void run()/判断要申请的设备是否存在,不存在进程沉睡999.999strydct=(DCT)filr.dm.getm
14、apD () .get(apptype);con=dct . get ();coct=(COCT).getmapCO()get (con);ch=coct . get ();catch(Exception e)text. setText (无该类设备“);try (Thread.sieep (9 999 99); catch (InterruptedException el) / TODO Auto-generated catch block el.printStackTrace ();)try Thread, sleep ( (long) time*1000) ; /进程在开始前睡眠if (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 设备 分配 回收 操作系统 课程设计
限制150内