

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 設(shè)計(jì)題目:內(nèi)存的連續(xù)分配算法</p><p><b> 班級(jí) : </b></p><p><b> 學(xué)號(hào): </b></p><p><b> 姓名:</b&g
2、t;</p><p><b> 指導(dǎo)老師:</b></p><p> 設(shè)計(jì)時(shí)間:2012年8月</p><p><b> 摘要</b></p><p><b> 主要算法包括:</b></p><p> 固定分區(qū)分配、動(dòng)態(tài)分區(qū)分配、伙
3、伴算法、可重定位分區(qū)分配。</p><p><b> 2、內(nèi)容要求:</b></p><p> 1)定義與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu),如PCB,空閑分區(qū)表;</p><p> 2)至少實(shí)現(xiàn)兩種以上分配算法,且用戶可以選擇在某次執(zhí)行過(guò)程中使用何種算法;</p><p> 3)在使用動(dòng)態(tài)分區(qū)分配或可重定位分區(qū)分配算法時(shí)必須實(shí)
4、現(xiàn)緊湊和對(duì)換功能;</p><p> 4)動(dòng)態(tài)分區(qū)分配和可重定位分區(qū)分配必選一個(gè)實(shí)現(xiàn)。</p><p> 本系統(tǒng)模擬了操作系統(tǒng)內(nèi)存分配算法的實(shí)現(xiàn),實(shí)現(xiàn)了固定分區(qū)分配和動(dòng)態(tài)分區(qū)分配,以及可重定位分區(qū)分配算法,采用PCB定義結(jié)構(gòu)體來(lái)表示一個(gè)進(jìn)程,定義了進(jìn)程的名稱和大小,進(jìn)程內(nèi)存起始地址和進(jìn)程狀態(tài)。內(nèi)存分區(qū)表采用單鏈表來(lái)模擬實(shí)現(xiàn)。</p><p> 關(guān)鍵詞:固定分區(qū)
5、分配、動(dòng)態(tài)分區(qū)分配、可重定位分區(qū)分配。</p><p><b> 目錄</b></p><p> 1. 概述 ……………………….4</p><p> 2. 課程設(shè)計(jì)任務(wù)及要求</p><p> 2.1 設(shè)計(jì)任務(wù) ………………………..4</p><p>
6、; 2.2 設(shè)計(jì)要求 ………………………..4</p><p> 3. 算法及數(shù)據(jù)結(jié)構(gòu)</p><p> 3.1算法的總體思想(流程)………………………5</p><p> 3.2 PCB模塊</p><p> 3.2.1 功能(運(yùn)算)……………………….5</p><p&
7、gt; 3.2.2 數(shù)據(jù)結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))……………………….5</p><p> 3.2.3 算法(實(shí)現(xiàn))……………………….5</p><p> 3.3 進(jìn)程隊(duì)列模塊</p><p> 3.3.1功能………………………6</p><p> 3.3.2 數(shù)據(jù)結(jié)構(gòu)………………………6</p>
8、;<p> 3.3.3算法………………………6</p><p> 4. 程序設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.1 程序流程圖……………………..7</p><p> 4.2 程序說(shuō)明(代碼)</p><p> 4.3 實(shí)驗(yàn)結(jié)果……………………..9</p>
9、<p> 5. 結(jié)論……………………..10</p><p> 6. 參考文獻(xiàn)?!?.10</p><p> 7. 收獲、體會(huì)和建議?!?.10</p><p><b> 一:概述</b></p><p> 本系統(tǒng)模擬了操作
10、系統(tǒng)內(nèi)存分配算法的實(shí)現(xiàn),實(shí)現(xiàn)了固定分區(qū)分配和動(dòng)態(tài)分區(qū)分配,以及可重定位分區(qū)分配算法,采用PCB定義結(jié)構(gòu)體來(lái)表示一個(gè)進(jìn)程,定義了進(jìn)程的名稱和大小,進(jìn)程內(nèi)存起始地址和進(jìn)程狀態(tài)。內(nèi)存分區(qū)表采用單鏈表來(lái)模擬實(shí)現(xiàn)。</p><p> 固定分區(qū)實(shí)現(xiàn)就是將單鏈表的每個(gè)節(jié)點(diǎn)的大小設(shè)為固定大小,系統(tǒng)默認(rèn)如果按固定分區(qū)分配的話,只能分成20個(gè)相等大小的分區(qū),因此系統(tǒng)只能最多運(yùn)行20個(gè)進(jìn)程。</p><p>
11、 動(dòng)態(tài)分區(qū)的實(shí)現(xiàn)是根據(jù)進(jìn)程所申請(qǐng)的內(nèi)存大小來(lái)決定動(dòng)態(tài)的有系統(tǒng)進(jìn)行分配內(nèi)存空間大小,因此分區(qū)表里的空閑分區(qū)個(gè)數(shù)是不定的,根據(jù)進(jìn)程數(shù)和進(jìn)程大小決定的。</p><p> 可重定位分區(qū)算法比動(dòng)態(tài)分區(qū)算法增加了緊湊和進(jìn)程對(duì)換的功能。</p><p> 二:課程設(shè)計(jì)任務(wù)及要求</p><p><b> 設(shè)計(jì)任務(wù):</b></p>&
12、lt;p> 使用C++ MFC實(shí)現(xiàn)模擬操作系統(tǒng)內(nèi)存分配算法的實(shí)現(xiàn),定義結(jié)構(gòu)體數(shù)據(jù)結(jié)構(gòu)表示進(jìn)程,定義單鏈表表示內(nèi)存分區(qū)表。</p><p><b> 設(shè)計(jì)要求:</b></p><p> 定義與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu),如PCB,空閑分區(qū)表;</p><p> 至少實(shí)現(xiàn)兩種以上分配算法,且用戶可以選擇在某次執(zhí)行過(guò)程中使用何種算法;<
13、/p><p> 在使用動(dòng)態(tài)分區(qū)分配或可重定位分區(qū)分配算法時(shí)必須實(shí)現(xiàn)緊湊和對(duì)換功能;</p><p> 動(dòng)態(tài)分區(qū)分配和可重定位分區(qū)分配必選一個(gè)實(shí)現(xiàn)。</p><p><b> 三:算法及數(shù)據(jù)結(jié)構(gòu)</b></p><p> #define free 0//表示進(jìn)程狀態(tài)空閑</p><p>
14、 #define busy 1//表示進(jìn)程狀態(tài)忙</p><p> typedef int Status;//表示進(jìn)程狀態(tài)</p><p> struct PCB//表示進(jìn)程PCB結(jié)構(gòu)體</p><p><b> {</b></p><p> CString name;//進(jìn)程name&l
15、t;/p><p> Status status;//進(jìn)程狀態(tài)busy or free</p><p> int lStartAddres;//進(jìn)程起始地址</p><p> int Size;//進(jìn)程大小</p><p><b> };</b></p><p> st
16、ruct Node//表示組成鏈表的結(jié)點(diǎn)結(jié)構(gòu)體</p><p><b> {</b></p><p><b> PCB data;</b></p><p> Node *next;</p><p><b> };</b></p><p>
17、; class Queue//表示分區(qū)表的單鏈表類</p><p><b> {</b></p><p><b> public:</b></p><p><b> Queue();</b></p><p> ~Queue(){}</p>&
18、lt;p> //void Show();//內(nèi)存區(qū)分配情況顯示</p><p> int GetLength();</p><p> int GetAllFree();//獲得所有空閑分區(qū)總大小</p><p> void InitialMemory(int );//初始化內(nèi)存區(qū)域大小</p>&
19、lt;p> void FixedPartitonAlloc();//固定分區(qū)分配初始化空閑內(nèi)存鏈表</p><p> bool AllocProFixed(CString ,int );//為進(jìn)程分配內(nèi)存(執(zhí)行固定分區(qū)分配算法)</p><p> bool AllocProDynamic(CString ,int );//為進(jìn)程分配內(nèi)存(動(dòng)態(tài)分區(qū)分配)<
20、;/p><p> boolFreeMemory(CString );//釋放進(jìn)程內(nèi)存</p><p> bool AllMerge(int );//內(nèi)存緊湊分區(qū)算法</p><p> bool Swaping(int ,PCB&);//進(jìn)程對(duì)換算法</p><p> Node *GetFirst
21、();//返回頭結(jié)點(diǎn)</p><p> void Clear();//鏈表節(jié)點(diǎn)清除</p><p><b> private:</b></p><p> Node *first;</p><p><b> };</b></p><p&g
22、t; #include "StdAfx.h"</p><p> #include "Queue.h"</p><p> Queue::Queue()</p><p><b> {</b></p><p><b> //默認(rèn)頭結(jié)點(diǎn)數(shù)據(jù)</b></
23、p><p> first = new Node;</p><p> first->data.lStartAddres=0;</p><p> first->data.name="";</p><p> first->data.Size=0;</p><p> first-&g
24、t;data.status=busy;</p><p> first->next=NULL;</p><p><b> }</b></p><p> int Queue::GetLength()</p><p><b> {</b></p><p><b&
25、gt; int n=0;</b></p><p> Node *p=first;</p><p> while(p->next)</p><p><b> {</b></p><p> p=p->next;</p><p><b> n++;</
26、b></p><p><b> }</b></p><p><b> return n;</b></p><p><b> }</b></p><p> Node *Queue::GetFirst()</p><p><b>
27、{</b></p><p> return first;</p><p><b> }</b></p><p> int Queue::GetAllFree()</p><p><b> {</b></p><p><b> int n=0;&
28、lt;/b></p><p> Node *p=first;</p><p> while(p->next)</p><p><b> {</b></p><p> p=p->next;</p><p> if (p->data.status==free)<
29、/p><p><b> {</b></p><p> n+=p->data.Size;</p><p><b> }</b></p><p><b> }</b></p><p><b> return n;</b>&l
30、t;/p><p><b> }</b></p><p> //void Queue::Show()</p><p><b> //{</b></p><p> //Node *p=first;</p><p> //while(p->next)</p&g
31、t;<p><b> //{</b></p><p> //p=p->next;</p><p> //cout<<"分區(qū)號(hào):"<<p->data.name<<endl;</p><p> //cout<<"分區(qū)狀態(tài):&
32、quot;<<(p->data.status==busy ?"busy":"free")<<endl;</p><p> //cout<<"分區(qū)起始地址:"<<p->data.lStartAddres<<endl;</p><p> //cout&
33、lt;<"分區(qū)大小:"<<p->data.Size<<endl;</p><p> //cout<<"--------------------------------\n";</p><p><b> //}</b></p><p><b&g
34、t; //}</b></p><p> void Queue::InitialMemory(int i)</p><p><b> {</b></p><p><b> PCB tmp;</b></p><p> tmp.name="";</p>
35、<p> tmp.status=free;</p><p> tmp.lStartAddres=0;</p><p> tmp.Size=i;</p><p> Node *s=new Node;</p><p> s->data=tmp;</p><p> first->next
36、=s;</p><p> s->next=NULL;</p><p><b> }</b></p><p> void Queue::Clear()</p><p><b> {</b></p><p><b> Node *q;</b>
37、</p><p> Node *p=first->next;</p><p> while(p->next)</p><p><b> {</b></p><p><b> q=p;</b></p><p> p=p->next;</p>
38、;<p><b> delete q;</b></p><p><b> }</b></p><p><b> }</b></p><p> void Queue::FixedPartitonAlloc()</p><p><b> {<
39、/b></p><p><b> PCB tmp;</b></p><p> int AllSize=first->next->data.Size;</p><p> int perSize=AllSize/20;</p><p> first->next->data.Size=pe
40、rSize;</p><p> Node *p= first;</p><p> for (int i=1;i<20;i++)</p><p><b> {</b></p><p> while(p->next)</p><p><b> {</b>&l
41、t;/p><p> p=p->next;</p><p><b> }</b></p><p> tmp.name="";</p><p> tmp.status=free;</p><p> tmp.lStartAddres=i*perSize+1;</p&
42、gt;<p> tmp.Size=perSize;</p><p> Node *s= new Node;</p><p> s->data=tmp;</p><p> p->next=s;</p><p> s->next=NULL;</p><p><b> }
43、</b></p><p><b> }</b></p><p> bool Queue::AllocProFixed(CString _name,int _size)</p><p><b> {</b></p><p><b> PCB tmp;</b>&
44、lt;/p><p> Node *p= first;</p><p> while(p->next)</p><p><b> {</b></p><p> p=p->next;</p><p> if (p->data.Size>=_size&&p-
45、>data.status==free)</p><p><b> {</b></p><p> p->data.name=_name;</p><p> p->data.status=busy;</p><p> return true;</p><p><b>
46、; }</b></p><p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> void Queue::SortList()</p><p><b> {</b
47、></p><p> Node *p=NULL;</p><p> Node *q=NULL;</p><p> for(p=first->next;p->next;p=p->next)</p><p> for (q=p->next;q;q=q->next)</p><p>
48、;<b> {</b></p><p> if (p->data.Size>q->data.Size)</p><p><b> {</b></p><p><b> PCB tmp;</b></p><p> tmp=p->data;<
49、/p><p> p->data=q->data;</p><p> q->data=tmp;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
50、<p> //動(dòng)態(tài)分區(qū)分配算法(最佳適應(yīng)算法)</p><p> bool Queue::AllocProDynamic(CString _name,int _size)</p><p><b> {</b></p><p> Node *p=first;</p><p> Node *q=NUL
51、L;//用來(lái)記錄最佳插入點(diǎn)位置</p><p> int ch=0;//用來(lái)記錄最小碎片值</p><p> while(p->next)</p><p><b> {</b></p><p> p=p->next;</p><p> //分區(qū)大小正好和進(jìn)程
52、大小相等</p><p> if (p->data.status==free&&p->data.Size==_size)</p><p><b> {</b></p><p> p->data.name=_name;</p><p> p->data.status=busy
53、;</p><p> return true;</p><p><b> }</b></p><p> if (p->data.status==free&&p->data.Size>_size)</p><p><b> {</b></p>&
54、lt;p> ch=p->data.Size-_size;</p><p><b> q=p;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> /*</b><
55、/p><p> //分區(qū)大小大于進(jìn)程大小,分割分區(qū),并按大小分區(qū)排序</p><p> if (p->data.Size>_size&&p->data.status==free)</p><p><b> {</b></p><p> Node *s=new Node;</p&
56、gt;<p> int tmp=p->data.Size-_size;</p><p> if (tmp>_size)</p><p><b> {</b></p><p> s->data.lStartAddres=p->data.lStartAddres;</p><p>
57、; s->data.Size=_size;</p><p> s->data.name=_name;</p><p> s->data.status=busy;</p><p> p->data.lStartAddres+=_size;</p><p> p->data.Size=tmp;</p&
58、gt;<p> s->next=q->next;</p><p> q->next=s;</p><p> SortList();//對(duì)分區(qū)鏈表進(jìn)行按大小有小到大排序</p><p> return true;</p><p><b> }</b></p>&
59、lt;p><b> else</b></p><p><b> {</b></p><p> s->data.lStartAddres=p->data.lStartAddres+tmp;</p><p> s->data.name=_name;</p><p> s
60、->data.Size=_size;</p><p> s->data.status=busy;</p><p> p->data.Size=tmp;</p><p> s->next=p->next;</p><p> p->next=s;</p><p> SortLi
61、st();//對(duì)分區(qū)鏈表進(jìn)行按大小有小到大排序</p><p> return true;</p><p><b> }</b></p><p><b> */</b></p><p><b> }</b></p><p><b&g
62、t; while(p)</b></p><p><b> {</b></p><p> if (p->data.status==free&&p->data.Size>=_size)</p><p><b> {</b></p><p> if
63、(p->data.Size-_size<ch)</p><p><b> {</b></p><p> ch=p->data.Size-_size;</p><p><b> q=p;</b></p><p><b> }</b></p>
64、<p><b> }</b></p><p> p=p->next;</p><p><b> }</b></p><p> if(q==NULL)</p><p><b> {</b></p><p> return fa
65、lse;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Node *s=new Node;</p><p> s->data.lStartAddr
66、es=q->data.lStartAddres+ch;</p><p> s->data.name=_name;</p><p> s->data.Size=_size;</p><p> s->data.status=busy;</p><p> q->data.Size=ch;</p>
67、<p> s->next=q->next;</p><p> q->next=s;</p><p> return true;</p><p><b> }</b></p><p><b> }</b></p><p> bool Qu
68、eue::FreeMemory(CString _name)</p><p><b> {</b></p><p> Node *p=first;</p><p><b> Node *q;</b></p><p> while(p->next)</p><p>
69、;<b> {</b></p><p><b> q=p;</b></p><p> p=p->next;</p><p> if (p->data.name==_name)</p><p><b> {</b></p><p>
70、 p->data.name="";</p><p> p->data.status=free;</p><p> //進(jìn)行相鄰分區(qū)合并</p><p> if (q->data.status==free)</p><p><b> {</b></p><p
71、> q->data.Size+=p->data.Size;</p><p> q->next=p->next;</p><p><b> }</b></p><p> //判斷是否為鏈表尾</p><p> if (p->next!=NULL)</p><
72、p><b> {</b></p><p> if (p->next->data.status==free)</p><p><b> {</b></p><p> p->data.Size+=p->next->data.Size;</p><p> p-
73、>next=p->next->next;</p><p><b> }</b></p><p><b> }</b></p><p> return true;</p><p><b> }</b></p><p><b&
74、gt; }</b></p><p> return false;</p><p><b> }</b></p><p> bool Queue::AllMerge(int _size)</p><p><b> {</b></p><p> Node
75、*p=first;</p><p><b> Node *q;</b></p><p> int sum=0;</p><p> bool flag=true;//標(biāo)志是否為第一次找到free分區(qū)</p><p> while(p->next)</p><p><b&g
76、t; {</b></p><p> while(p->next)</p><p><b> {</b></p><p><b> q=p;</b></p><p> p=p->next;</p><p> if (p->data.st
77、atus==free&&flag)</p><p><b> {</b></p><p> sum=p->data.Size;</p><p> q->next=p->next;</p><p> flag=false;</p><p><b>
78、 break;</b></p><p><b> }</b></p><p> if (!flag&&p->data.status==busy)</p><p><b> {</b></p><p> //對(duì)數(shù)據(jù)進(jìn)行重定位</p><p
79、> p->data.lStartAddres-=sum;</p><p><b> }</b></p><p> if (p->data.status==free&&!flag)</p><p><b> {</b></p><p> p->data
80、.Size+=sum;</p><p> //對(duì)數(shù)據(jù)進(jìn)行重定位</p><p> p->data.lStartAddres-=sum;</p><p> if (p->data.Size>=_size)</p><p><b> {</b></p><p> retur
81、n true;</p><p><b> }</b></p><p> q->next=p->next;</p><p> sum=p->data.Size;</p><p><b> break;</b></p><p><b> }&
82、lt;/b></p><p><b> }</b></p><p><b> while(p)</b></p><p><b> {</b></p><p><b> q=p;</b></p><p> p=p-&g
83、t;next;</p><p> if (p->data.status==free)</p><p><b> {</b></p><p> p->data.Size+=sum;</p><p> //對(duì)數(shù)據(jù)進(jìn)行重定位</p><p> p->data.lStartAd
84、dres-=sum;</p><p> if (p->data.Size>_size)</p><p><b> {</b></p><p> return true;</p><p><b> }</b></p><p> q->next=p-&
85、gt;next;</p><p> sum=p->data.Size;</p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p><b>
86、{</b></p><p> //對(duì)數(shù)據(jù)進(jìn)行重定位</p><p> p->data.lStartAddres-=sum;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</
87、b></p><p> return false;</p><p><b> }</b></p><p> bool Queue::Swaping(int needSize ,PCB &pro)</p><p><b> {</b></p><p>
88、Node *p=first;</p><p> //Node *q;</p><p> while(p->next)</p><p><b> {</b></p><p> p=p->next;</p><p> if (p->data.Size>=needSiz
89、e)</p><p><b> {</b></p><p> pro=p->data;</p><p> p->data.name="";</p><p> p->data.status=free;</p><p> return true;<
90、/p><p><b> }</b></p><p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> 四:程序設(shè)計(jì)與實(shí)現(xiàn)。</p><p><b
91、> 流程圖</b></p><p> 固定分區(qū)分配流程圖:</p><p> 默認(rèn)1000KB內(nèi)存大小</p><p> 總共分為20個(gè)相等大小分區(qū)</p><p><b> 動(dòng)態(tài)分區(qū)分配算法:</b></p><p> 可重定位分區(qū)分配算法:</p&
92、gt;<p><b> 實(shí)驗(yàn)結(jié)果:</b></p><p> 五:收獲,體會(huì)和建議</p><p> 此次課程設(shè)計(jì)讓我進(jìn)一步加深了對(duì)操作系統(tǒng)內(nèi)存分配算法的的理解,此次試驗(yàn)自己花了不少時(shí)間研究課本和課外資料,在寫可重定位分區(qū)分配算法遇到了內(nèi)存緊湊算法方面的難題,如何對(duì)內(nèi)存剩余空間大小進(jìn)行緊湊利用,花了好些時(shí)間不斷的實(shí)驗(yàn),不斷的調(diào)試代碼,最后終于寫好了
93、,并加以測(cè)試代碼的健壯性,完成并測(cè)試了本次操作系統(tǒng)課程設(shè)計(jì)。期間雖然遇到了很多困難,但自己最后因?yàn)檫@些困難而收獲到了不少知識(shí),加強(qiáng)了自己動(dòng)手寫代碼的能力,對(duì)代碼調(diào)式技術(shù)進(jìn)一步掌握,對(duì)操作系統(tǒng)也產(chǎn)生了更濃厚的興趣,自己一定還要多花時(shí)間研究操作系統(tǒng),爭(zhēng)取進(jìn)一步理解操作系統(tǒng)并能夠?qū)?yōu)秀算法加以運(yùn)用到自己以后的代碼中。</p><p> 六:參考資料和書(shū)籍。</p><p> 《Visual
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- os課程設(shè)計(jì)---模擬處理機(jī)調(diào)度算法mfc實(shí)現(xiàn)
- 操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告--內(nèi)存的連續(xù)分配算法
- vc++課程設(shè)計(jì)--基于mfc的模擬時(shí)鐘
- mfc課程設(shè)計(jì)報(bào)告—模擬計(jì)算器
- 用銀行家算法實(shí)現(xiàn)資源分配課程設(shè)計(jì)
- 銀行家算法模擬實(shí)現(xiàn)課程設(shè)計(jì)
- os課程設(shè)計(jì)題目
- 課程設(shè)計(jì)--銀行家算法的模擬實(shí)現(xiàn)
- 《操作系統(tǒng)》課程設(shè)計(jì)---連續(xù)動(dòng)態(tài)分區(qū)內(nèi)存管理模擬實(shí)現(xiàn)
- 操作系統(tǒng)課程設(shè)計(jì)--連續(xù)動(dòng)態(tài)分區(qū)內(nèi)存管理模擬實(shí)現(xiàn)
- 操作系統(tǒng)課程設(shè)計(jì)--連續(xù)動(dòng)態(tài)分區(qū)內(nèi)存管理模擬實(shí)現(xiàn)
- 操作系統(tǒng)課程設(shè)計(jì)--cpu進(jìn)程調(diào)度和內(nèi)存分配
- mfc課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 課程設(shè)計(jì)報(bào)告--磁盤調(diào)度算法的模擬實(shí)現(xiàn)
- des算法實(shí)現(xiàn)-課程設(shè)計(jì)
- bfgs算法實(shí)現(xiàn)課程設(shè)計(jì)
- 實(shí)驗(yàn) 可變分區(qū)內(nèi)存分配首次適應(yīng)算法模擬
- mfc計(jì)算器課程設(shè)計(jì)報(bào)告
- mfc程序設(shè)計(jì)課程設(shè)計(jì)---考勤系統(tǒng)
- bfgs算法實(shí)現(xiàn)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論