




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《操作系統(tǒng)》實(shí)驗(yàn)報(bào)告學(xué)號: 度與內(nèi)存管理方法。幫助了解在不同的存儲管理方式下,應(yīng)怎樣實(shí)現(xiàn)主存空間的分配和回收。二、實(shí)驗(yàn)要求2、從就緒隊(duì)首選進(jìn)程運(yùn)行:優(yōu)先權(quán)-1/要求運(yùn)行時(shí)間-1要求運(yùn)行時(shí)間=0時(shí),撤銷該進(jìn)程5、規(guī)定道數(shù),設(shè)置后備隊(duì)列和掛起狀態(tài)。若內(nèi)存中進(jìn)程少于規(guī)定道數(shù),可自動從后備隊(duì)列調(diào)度一作業(yè)進(jìn)入。被掛起進(jìn)程入掛起隊(duì)列,設(shè)置解掛功能用于將指定掛起進(jìn)程解掛入就緒隊(duì)列。表目內(nèi)容:起址、長度、狀態(tài)(未分/空表目)PCB指針}10、進(jìn)程完成后,回收主存,并與相鄰空閑分區(qū)合并。 三、實(shí)驗(yàn)內(nèi)容選擇一個調(diào)度算法,實(shí)現(xiàn)處理機(jī)調(diào)度。3、主存儲器空間的分配和回收。在可變分區(qū)管理方式下,采用最先適應(yīng)算法實(shí)現(xiàn)主存四、實(shí)驗(yàn)原理該模擬系統(tǒng)采用java語言實(shí)現(xiàn),要實(shí)現(xiàn)的功能有新建進(jìn)程、進(jìn)程調(diào)度、掛起進(jìn)程、解waitingsuspend列中的進(jìn)程的狀態(tài)為new。CPU每次調(diào)度時(shí)都從就緒隊(duì)列中取進(jìn)程,在進(jìn)程執(zhí)行過程中如果下一個操作時(shí)IO操作,則將進(jìn)程插入到waiting隊(duì)列。在系統(tǒng)運(yùn)行過程中可以執(zhí)行進(jìn)程中的進(jìn)程從原來的隊(duì)列中刪除并插入到掛起隊(duì)列。進(jìn)行解掛操作時(shí)將選中的進(jìn)程從掛起隊(duì)列中刪除并插入該進(jìn)程原來所處的隊(duì)列。插入時(shí)根據(jù)該進(jìn)程的優(yōu)先權(quán)插入到隊(duì)列中的合適位置,插入后保持隊(duì)列按優(yōu)先權(quán)從大到小排最高。當(dāng)選擇按時(shí)間片輪轉(zhuǎn)調(diào)度時(shí),所有隊(duì)列都采用先進(jìn)先出隊(duì)列,先進(jìn)先出隊(duì)列采用一個實(shí)現(xiàn)了先進(jìn)先出。 ?內(nèi)存管理該實(shí)驗(yàn)基于實(shí)驗(yàn)一完成,核心是內(nèi)存的分配和回收,在實(shí)驗(yàn)一的基礎(chǔ)上增加內(nèi)存管理部分,在新建進(jìn)程的時(shí)候增加一個輸入內(nèi)存大小的輸入框,在進(jìn)程進(jìn)入內(nèi)存時(shí)要分配內(nèi)存,間大小以及空間使用狀態(tài)。初始時(shí)只有一個空間,當(dāng)CPU啟動時(shí)要分配內(nèi)存,內(nèi)存分配采用最先適應(yīng)算法?;厥諆?nèi)存時(shí)如果有相鄰空閑空間,則要進(jìn)行空閑空間合并。}}1.divDTO:publicclass{privateprivateprivatedivDTOintdivBase;intlength;intdivFlag;publicdivDTO(intdivBase,intlength,intdivFlag){this.divBase=divBase;this.divFlag=divFlag;this.length=length;}publicdivDTO(){}publicvoidsetDivBase(intbase){this.divBase=base;}publicintgetDivBase(){returnthis.divBase;}publicvoidsetLength(intlength){this.length=length;};publicintgetLength(){returnthis.length;}publicvoidsetDivFlag(intflag){this.divFlag=flag;}publicintgetDivFalg(){returnthis.divFlag;}}2.PcbDTO:publicclassPcbDTO{staticfinalintRunning=1;staticfinalintReady=2;staticfinalintWaiting=3;privateStringprocessName;privateintrunTime;privateintprority;privateintprocessState;privateintbase;privateintlimit;privateintpcbFlag;publicPcbDTO(Stringname,inttime,intpro,intbase,intlimit){cessName=name;this.runTime=time;rity=pro;cessState=0;this.limit=limit;this.base=base;}publicPcbDTO(){this.pcbFlag=0;}publicvoidsetProcessName(Stringname){cessName=name;};publicStringgetProcessName(){returnprocessName;}publicvoidsetRunTime(inttime){this.runTime=time;}publicintgetRunTime(){returnthis.runTime;}publicvoidsetPrority(intprority){rity=prority;}publicintgetPrority(){returnrity;}publicvoidsetProcessState(intstate){cessState=state;}publicStringgetProcessState(){Strings=newString();if(cessState==1){s="running";}elseif(cessState==2){s="ready";}elseif(cessState==3){s="waiting";}returns;} publicintgetBase(){returnthis.base;}publicvoidsetBase(intbase){this.base=base;}publicvoidsetLimit(intlimit){this.limit=limit;}publicintgetLimit(){returnthis.limit;}}3.importjavax.swing.*;importjava.util.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.event.*;publicclassMainFrame{privateJListreadyList;privateJListwaitingList;privateJListjobList;privateJButtonsusButton;privateJButtonrelaxButton;privateJButtonstartButton;privateJButtonnewButton;privateJLabelnameLabel;privateJLabelprorityLabel;privateJLabeltimeLabel;privateJLabeljobLabel;privateJLabelreadyLabel;privateJLabelwaitingLabel;privateJLabelrunningLabel;privateJLabelspaceLabel; privateJLabeldivLabel;privateJLabelallocLabel;privateJTablereadyTable;privateJTablerunningTable;privateJTabledivTable;privateJTableallocTable;privateJTextFieldnameText;privateJTextFieldtimeText;privateJTextFieldspaceText;privateJComboBoxprorityCom;privateJPanelnewPanel;privateJPanelwaitingPanel;privateJPanelreadyPanel;VectorjobVectorName;VectorjobDtoVector;VectorwaitingVectorName;VectorwaitingDtoVector;PcbDTO[]readyDtoArray;PcbDTO[]newDtoArray;divDTO[]divDtoArray;PcbDTO[]newSort;Object[][]readydata;Object[][]runningdata;Object[][]divdata;Object[][]allocdata;intfirst;intend;intpoint;PcbDTOa;publicMainFrame(){a=newPcbDTO();first=0;end=0;point=0;JFramejf=newJFrame("進(jìn)程調(diào)度-ws");Containerc=jf.getContentPane();c.setLayout(null);//c.setBackground(Color.pink); newPanel=newJPanel();newPanel.setLayout(null);waitingPanel=newJPanel();waitingPanel.setLayout(null);//waitingPanel.setBackground(Color.pink);readyPanel=newJPanel();readyPanel.setLayout(null);susButton=newJButton("掛起");relaxButton=newJButton("釋放");startButton=newJButton("開始");newButton=newJButton("新建進(jìn)程");nameLabel=newJLabel("進(jìn)程名");prorityLabel=newJLabel("優(yōu)先級");timeLabel=newJLabel("運(yùn)行時(shí)間");jobLabel=newJLabel("后備隊(duì)列");readyLabel=newJLabel("就緒隊(duì)列");waitingLabel=newJLabel("等待隊(duì)列");runningLabel=newJLabel("運(yùn)行進(jìn)程");spaceLabel=newJLabel("需要空間");divLabel=newJLabel("未分分區(qū)表");allocLabel=newJLabel("內(nèi)存分配表");nameText=newJTextField();timeText=newJTextField();spaceText=newJTextField();prorityCom=newJComboBox();prorityCom.setToolTipText("優(yōu)先級");readyDtoArray=newPcbDTO[6];newSort=newPcbDTO[6];for(inti=0;i<6;i++){newSort[i]=newPcbDTO();}newDtoArray=newPcbDTO[100];jobDtoVector=newVector();jobVectorName=newVector();waitingDtoVector=newVector();waitingVectorName=newVector();divDtoArray=newdivDTO[20];for(inti=0;i<20;i++){divDtoArray[i]=newdivDTO(); divDtoArray[i].setDivFlag(0);}divDtoArray[0].setDivFlag(1);divDtoArray[0].setDivBase(20);divDtoArray[0].setLength(180);readydata=newObject[6][4];runningdata=newObject[2][3];divdata=newObject[20][3];allocdata=newObject[20][3];String[]col1={"進(jìn)程","時(shí)間","優(yōu)先級","狀態(tài)"};String[]col2={"進(jìn)程","時(shí)間","優(yōu)先級"};String[]col3={"起址","長度","狀態(tài)"};String[]col4={"起址","長度","占用進(jìn)程"};readyTable=newJTable(readydata,col1);//readyTable.setEnabled(false);runningTable=newJTable(runningdata,col2);runningTable.setRowHeight(22);runningTable.setEnabled(false);allocTable=newJTable(allocdata,col4);allocTable.setEnabled(false);divTable=newJTable(divdata,col3);divTable.setEnabled(false);divTable.setValueAt(String.valueOf(20),0,0);divTable.setValueAt(String.valueOf(180),0,1);divTable.setValueAt(String.valueOf(1),0,2);JScrollPanerunningSP=newJScrollPane();JScrollPanereadySP2=newJScrollPane();JScrollPanedivSP=newJScrollPane();JScrollPaneallocSP=newJScrollPane();runningSP.getViewport().add(runningTable);readySP2.getViewport().add(readyTable);divSP.getViewport().add(divTable);allocSP.getViewport().add(allocTable);//int[]prorityArray=newint[10];for(inti=0;i<10;i++){prorityCom.addItem(i);//prorityArray[i]=i;}jobList=newJList();waitingList=newJList();JScrollPanereadySP=newJScrollPane(readyList);JScrollPanejobSP=newJScrollPane(jobList);JScrollPanewaitingSP=newJScrollPane(waitingList); newPanel.setSize(450,100);newPanel.setLocation(0,0);nameLabel.setSize(80,20);nameLabel.setLocation(10,5);nameText.setSize(100,25);nameText.setLocation(10,30);prorityLabel.setSize(80,20);prorityLabel.setLocation(120,5);prorityCom.setSize(100,25);prorityCom.setLocation(120,30);timeLabel.setSize(80,20);timeLabel.setLocation(230,5);timeText.setSize(100,25);timeText.setLocation(230,30);spaceLabel.setSize(80,20);spaceLabel.setLocation(340,5);spaceText.setSize(100,25);spaceText.setLocation(340,30);newButton.setSize(100,20);newButton.setLocation(320,70);waitingPanel.setSize(190,410);waitingPanel.setLocation(0,100);jobLabel.setSize(100,20);jobLabel.setLocation(10,2);jobSP.setSize(180,105);jobSP.setLocation(10,25);waitingLabel.setSize(100,20);waitingLabel.setLocation(10,129);waitingSP.setSize(180,105);waitingSP.setLocation(10,150);divLabel.setSize(100,20);divLabel.setLocation(10,253);divSP.setSize(180,113);divSP.setLocation(10,273);relaxButton.setSize(80,20);relaxButton.setLocation(110,388);readyPanel.setSize(260,410);readyPanel.setLocation(190,100);readyLabel.setSize(100,22); readyLabel.setLocation(10,2);allocLabel.setSize(100,20);allocLabel.setLocation(10,232);startButton.setSize(80,20);startButton.setLocation(177,388);susButton.setSize(80,20);susButton.setLocation(95,388);readySP2.setSize(250,117);readySP2.setLocation(10,25);runningLabel.setLocation(10,142);runningLabel.setSize(100,20);runningSP.setSize(250,65);runningSP.setLocation(10,167);allocSP.setSize(250,130);allocSP.setLocation(10,255);c.add(newPanel);newPanel.add(nameLabel);newPanel.add(nameText);newPanel.add(prorityLabel);newPanel.add(prorityCom);newPanel.add(timeText);newPanel.add(timeLabel);newPanel.add(newButton);newPanel.add(spaceLabel);newPanel.add(spaceText);c.add(waitingPanel);waitingPanel.add(jobLabel);waitingPanel.add(jobSP);waitingPanel.add(waitingLabel);waitingPanel.add(waitingSP);waitingPanel.add(divLabel);waitingPanel.add(divSP);waitingPanel.add(relaxButton);c.add(readyPanel);readyPanel.add(readyLabel);readyPanel.add(allocLabel);readyPanel.add(runningLabel);readyPanel.add(startButton);readyPanel.add(susButton);readyPanel.add(allocSP);readyPanel.add(runningSP); readyPanel.add(readySP2);jf.setSize(470,550);jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);jf.setLocationRelativeTo(null);jf.setVisible(true);startButton.addActionListener(newMyActionListener());newButton.addActionListener(newMyActionListener());susButton.addActionListener(newMyActionListener());relaxButton.addActionListener(newMyActionListener());}publicvoidsus(){try{Thread.sleep(1000);}catch(Exceptionex){}}classMyActionListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){intcount=0;PcbDTOtest=newPcbDTO();JButtonjb=(JButton)e.getSource();intmax=-1;if(jb==startButton){//while(true)//{intrunAllocFlag=-1;if((String)runningTable.getValueAt(0,0)==null||(String)runningTable.getValueAt(0,0)==""){try{Thread.sleep(0);}catch(Exceptionex){}//System.out.println("到3");for(intj=first;j!=end;){ if(!readyDtoArray[j].getProcessState().equals("waiting")){max=j;break;}j=(j+1)%6;}for(intj=first;j%6!=end;){if(!readyDtoArray[j].getProcessState().equals("waiting")){if(readyDtoArray[j].getPrority()readyDtoArray[max].getPrority()){max=j;}}j=(j+1)%6;}if(max>=0){a=readyDtoArray[max];readyDtoArray[max]=readyDtoArray[first];readyDtoArray[first]=a;readyTable.setValueAt(readyDtoArray[max].getProcessName(),max,0);readyTable.setValueAt(readyDtoArray[max].getRunTime(),max,1);readyTable.setValueAt(readyDtoArray[max].getPrority(),max,2);readyTable.setValueAt(readyDtoArray[max].getProcessState(),max,3);readyTable.setValueAt("",first,0);readyTable.setValueAt("",first,1);readyTable.setValueAt("",first,2);readyTable.setValueAt("",first,3);runningTable.setValueAt(a.getProcessName(),0,0);runningTable.setValueAt(a.getRunTime(),0,1);runningTable.setValueAt(a.getPrority(),0,2);readyDtoArray[first].setRunTime(readyDtoArray[first] .getRunTime()-1);if(0!=readyDtoArray[first].getPrority()){readyDtoArray[first].setPrority(readyDtoArray[first].getPrority()-1);}first=(first+1)%6;}else{System.out.println("cpu等待中……");}}else{*try{Thread.sleep(2000);}catch(InterruptedException*e1){System.out.println(e1);}//System.out.println("到1");runningTable.setValueAt("",0,0);runningTable.setValueAt("",0,1);runningTable.setValueAt("",0,2);//如果運(yùn)行時(shí)間為0則撤銷進(jìn)程,否則將進(jìn)程重新添加到就緒隊(duì)列中if(a.getRunTime()<=0){//收回內(nèi)存空間for(inti=0;i<point;i++){if(newSort[i].getBase()>=a.getBase()){newSort[i]=newSort[i+1];}}point--;//設(shè)置內(nèi)存分配表的內(nèi)容for(inti=0;i<point;i++){allocTable.setValueAt(String.valueOf(newSort[i].getBase()),i,);allocTable.setValueAt(String.valueOf(newSort[i].getLimit()),i,1);allocTable.setValueAt(newSort[i].getProcessName(),i,2);}allocTable.setValueAt("",point,0); allocTable.setValueAt("",point,1);allocTable.setValueAt("",point,2);//把收回的內(nèi)存加入到記錄未分分區(qū)的數(shù)組intmemoryEnd=0;intlocation=0;intup=-1;//intdown=-1;for(inti=0;i<20;i++){if(divDtoArray[i].getDivFalg()==1){memoryEnd=divDtoArray[i].getDivBase()+divDtoArray[i].getLength();if(memoryEnd==a.getBase()){up=i;}if(divDtoArray[i].getDivBase()==(a.getBase()+a.getLimit())){down=i;}}}if(up>=0&&down>=0){divDtoArray[up].setLength((divDtoArray[up].getLength()+a.getLimit()+divDtoArray[down].getLength()));divDtoArray[down].setDivFlag(0);for(inti=(down+1);i<20;i++){if(divDtoArray[i].getDivFalg()==1){divDtoArray[i-1].setDivBase(divDtoArray[i].getDivBase());divDtoArray[i-1].setDivFlag(1);-divDtoArray[i-1].setLength(divDtoArray[i].getLength());divDtoArray[i].setDivFlag(0);}else{divTable.setValueAt("",i-1,0);divTable.setValueAt("",i-1,1);divTable.setValueAt("",i-1,2);break;}} }elseif(up>=0&&down<0){divDtoArray[up].setLength((divDtoArray[up].getLength()+a.getLimit()));}elseif(up<0&&down>=0){divDtoArray[down].setLength((divDtoArray[down].getLength()+a.getLimit()));divDtoArray[down].setDivBase(a.getBase());}elseif(up<0&&down<0){for(inti=0;i<20;i++){if(divDtoArray[i].getDivBase()>a.getBase()||divDtoArray[i].getDivFalg()==0){location=i;break;}}for(inti=20;i>location;i--){if(divDtoArray[i-1].getDivFalg()==1){divDtoArray[i].setDivBase(divDtoArray[i-1].getDivBase());divDtoArray[i].setDivFlag(1);divDtoArray[i].setLength(divDtoArray[i-.getLength());}}divDtoArray[location].setDivBase(a.getBase());divDtoArray[location].setDivFlag(1);divDtoArray[location].setLength(a.getLimit());}//設(shè)置未分分區(qū)表的內(nèi)容for(inti=0;i<20;i++){if(divDtoArray[i].getDivFalg()==1){divTable.setValueAt(String.valueOf(divDtoArray[i].getDivBase()),i,0);divTable.setValueAt(String.valueOf(divDtoArray[i].getLength()),i,1);divTable.setValueAt(String.valueOf(divDtoArray[i].getDivFalg()), i,2);}}if(!jobDtoVector.isEmpty()){intrunLength=0;PcbDTOjobToReady=(PcbDTO)jobDtoVector.elementAt(0);for(inti=0;i<20;i++){if(divDtoArray[i].getDivFalg()==1){jobToReady(divDtoArray[i].getLength().getLimit()){runAllocFlag=i;break;}}}if(runAllocFlag>=0){jobDtoVector.removeElementAt(0);jobVectorName.remove(jobVectorName.indexOf(jobToReady.getProcessName()));jobList.setListData(jobVectorName);jobToReady.setProcessState(PcbDTO.Ready);jobToReady.setBase(divDtoArray[runAllocFlag].getDivBase());runLength=divDtoArray[runAllocFlag].getLength()-jobToReady.getLimit();if(runLength==0){inti=runAllocFlag;divDtoArray[i].setDivFlag(0);for(;i<19;i++){if(divDtoArray[i+1].getDivFalg()==1){divDtoArray[i]=divDtoArray[i+divDtoArray[i+1].setDivFlag(0);}divTable.setValueAt(String.valueOf(divDtoArray[i].getDivBase()),i,0);divTable.setValueAt(String.valueOf(divDtoArray[i] .getLength()),i,1);divTable.setValueAt(String.valueOf(divDtoArray[i].getDivFalg()),i,2);}divTable.setValueAt(String.valueOf(divDtoArray[i].getDivFalg()),i,2);}elseif(runLength>0){intc2=divDtoArray[runAllocFlag].getDivBase()+jobToReady.getLimit();divDtoArray[runAllocFlag].setDivBase(c2);divDtoArray[runAllocFlag].setLength(runLength);divTable.setValueAt(String.valueOf(c2),runAllocFlag,0);divTable.setValueAt(String.valueOf(runLength),runAllocFlag,1);divTable.setValueAt(String.valueOf(divDtoArray[runAllocFlag].getDivFalg()),runAllocFlag,2);}readyDtoArray[end]=jobToReady;readyTable.setValueAt(jobToReady.getProcessName(),end,0);readyTable.setValueAt(jobToReady.getRunTime(),end,1);readyTable.setValueAt(jobToReady.getPrority(),end,2);readyTable.setValueAt(jobToReady.getProcessState(),end,3);end=(end+1)%6;intruni=0;//用于記錄當(dāng)前新生成的PcbDTO對象for(;runi<point;runi++){if(jobToReady.getBase()<newSort[runi] .getBase()){break;}}//如果不是插入到數(shù)組末尾,則把比它大的都向后挪一for(inti=point;i>runi;i--){newSort[i]=newSort[i-1];allocTable.setValueAt(String.valueOf(newSort[i].getBase()),i,0);allocTable.setValueAt(String.valueOf(newSort[i].getLimit()),allocTable.setValueAt(newSort[i].getProcessName(),i,}//插入新生成的對象newSort[runi]=jobToReady;allocTable.setValueAt(String.valueOf(jobToReady.getBase()),runi,0);allocTable.setValueAt(String.valueOf(jobToReady.getLimit()),runi,1);allocTable.setValueAt(jobToReady.getProcessName(),runi,2);point++;}}}else{readyDtoArray[end]=a;readyTable.setValueAt(a.getProcessName(),end,0);readyTable.setValueAt(a.getRunTime(),end,1);readyTable.setValueAt(a.getPrority(),end,2);readyTable.setValueAt(a.getProcessState(),end,3);end=(end+1)%6;} }//}}elseif(jb==newButton){intnewAllocFlag=-1;intnewLength=0;if(nameText.getText().trim().length()==0){JOptionPane.showMessageDialog(null,"進(jìn)程名不能為空!");}elseif(timeText.getText().trim().length()==0){JOptionPane.showMessageDialog(null,"運(yùn)行時(shí)間不能為空");}elseif(spaceText.getText().trim().length()==0){JOptionPane.showMessageDialog(null,"空間不能為空");}else{test.setRunTime(Integer.parseInt(timeText.getText()));test.setLimit(Integer.parseInt(spaceText.getText()));Strings=prorityCom.getSelectedItem().toString();test.setPrority(Integer.parseInt(s));test.setProcessName(nameText.getText().trim());newDtoArray[count]=test;jobDtoVector.add(newDtoArray[count]);jobVectorName.add(newDtoArray[count].getProcessName());jobList.setListData(jobVectorName);count++;nameText.setText("");timeText.setText("");spaceText.setText("");PcbDTOb=(PcbDTO)jobDtoVector.elementAt(0);for(inti=0;i<20;i++){if(divDtoArray[i].getDivFalg()==1){if(divDtoArray[i].getLength()>=b.getLimit()){newAllocFlag=i;break;}}}//在就緒隊(duì)列未滿且內(nèi)存有足夠空間時(shí)將后備隊(duì)列jobDtoVetor中的對象添加到就緒隊(duì)列中if((end+2)%6!=first&&newAllocFlag>=0){jobDtoVector.removeElementAt(0);b.setProcessState(PcbDTO.Ready);b.setBase(divDtoArray[newAllocFlag].getDivBase());newLength=divDtoArray[newAllocFlag].getLength() -b.getLimit();if(newLength==0){inti=newAllocFlag;divDtoArray[i].setDivFlag(0);for(;i<19;i++){if(divDtoArray[i+1].getDivFalg()==1){divDtoArray[i]=divDtoArray[i+1];divDtoArray[i+1].setDivFlag(0);}divTable.setValueAt(String.valueOf(divDtoArray[i].getDivBase()),i,0);divTable.setValueAt(String.valueOf(divDtoArray[i].getLength()),i,1);divTable.setValueAt(String.valueOf(divDtoArray[i].getDivFalg()),i,2);}divTable.setValueAt(String.valueOf(divDtoArray[i].getDivFalg()),i,2);}elseif(newLength>0){intc1=divDtoArray[newAllocFlag].getDivBase()+b.getLimit();divDtoArray[newAllocFlag].setDivBase(c1);divDtoArray[newAllocFlag].setLength(newLength);divTable.setValueAt(String.valueOf(c1),newAllocFlag,0);divTable.setValueAt(String.valueOf(newLength),newAllocFlag,1);divTable.setValueAt(String.valueOf(divDtoArray[newAllocFlag].getDivFalg()),newAllocFlag,2);}readyDtoArray[end]=b;jobVectorName.remove(jobVectorName.indexOf(b.getProcessName()));readyTable.setValueAt(b.getProcessName(),end,0); readyTable.setValueAt(b.getRunTime(),end,1);readyTable.setValueAt(b.getPrority(),end,2);readyTable.setValueAt("ready",end,3);end=(end+1)%6;intnewi=0;//用于記錄當(dāng)前新生成的PcbDTO對象應(yīng)該插入for(;newi<point;newi++){if(b.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司借款合同書集錦
- 勞動合同法第四條
- 國際貿(mào)易貨物買賣合同
- 交通安全統(tǒng)籌服務(wù)合同
- 醫(yī)院聘用醫(yī)師協(xié)議書
- 2025年漯河貨運(yùn)資格證考試答案
- 借貸擔(dān)保合同協(xié)議5篇
- 農(nóng)場整體出租合同范本
- 買賣礦居間合同范本
- 農(nóng)村豬種出售合同范本
- 供應(yīng)商開發(fā)流程及質(zhì)量要求
- 2024年技術(shù)監(jiān)督質(zhì)檢職業(yè)技能考試-電力技術(shù)監(jiān)督上崗員(中國華能)筆試歷年真題薈萃含答案
- 反假幣測試附有答案
- 怎樣調(diào)動員工積極性
- 2024年內(nèi)科護(hù)理學(xué)(第七版)期末考試復(fù)習(xí)題庫(含答案)
- 【上市公司的財(cái)務(wù)風(fēng)險(xiǎn)的分析和防范:以三只松鼠為例10000字(論文)】
- 急診科培訓(xùn)急診科與其他科室的協(xié)作與溝通
- JCT414-2017 硅藻土的標(biāo)準(zhǔn)
- 肌肉注射評分標(biāo)準(zhǔn)
- 鋼結(jié)構(gòu)主要技術(shù)標(biāo)準(zhǔn)和要求
- 臘八粥 第一課時(shí)自學(xué)導(dǎo)學(xué)單
評論
0/150
提交評論