内存分配实验报告模板_第1页
内存分配实验报告模板_第2页
内存分配实验报告模板_第3页
内存分配实验报告模板_第4页
内存分配实验报告模板_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北建筑工程学院实验报告年 月 日班级物联142姓名孙胜杰学号20143260218评分实验台号同组人员实验名称可变分区存储管理的内存分配算法 模拟实现-首次适应算法课程 名称操作系统仪器名称型号规格仪器编号装有eclipse和Java环境的PC机一台一实验目的1深刻理解可变分区的首次适应算法。2掌握可变分区存储管理方式,使用可变分区的首次适应算法进行内存分配二实验设备PC机三实验内容在Java开发环境下模拟可变分区的内存分配,使用首次适应算法,内存分配四程序的主要代码package首次适应算法;import java.awt.Color;import java.awt.F ont;impor

2、t java.awt.GridLayout;import java.awt.Label;import java.awt.eve nt.Acti on Eve nt;import java.awt.eve nt.Actio nListe ner;import javax.swi ng.J Butt on;import javax.sw in g.JFrame;import javax.sw in g.JLabel;import javax.swi ng.J Optio nPane;import javax.swi ng.JPan el;import javax.sw in g.JTextArea

3、;import javax.sw in g.JTextField;import javax.swing.SwingConstants;import javax.swing.GroupLayout;import javax.swing.GroupLayout.Alignment;import javax.swing.LayoutStyle.ComponentPlacement;public class FFMethod extends JFrame /*首次适应算法*/private static final long serialVersionUID = 1889348358576796305

4、L;/定义 30 个进程块/申请大小、释放/内存分配情况protected JTextField blank0,blank1,blank2,blank3, blank4,blank5,blank6,blank7, blank8,blank9,blank10,blank11, blank12,blank13,blank14,blank15, blank16,blank17, blank18,blank19,blank20,blank21,blank22,blank23, blank24,blank25,blank26,blank27, blank28,blank29,blank30,blank3

5、1;protected JTextField applyMemTF,releaseMemTF; 块号的编辑框protected JTextArea showMemStatusTF; 显示框/表示进程块/表示存储起始地址/表示存储进程长度protected JButton applyMemButton,releaseMemButton; /定义申请大小、释放 块号和清空内存三个按钮int processBlock = new int32;int processBlockStartAdd = new int32; int processBlockLength = new int32;public

6、FFMethod() setForeground(Color.BLACK); setResizable(false);getContentPane().setBackground(Color.CYAN); setBackground(Color.WHITE);setFo nt(n ew Fo nt( 黑体,Fon t.PLAIN, 15);setTitle(u64CDu4F5Cu7CFBu7EDFu2014u2014u9996u6B21u9002u5E9 4u7B97u6CD5);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel p5

7、= new JPanel();p5.setBackground(Color.YELLOW);Font font1 = new Font(SansSerif,Font.BOLD,16);GroupLayout groupLayout = new GroupLayout(getContentPane(); groupLayout.setHorizontalGroup(groupLayout.createParallelGroup(Alignment.LEADING) .addGroup(groupLayout.createSequentialGroup() .addContainerGap().a

8、ddComponent(p5, GroupLayout.PREFERRED_SIZE, 612, GroupLayout.PREFERRED_SIZE).addContainerGap(589, Short.MAX_VALUE) );groupLayout.setVerticalGroup( groupLayout.createParallelGroup(Alignment.LEADING) .addGroup(groupLayout.createSequentialGroup() .addContainerGap().addComponent(p5, GroupLayout.PREFERRE

9、D_SIZE,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addContainerGap(81, Short.MAX_VALUE);JPanel p3 = new JPanel(new GridLayout(11,1,20,0); p3.setBackground(Color.YELLOW);JLabel label = new JLabel(u5185u5B58u5BB9u91CF32); label.setHorizontalAlignment(SwingConstants.LEFT); p3.add(label);p3.a

10、dd(blank0 = new JTextField(3);p3.add(blank1 = new JTextField(3);p3.add(blank2 = new JTextField(3);p3.add(blank3 = new JTextField(3);p3.add(blank4 = new JTextField(3);p3.add(blank5 = new JTextField(3);p3.add(blank6 = new JTextField(3);p3.add(blank7 = new JTextField(3);p3.add(blank8 = new JTextField(3

11、);p3.add(blank9 = new JTextField(3);p3.add(blank10 = new JTextField(3);p3.add(blank11 = new JTextField(3);p3.add(blank12 = new JTextField(3);p3.add(blank13 = new JTextField(3);p3.add(blank14 = new JTextField(3);p3.add(blank15 = new JTextField(3);p3.add(blank16 = new JTextField(3);p3.add(blank17 = ne

12、w JTextField(3);p3.add(blank18 = new JTextField(3);p3.add(blank19 = new JTextField(3);p3.add(blank20 = new JTextField(3);p3.add(blank21 = p3.add(blank22 = p3.add(blank23 = p3.add(blank24 = p3.add(blank25 = p3.add(blank26 = p3.add(blank27 = p3.add(blank28 = p3.add(blank29 = p3.add(blank30 = p3.add(bl

13、ank31 =new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3); new JTextField(3);JPanel p1 = new JPanel(new GridLayout(3,2,5,2); p1.setBackground(Color.YELLOW);p1.add

14、(applyMemButton = new JButton(u7533u8BF7uFF08u5757u6570uFF09); applyMemButton.setBackground(Color.BLUE);p1.add(applyMemTF = new JTextField(3); applyMemTF.setToolTipText();p1.add(releaseMemButton = new JButton(u91CAu653EuFF08u5757u53F7uFF09); releaseMemButton.setBackground(Color.BLUE); p1.add(release

15、MemTF = new JTextField(3);p1.add(new Label(tu5185u5B58u5206u914Du60C5u51B5uFF1A);JPanel p2 = new JPanel(); p2.setBackground(Color.YELLOW); p2.add(showMemStatusTF = new JTextArea(); GroupLayout gl_p2 = new GroupLayout(p2); gl_p2.setHorizontalGroup(gl_p2.createParallelGroup(Alignment.LEADING) .addGrou

16、p(gl_p2.createSequentialGroup().addComponent(p1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addGap(28) .addGroup(gl_p2.createSequentialGroup().addComponent(showMemStatusTF, GroupLayout.DEFAULT_SIZE, 265, Short.MAX_V ALUE).addContainerGap(); gl_p2.setVerticalGro

17、up(gl_p2.createParallelGroup(Alignment.LEADING) .addGroup(gl_p2.createSequentialGroup().addComponent(p1, GroupLayout.PREFERRED_SIZE, 131,GroupLayout.PREFERRED_SIZE) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(showMemStatusTF,GroupLayout.DEFAULT_SIZE, 175, Short.MAX_V ALUE);JButton but

18、ton = new JButton(u6E05u7A7Au5185u5B58); button.setBackground(Color.RED);button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) for(int cc = 0;cc 32 | n 0)JOptio nPan e.showMessageDialog( null,进程大小违规,请重新输 入!);outher:/向内存中添加进程for(int i = 0;i 32; i+ )/向内存中添加进程if(proce

19、ssBlocki = 0 & Sum(processBlock,i,n) = 0) processBlockStartAddi = i;/存储起始地址processBlockLengthi = n;/存储进程长度/找到合适的位for(int ss = i;ss (i + n);ss+)processBlockss = 1;置,置 1 colorr();JOptio nPan e.showMessageDialog( null成功分配到内存! );showMemStatusTF.appe nd块号:+ processBlockStartAddi + 起始位置 : +processBlockSta

20、rtAddi + 大小 : + processBlockLengthi +n);break outher; if(i = 31)JOptio nPan e.showMessageDialog( null,内存不足,请等 待.);break outher; );/释放内存按钮监听 releaseMemButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int m = In teger.parseI nt(releaseMemTF.getText();进程块的起始位置 和长

21、度for(int ff = m;ff (m + processBlockLengthm);ff+) processBlockff = 0;processBlockStartAddm = 0; processBlockLengthm = 0;colorr();showMemStatusTF.setText();for(int bb = 0;bb 10; bb+) if(processBlockLengthbb != 0) showMemStatusTF. appe nd块号:+ processBlockbb + 起始位置 : +processBlockStartAddbb + 大小:+ proc

22、essBlockLengthbb + n); );GroupLayout gl_p5 = new GroupLayout(p5); gl_p5.setHorizontalGroup(gl_p5.createParallelGroup(Alignment.LEADING).addGroup(gl_p5.createSequentialGroup().addGap(20).addComponent(p2, GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addPreferredGap

23、(ComponentPlacement.UNRELATED) .addComponent(p3, GroupLayout.PREFERRED_SIZE, 273,Short.MAX_V ALUE).addGap(26);gl_p5.setVerticalGroup(gl_p5.createParallelGroup(Alignment.LEADING).addGroup(gl_p5.createSequentialGroup() .addGroup(gl_p5.createParallelGroup(Alignment.LEADING, false).addComponent(p3, Grou

24、pLayout.DEFAULT_SIZE,GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE).addGroup(gl_p5.createSequentialGroup() .addGap(26) .addComponent(p2,GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE).addContainerGap(27, Short.MAX_VALUE) );p5.setLayout(gl_p5);getContentPane().setLayout(

25、groupLayout);/判断内存空间是否足够public int Sum(int pp,int mm,int k)int sum = 0;if(mm + k) = 32)for(int zz = mm;zz (mm + k);zz+)sum+=ppzz;else sum = 1;return sum;/内存与 processBlock 数组相对应 ,占用颜色为绿色,空白为蓝色public void colorr()if(processBlock0=1)blank0.setBackground(Color.GREEN); elseblank0.setBackground(Color.WHIT

26、E);if(processBlock1=1)blank1.setBackground(Color.GREEN); elseblank1.setBackground(Color.WHITE);if(processBlock2=1)blank2.setBackground(Color.GREEN); elseblank2.setBackground(Color.WHITE);if(processBlock3=1)blank3.setBackground(Color.GREEN); elseblank3.setBackground(Color.WHITE);if(processBlock4=1)bl

27、ank4.setBackground(Color.GREEN); elseblank4.setBackground(Color.WHITE);if(processBlock5=1)blank5.setBackground(Color.GREEN); elseblank5.setBackground(Color.WHITE);if(processBlock6=1)blank6.setBackground(Color.GREEN); elseblank6.setBackground(Color.WHITE);if(processBlock7=1)blank7.setBackground(Color

28、.GREEN); elseblank7.setBackground(Color.WHITE);if(processBlock8=1)blank8.setBackground(Color.GREEN);else blank8.setBackground(Color.WHITE);if(processBlock9=1)blank9.setBackground(Color.GREEN);elseblank9.setBackground(Color.WHITE);if(processBlock10=1)blank10.setBackground(Color.GREEN); elseblank10.se

29、tBackground(Color.WHITE);if(processBlock11=1)blank11.setBackground(Color.GREEN); elseblank11.setBackground(Color.WHITE);if(processBlock12=1)blank12.setBackground(Color.GREEN); elseblank12.setBackground(Color.WHITE);if(processBlock13=1)blank13.setBackground(Color.GREEN); elseblank13.setBackground(Col

30、or.WHITE);if(processBlock14=1)blank14.setBackground(Color.GREEN); elseblank14.setBackground(Color.WHITE);if(processBlock15=1)blank15.setBackground(Color.GREEN); elseblank15.setBackground(Color.WHITE);if(processBlock16=1)blank16.setBackground(Color.GREEN); elseblank16.setBackground(Color.WHITE);if(pr

31、ocessBlock17=1)blank17.setBackground(Color.GREEN);blank17.setBackground(Color.WHITE);else if(processBlock18=1)blank18.setBackground(Color.GREEN);elseblank18.setBackground(Color.WHITE);if(processBlock19=1)blank19.setBackground(Color.GREEN);elseblank19.setBackground(Color.WHITE);if(processBlock20=1)bl

32、ank20.setBackground(Color.GREEN);elseblank20.setBackground(Color.WHITE);if(processBlock21=1)blank21.setBackground(Color.GREEN);elseblank21.setBackground(Color.WHITE);if(processBlock22=1)blank22.setBackground(Color.GREEN);elseblank22.setBackground(Color.WHITE);if(processBlock23=1)blank23.setBackground(Color.GREEN);elseblank23.setBackground(Color.WHITE);if(processBlock24=1)blank24.setBackground(Color.GREEN);elseblank24.setBackground(Color.WHITE);if(processBlock25=1)blank25.setBackground(Color.GREEN);elseblank25.set

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论