欢迎来到天天文库
浏览记录
ID:35498919
大小:65.73 KB
页数:20页
时间:2019-03-25
《操作系统分区实验源代码(整理)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.importjava.awt.Color;importjava.awt.Graphics;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.BufferedOutputStream;importjava.io.FileOutputStream;importjava.io」OException;importjava.io.Printstream;importjava.util.LinkedList;importjavax.swing」Button;imp
2、ortjavax.swing」Panel;importjavax.swing」TextArea;/**Createdon2004-5-19**Tochangethetemplateforthisgeneratedfilegoto*Window>Preferences>Java>CodeGeneration>CodeandComments*//***@author李秋军(010200)**Tochangethetemplateforthisgeneratedtypecommentgoto*Window>Preferences>Java&
3、gt;CodeGeneration>CodeandComments*/publicclassBestMemAllocextendsJPanelimplementsRunnable{LinkedListmemList=newLinkedList();//用于存放整个内存信息的链表UnkedListspaceMemList=newLinkedList();//用于存放空闲内存信息的链表MemArealnfomemArealnfo;JTextAreatext=newJTextArea(20,12);JButtonbt=newJButton(H最佳适丿'、'/算法演示”)
4、;privatebooleancontrolFlag=false;privatebooleanstopFile=false;Printstreamps;publicBestMemAlloc)){init();bt.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventargO){if(JcontrolFlag){text.setText("");memList.clear();spaceMemUst.clear();stopFile=true;init();controlFla
5、g=true;repaint();}}});this.add(text);//将文本区加入面板this.add(bt);//将按钮加入面板}//初始化链表和文件voidinit(){memArealnfo=newMemArealnfofO,640,false,-1);memList.add(memArealnfo);spaceMemList.add(memArealnfo);if(stopFile){try{ps=newPrintStream(newBufferedOutputStreamfnewFileOutputStreamC'bestMem.txt")));}ca
6、tch(lOExceptione){System.out.println(e);}ps.println("最佳适应算法r“);print("内存初始状态”);}}〃分配内存publicbooleanalloc(intmemSize,intid)MemArealnfomem;for(inti=0;j=memSize){if(mem.getLength()==memSize){mem.setAlloc(
7、true);mem.setld(id);spaceMemList.remove(i);}else{MemArealnfonewMem=newMemArealnfo(mern・getStartAddr(),memSize,true,id);mem.setStartAddr(mem.getStartAddr()+memSize);mem.setLength(mem.getLength()-memSize);spaceMemList.remove(i);insertMemList(newMem);insertSpaceMemList(mem);
此文档下载收益归作者所有