91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 17KB
    文件類型: .java
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-16
  • 語言: Java
  • 標(biāo)簽:

資源簡介

在可變分區(qū)管理方式下,采用最先適應(yīng)算法實現(xiàn)主存空間的分配和回收。 1、自行假設(shè)主存空間大小,預(yù)設(shè)操作系統(tǒng)所占大小并構(gòu)造未分分區(qū)表; 表目內(nèi)容:起址、長度、狀態(tài)(未分/空表目) 2、結(jié)合實驗一,PCB增加為: {PID,要求運行時間,優(yōu)先權(quán),狀態(tài),所需主存大小,主存起始位置,PCB指針} 3、采用最先適應(yīng)算法分配主存空間; 4、進程完成后,回收主存,并與相鄰空閑分區(qū)合并。

資源截圖

代碼片段和文件信息

/**
?*?@(#)Main.java
?*
?*
?*?@author?楊啟帆
?*?@version?1.00?2010/11/16
?*/
package?os;
import?java.util.Vector;
import?javax.swing.event.*;
import?java.awt.*;
import?javax.swing.*;
import?java.awt.event.*;
import?java.util.*;
import?java.io.*;
import?java.net.*;
import?javax.swing.table.*;

public?class?Mainframe1?{

??Jframe?jf;
??JPanel?jp;
??
??//注冊組件
??JLabel?nameLabreseverLabreadyLabrunLabruntableLabtableLabrunCPULabfinishLabpcbNameLabruntimeLabpriorityLabmemoryLabnoteLab;
??JButton?setJbinputJbexitJb;
??JList??reseverJLreadyJLrunJLrunCPUJLfinishJL;
??JScrollPane?reseverJSPreadyJSPrunJSPrunCPUJSPfinishJSP;
??DefaultListModel?reseverModelreadyModelrunModelrunCPUModelfinishModelmemoryModel;
??JTextField?pcbTf;
??JComboBox?runtimeJCBpriorityJCBmemoryJCB;
??JTable?runtabletable;
??
??//用以實現(xiàn)table的方法
??DefaultTableModel?runtableModeltableModel;
??
??//i用作記錄當(dāng)前在runModel中的進程數(shù)
??int?i?=?0;
??
??//y用作記錄當(dāng)前runModel中優(yōu)先權(quán)最高的進程
??int?y?=?0;
??
??//用作記錄創(chuàng)建進程的編號
??int?count?=?0;

??//用作記錄未分分區(qū)表內(nèi)的行數(shù)
??int?u?=?0;

??//記錄進程的內(nèi)存長度
??int?size?=?0;
??//獲取當(dāng)前未分分區(qū)表的起始地址
??int?address?=?0;
??
??//獲取當(dāng)前未分分區(qū)表的長度
??int?Long?=?0;
??
??//用作記錄在未分分區(qū)表中的起始地址的數(shù)組
??int?a[]?=?new?int[10];
??
??//用作記錄在未分分區(qū)表中的長度的數(shù)組
??int?b[]?=?new?int[10];
??//記錄分配點
??int?Dpoint?=?0;
??//記錄新的未分分區(qū)表的起址
??int?tablestart?=?0;
??//記錄新的未分分區(qū)表的長度
??int?tablesize?=?0;
??//記錄cpu運行隊列中的進程起址
??int?start?=?0;
??
??PCB?pcb?=?new?PCB();
??String?c?=?String.valueOf(count);
??//啟動線程
??Thread?listen?=?new?Listen();
??????Thread?listen1?=?new?Listen1();
??????String[]?Names=?{“起址““長度““狀態(tài)“};
??String[][]?data?=?new?String[0][3];
??String[][]?data1?=?new?String[0][3];

??//構(gòu)造函數(shù)
public?Mainframe1()
{???

jf?=?new?Jframe(“主存儲器空間的分配和回收“);
???? jp?=?new?JPanel();
?? Container?c?=?jf.getContentPane();
?? pcbTf?=?new?JTextField(20);

reseverModel=new?DefaultListModel();
????????readyModel?=new?DefaultListModel();
runModel=new?DefaultListModel();
runCPUModel?=?new?DefaultListModel();
finishModel=new?DefaultListModel();

//創(chuàng)建一個table的Model的屬性
runtableModel?=?new?DefaultTableModel(dataNames);
tableModel?=?new?DefaultTableModel(data1Names);


?? //創(chuàng)建組建
?? nameLab?=?new?JLabel(“主存儲器空間的分配和回收“);
?? reseverLab?=?new?JLabel(“后備隊列“);
?? readyLab?=?new?JLabel(“就緒隊列“);
?? runLab?=?new?JLabel(“內(nèi)存中進程“);
?? runtableLab?=?new?JLabel(“CPU運行進程內(nèi)存分配“);
?? tableLab?=?new?JLabel(“未分分區(qū)表“);
?? runCPULab?=?new?JLabel(“CPU運行進程“);
?? finishLab?=?new?JLabel(“完成隊列“);
?? pcbNameLab?=?new?JLabel(“PCB名:“);
?? runtimeLab?=?new?JLabel(“運行時間:“);
?? priorityLab?=?new?JLabel(“優(yōu)先權(quán):“);
?? memoryLab?=?new?JLabel(“內(nèi)存大小:“);
?? noteLab?=?new?JLabel(“注釋:PCB名運行時間優(yōu)先權(quán)內(nèi)存大小起址地址“);
?? setJb?=?new?JButton(“創(chuàng)建“);
?? inputJb?=?new?JButton(“增加“);
?? exitJb?=?new?JButton(“退出“);

?? //給runtable實例化
?? runtable?=?new?JTable(runtableMode

評論

共有 條評論

相關(guān)資源