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

資源簡介

操作系統課設做的動態分區分配算法。第一次上傳資源,做的有些亂,獻丑了,其中循環首次循環和最佳、最壞分配算法其實只是從首次適應算法改了一點東西。 補充幾句,是JAVA做的,分配和回收算法都有,使用數組實現

資源截圖

代碼片段和文件信息

import?java.awt.*;
import?java.awt.event.*;

import?javax.swing.*;

/*
?*?最佳適應算法
?*?算法概述:每次為作業分配內存時,總是把能滿足要求、又是最小的空閑分區分配給作業
?*?實現方法:我們決定每次分配先把空閑分區按從小到大的順序排列,然后將第一個匹配分區分配給作業
?*?
?*/

public?class?BestFit?extends?Jframe?implements?MouseListener?{
JTextPane?t?=?new?JTextPane();
JPanel?p?=?new?JPanel();

//?把空閑分區表按從小到大的順序排列的方法

public?BestFit(int[]?ai?mem[]?bi)?{

//?為避免改變傳遞進來的數組值,影響操作,新建兩個相同的數組
int?la?=?ai.length?lb?=?bi.length;
int[]?a?=?new?int[la];
mem[]?b?=?new?mem[lb];
for?(int?i?=?0;?i? a[i]?=?ai[i];
}
for?(int?i?=?0;?i? b[i]?=?bi[i];
}
add.printJ(a?t);
add.insert2(“?內存分區初始狀態:“?+?“\n“?t);
Test.print(b?t);

mem[]?f?=?mem.lian1(b);
mem.px1(f);
add.printF(f?t);
int?freeLength?=?f.length;

//?以下為界面代碼
//?界面主體僅為一個TextArea,內容為程序運行時所輸出
JScrollPane?sp?=?new?JScrollPane(t);

p.setLayout(new?GridLayout(1?1));
p.add(sp);
t.addMouseListener(this);
t.setBackground(Color.yellow);
add(p);
setSize(350?250);
setVisible(true);
setLocation(60?40);
settitle(“最佳適應算法“);

//?從這里開始是算法的主要代碼
//?notIndex用于記錄無法找到匹配分區的作業數,數組sav的長度與a相同,用于存儲無法分配的作業
int?notIndex?=?0;
int[]?sav?=?new?int[a.length];

if?(freeLength?==?0)?{//?若無空閑分區則不進行后面的運算
add.insert(“內存中無空閑分區“?+?“\n“?t);
}?else?{
//?將各個作業與空閑分區比較
for?(int?i?=?0;?i? add.insert(“\n“?t);
//?定義n用于記錄不符合的次數
int?n?=?0;
add.insert(“?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-?-“
+?“\n“?t);
//?此循環將本次的作業與空閑分區比較
for?(int?j?=?0;?j? add.insert(“?[“?+?a[i]?+?“]?與分區號為“?+?f[j].m1?+?“的空閑分區?[“
+?f[j].m2?+?“]?比較,“?t);
if?(a[i]?<=?f[j].m2)?{//?假如作業小于空閑分區,則可分配
add.insert(“符合,分配“?+?“\n“?t);
//?數組對應元素減去作業大小,即表示分配后的大小

int?x?=?f[j].m1?-?1;
mem[]?nb?=?new?mem[b.length?+?1];
for?(int?k?=?0;?k? nb[k]?=?b[k];
}
int?size?=?b[x].m2?-?a[i];
nb[x]?=?b[x];
nb[x].m2?=?a[i];
nb[x].m4?=?1;
nb[x?+?1]?=?new?mem(nb[x].m1?+?1?size?nb[x].m2
+?nb[x].m3?0);
for?(int?k?=?x?+?2;?k? nb[k]?=?b[k?-?1];
nb[k].m1?+=?1;
}
b?=?new?mem[nb.length];
for?(int?k?=?0;?k? b[k]?=?nb[k];
}

Test.print(b?t);
f?=?mem.lian1(b);
mem.px1(f);
add.printF(f?t);
freeLength?=?f.length;

//?得到分配,結束此作業比較循環
break;
}?else?{
n++;//?每不符一次把n加1
add.insert(“不符,往下找“?+?“\n“?t);
}

}
if?(n?==?freeLength)?{//?假如n等于空閑數組的長度,則說明找遍空閑分區都無符合項
add.insert(“\n“?t);
add.insert2(“?未找到符合的空閑分區“?+?“\n“?t);
add.insert(“\n“?t);
if?((i?+?1)? add.insert(“?剩下的待分配作業大小為“?+?“\n“?t);
//?將a數組剩下的元素輸出,即待分配的作業
for?(int?j?=?(i?+?1);?j? add.insert(“?[

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????232??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\.classpath

?????文件????????380??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\.project

?????文件???????1333??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\b.gif

?????文件???????3694??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\add.class

?????文件???????4545??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\BestFit.class

?????文件???????4336??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\FirstFit.class

?????文件???????2869??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\Main_Window.class

?????文件???????1251??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\mem.class

?????文件???????5715??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\NextFit.class

?????文件???????6919??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\QuickFit.class

?????文件???????5907??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\Recycle.class

?????文件???????5688??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\SuanFaMain.class

?????文件???????2372??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\Test.class

?????文件???????4548??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin\WorstFit.class

?????文件??????28795??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\Recycle2.jpg

?????文件???????5061??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\BestFit.java

?????文件???????4351??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\FirstFit.java

?????文件???????2421??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\Main_Window.java

?????文件???????8019??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\NextFit.java

?????文件???????8521??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\QuickFit.java

?????文件???????6483??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\Recycle.java

?????文件???????5661??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\SuanFaMain.java

?????文件???????6799??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\Test.java

?????文件???????5067??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src\WorstFit.java

????..A.SH.?????18432??2008-06-23?09:17??存儲管理——動態分區分配算法\CCGL\Thumbs.db

?????文件??????24013??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\tx_001.png

?????文件??????19644??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\tx_002.png

?????目錄??????????0??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\bin

?????目錄??????????0??2008-06-23?09:16??存儲管理——動態分區分配算法\CCGL\src

?????目錄??????????0??2008-06-23?09:17??存儲管理——動態分區分配算法\CCGL

............此處省略4個文件信息

評論

共有 條評論