版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 組號(hào) 成績(jī) </p><p><b> 計(jì)算機(jī)操作系統(tǒng)</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題目 內(nèi)存的連續(xù)分配算法 </
2、p><p> 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班級(jí): </p><p> 學(xué)號(hào)姓名: </p><p> 指導(dǎo)教師: </p><p> 2016年12月 26 日<
3、;/p><p><b> 設(shè)計(jì)目的</b></p><p> 掌握內(nèi)存的里聯(lián)系分配方式的各種算法。</p><p><b> 設(shè)計(jì)內(nèi)容</b></p><p> 本系統(tǒng)模擬操作系統(tǒng)內(nèi)存分配算法的實(shí)現(xiàn),實(shí)現(xiàn)可重定位分區(qū)分配算法,采用PCB定義結(jié)構(gòu)體來表示一個(gè)進(jìn)程,定義了進(jìn)程的名稱和大小,進(jìn)程內(nèi)存起
4、始地址和進(jìn)程狀態(tài)。內(nèi)存分區(qū)表用空閑分區(qū)表的形式來模擬實(shí)現(xiàn)。</p><p><b> 設(shè)計(jì)原理</b></p><p> 動(dòng)態(tài)分區(qū)的實(shí)現(xiàn)是根據(jù)進(jìn)程所申請(qǐng)的內(nèi)存大小來決定動(dòng)態(tài)的由系統(tǒng)進(jìn)行分配內(nèi)存空間大小,因此分區(qū)表里的空閑分區(qū)個(gè)數(shù)是不定的,根據(jù)進(jìn)程數(shù)和進(jìn)程大小決定的??芍囟ㄎ环謪^(qū)算法比動(dòng)態(tài)分區(qū)算法增加了緊湊的功能。</p><p><b
5、> 詳細(xì)設(shè)計(jì)及編碼</b></p><p><b> 模塊分析</b></p><p> 該實(shí)驗(yàn)可分為三大部分,每一部分又由個(gè)數(shù)不同的幾個(gè)函數(shù)實(shí)現(xiàn)。第一部分是裝入作業(yè),第二部分是內(nèi)存回收,第三部分是進(jìn)行緊湊。裝入作業(yè)的時(shí)候首先初始化一個(gè)鏈表,根據(jù)用戶輸入的操作代號(hào)進(jìn)行相應(yīng)的操作。若用戶選擇裝入作業(yè)首先判斷空閑分區(qū)表里有沒有比作業(yè)需要的內(nèi)存大的分
6、區(qū),若有直接分配,若沒有進(jìn)行緊湊操作,再將緊湊后的空閑分區(qū)與作業(yè)大小比較,若能裝的下則分配給作業(yè),若是進(jìn)行緊湊后的空閑分區(qū)仍不能裝入整個(gè)作業(yè)則通知用戶內(nèi)存不夠。</p><p><b> 2、流程圖</b></p><p><b> 代碼實(shí)現(xiàn)</b></p><p> #include<stdio.h>&
7、lt;/p><p> #include<stdlib.h></p><p> #include<time.h></p><p> #include<windows.h></p><p> #define TURE 1</p><p> #define FALSE 0</p
8、><p> #define OK 1</p><p> #define ERROR 0</p><p> #define INFEASIBLE -1</p><p> #define OVERFLOW -2</p><p> #define SIZE 3 </p><p><b>
9、; //進(jìn)程表</b></p><p> int ppNo=1; //用于遞增生成進(jìn)程號(hào) </p><p> int pLength=0;</p><p> struct PCB</p><p><b> {</b></p><p> int pNo; //進(jìn)
10、程號(hào)(名)</p><p> int pSize; // 進(jìn)程大小 </p><p> int pOccupy; // 實(shí)際占用的內(nèi)存 </p><p> int pStartAddr; // 進(jìn)程起始地址 </p><p> int pState; //進(jìn)程狀態(tài) </p><p><
11、;b> };</b></p><p> struct PCB pList[200];</p><p> //////////////////空閑分區(qū)表部分///////////////////////////////////////////////////// </p><p> typedef int Status;</p>
12、<p> typedef struct emptyNode</p><p> { //空閑分區(qū)結(jié)構(gòu)體 </p><p> int areaSize; //空閑分區(qū)大小 </p><p> int aStartAddr; //空閑分區(qū)始址 </p><p> struct emptyNode *next;</p>
13、;<p> }emptyNode,*LinkList;</p><p> int ListDelete(struct PCB *pList,int i);//刪除下標(biāo)為i的進(jìn)程 </p><p> void pSort(struct PCB *pList); //內(nèi)存中的進(jìn)程按始址遞增排序 </p><p> void com
14、pact(LinkList &L,struct PCB *pList);//緊湊 ,內(nèi)存中進(jìn)程移動(dòng),修改進(jìn)程數(shù)據(jù)結(jié)構(gòu);空閑分區(qū)合并,修改空閑分區(qū)表數(shù)據(jù)結(jié)構(gòu) </p><p> void amalgamate(LinkList &L); //回收后進(jìn)行合并空閑分區(qū) </p><p> void recycle(LinkList &L,struc
15、t PCB *pList); //回收 ,從進(jìn)程表中刪除進(jìn)程 ,把釋放出的空間插入到空閑分區(qū)鏈表中 </p><p> Status InitList(LinkList &L); ///構(gòu)造一個(gè)新的有頭節(jié)點(diǎn)的空鏈表L</p><p> Status ClearList(LinkList &L); ///將鏈表L重置為空表<
16、/p><p> Status ListInsert(LinkList &L,LinkList s1); //根據(jù)始址進(jìn)行插入 </p><p> void DeleteElem(LinkList &L,int aStartAddr);//刪除線性表中始址值為aStartAddr的結(jié)點(diǎn)</p><p> void PrintList(LinkList
17、 L); //輸出各結(jié)點(diǎn)的值</p><p> void creatP(struct PCB *p); ///初始化進(jìn)程</p><p> int search(LinkList &L,int pSize); //檢索分區(qū)表 ,返回合適分區(qū)的首址 </p><p> int add(Lin
18、kList &L); //返回空閑分區(qū)總和 </p><p> void pListPrint(struct PCB *pList); //AAA/輸出內(nèi)存中空間占用情況 </p><p> void distribute(LinkList &L,struct PCB *process);</p><p>
19、int ListDelete(struct PCB *pList,int i)//AAA/刪除下標(biāo)為i的進(jìn)程 </p><p><b> {</b></p><p> for(;i<pLength-1;i++){</p><p> pList[i]=pList[i+1];</p><p><b>
20、 }</b></p><p> pLength--;</p><p> }//ListDelete</p><p> void pSort(struct PCB *pList){ //AAA/內(nèi)存中的進(jìn)程按始址遞增排序 </p><p><b> int i,j;</b></p><
21、;p> struct PCB temp;</p><p> for(i=0;i<pLength-1;i++){</p><p> for(j=0;j<pLength-i-1;j++){</p><p> if(pList[j].pStartAddr>pList[j+1].pStartAddr){</p><p>
22、; temp=pList[j];</p><p> pList[j]=pList[j+1];</p><p> pList[j+1]=temp;</p><p><b> }</b></p><p><b> }</b></p><p><b> }&l
23、t;/b></p><p><b> }</b></p><p> void compact(LinkList &L,struct PCB *pList){//AAA/緊湊 ,內(nèi)存中進(jìn)程移動(dòng),修改進(jìn)程數(shù)據(jù)結(jié)構(gòu);空閑分區(qū)合并,修改空閑分區(qū)表數(shù)據(jù)結(jié)構(gòu) </p><p> printf("進(jìn)行緊湊\n"); &
24、lt;/p><p> //1、進(jìn)程移動(dòng),修改進(jìn)程數(shù)據(jù)結(jié)構(gòu)</p><p><b> int i;</b></p><p> pList[0].pStartAddr=0; //第一個(gè)進(jìn)程移到最上面 </p><p> for(i=0;i<pLength-1;i++){</p><p>
25、pList[i+1].pStartAddr=pList[i].pStartAddr+pList[i].pOccupy;</p><p><b> }</b></p><p> //2、 空閑分區(qū)合并,修改空閑分區(qū)表數(shù)據(jù)結(jié)構(gòu) </p><p> LinkList p=L->next,s;</p><p> i
26、nt sumEmpty=0;</p><p> while(p!=NULL)//求空閑區(qū)總和 </p><p><b> {</b></p><p> sumEmpty+=p->areaSize;</p><p> p=p->next;</p><p><b> }
27、</b></p><p> //printf("清空前\n"); </p><p> //PrintList(L);</p><p> ClearList(L); //清空空閑分區(qū)表</p><p> //printf("清空后\n"); </p><p>
28、 //PrintList(L);</p><p> s=(LinkList)malloc(sizeof(emptyNode));</p><p> s->aStartAddr=pList[pLength-1].pStartAddr+pList[pLength-1].pOccupy;</p><p> s->areaSize=sumEmpty;<
29、;/p><p> ListInsert(L,s); </p><p> //printf("插入后\n");</p><p> //PrintList(L);</p><p> //printf("\n緊湊后的>>>>\n"); </p><p>
30、 pListPrint(pList);</p><p> PrintList(L);</p><p><b> }</b></p><p> void amalgamate(LinkList &L){//AAA/回收后進(jìn)行合并空閑分區(qū) </p><p> LinkList p=L->next,q=p
31、->next;</p><p> while(q!=NULL){</p><p> if(p->aStartAddr+p->areaSize==q->aStartAddr){</p><p> p->areaSize+=q->areaSize;</p><p> DeleteElem(L,q->
32、;aStartAddr);//刪除被合并的結(jié)點(diǎn)</p><p> q=p->next; </p><p><b> }else{</b></p><p><b> p=q;</b></p><p> q=q->next;</p><p><b>
33、 }</b></p><p><b> }</b></p><p><b> }</b></p><p> void recycle(LinkList &L,struct PCB *pList){//AAA/回收 ,從進(jìn)程表中刪除進(jìn)程 ,把釋放出的空間插入到空閑分區(qū)鏈表中 </p>
34、<p> int index,delPNo,delPSize,delPOccupy,delPStartAddr;</p><p> LinkList s;</p><p> //srand(time(0));</p><p> //index=rand()%pLength;</p><p> printf("請(qǐng)
35、輸入要回收的進(jìn)程號(hào):");</p><p> scanf("%d",&index);</p><p> delPNo=pList[index-1].pNo;</p><p> delPSize=pList[index-1].pSize;</p><p> delPOccupy=pList[inde
36、x-1].pOccupy;</p><p> delPStartAddr=pList[index-1].pStartAddr;</p><p> // printf("________________________________________________________________________________");</p><p
37、> ListDelete(pList,index-1);</p><p> //pListPrint(pList);</p><p> s=(LinkList)malloc(sizeof(emptyNode));</p><p> s->areaSize=delPOccupy;</p><p> s->aStart
38、Addr=delPStartAddr;</p><p> ListInsert(L,s);</p><p> amalgamate(L);</p><p> pListPrint(pList);//輸出內(nèi)存中空間占用情況 </p><p> PrintList(L);</p><p><b> }&
39、lt;/b></p><p> /////////////////////////////////////////////////////////////////////////////</p><p> Status InitList(LinkList &L) //1AAA/構(gòu)造一個(gè)新的有頭節(jié)點(diǎn)的空鏈表L</p><p><b> {
40、</b></p><p> LinkList s;</p><p> L=(LinkList)malloc(sizeof(emptyNode)); //生成新節(jié)點(diǎn)(頭結(jié)點(diǎn))</p><p> if(!L) return ERROR; //申請(qǐng)內(nèi)存失敗 </p><p> s=(LinkList)malloc(sizeof
41、(emptyNode));</p><p> s->areaSize=100;</p><p> s->aStartAddr=0;</p><p> L->next=s; //頭節(jié)點(diǎn)的指針域指向第一個(gè)結(jié)點(diǎn) </p><p> s->next=NULL;</p><p> retu
42、rn OK;</p><p> }//InitList</p><p> Status ClearList(LinkList &L) //2AAA/將鏈表L重置為空表</p><p><b> {</b></p><p> LinkList p,r;</p><p> p=
43、L->next; r=p->next;</p><p> while(p!=NULL)</p><p><b> {</b></p><p><b> free(p);</b></p><p> if(r==NULL){</p><p><b>
44、 p=NULL;</b></p><p><b> }else{</b></p><p><b> p=r;</b></p><p> r=p->next;</p><p><b> }</b></p><p><b&g
45、t; }</b></p><p> L->next=NULL;</p><p> return OK;</p><p> }//ClearList</p><p> Status ListInsert(LinkList &L,LinkList s1) //AAA/*****根據(jù)始址進(jìn)行插入 </p&g
46、t;<p><b> {</b></p><p> LinkList r=L,p=L->next,s;//指針 </p><p> s=(LinkList)malloc(sizeof(emptyNode));</p><p> s->areaSize=s1->areaSize;</p>&l
47、t;p> s->aStartAddr=s1->aStartAddr;</p><p> if(p==NULL){</p><p> L->next=s;</p><p> s->next=NULL;</p><p><b> }else{</b></p><p&
48、gt; while(p!=NULL)</p><p><b> { </b></p><p> if(s1->aStartAddr < p->aStartAddr){</p><p> s->next=r->next;</p><p> r->next=s;</p&
49、gt;<p><b> break;</b></p><p><b> }</b></p><p><b> r=p;</b></p><p> p=p->next; //后移 </p><p><b> }</b></
50、p><p> if(p==NULL){</p><p> r->next=s;</p><p> s->next=NULL;</p><p><b> }</b></p><p><b> }</b></p><p> return
51、 OK;</p><p> }//ListInsert2</p><p> void DeleteElem(LinkList &L,int aStartAddr)//*****刪除線性表中始址值為aStartAddr的結(jié)點(diǎn)</p><p><b> {</b></p><p> LinkList p=L,
52、q;</p><p> while(p->next!=NULL)</p><p><b> {</b></p><p> q=p->next;</p><p> if(q->aStartAddr==aStartAddr)</p><p><b> {</
53、b></p><p> p->next=q->next;</p><p><b> free(q);</b></p><p><b> }</b></p><p><b> else</b></p><p> p=p->
54、next;</p><p><b> }</b></p><p> }//DeleteElem</p><p> ///////////////////////////////////////////////////////////////////////////////</p><p> void PrintL
55、ist(LinkList L)//AAA/*****輸出各結(jié)點(diǎn)的值 </p><p><b> { </b></p><p> LinkList p=L->next;</p><p> while(p!=NULL)</p><p><b> {</b></p><
56、;p> printf(" %d \t\t\t%d KB\n",p->aStartAddr,p->areaSize);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("\n")
57、;</p><p> }//PrintList</p><p> void creatP(struct PCB *p){ //AAA/初始化進(jìn)程</p><p><b> int size;</b></p><p> //srand(time(NULL));</p><p> //si
58、ze=rand()%7+1;</p><p> printf("請(qǐng)輸入進(jìn)程大?。?quot;);</p><p> scanf("%d",&size);</p><p> //size=10;</p><p> p->pNo=ppNo++;</p><p> p-&
59、gt;pSize=size;</p><p> p->pOccupy=0;</p><p> p->pStartAddr=0;</p><p> p->pState=0;</p><p><b> }</b></p><p> int search(LinkList &
60、amp;L,int pSize){ //AAA/檢索分區(qū)表 ,返回合適分區(qū)的首址 </p><p> LinkList p=L->next;</p><p> while(p!=NULL)</p><p><b> {</b></p><p> if(p->areaSize>=pSize){&l
61、t;/p><p> ////成功 printf("search分區(qū)%d %d\n",p->areaSize,pSize);</p><p> return p->aStartAddr;</p><p><b> }</b></p><p> p=p->next;</p&g
62、t;<p><b> }</b></p><p> return -1;//沒有足夠大的 </p><p><b> }</b></p><p> int add(LinkList &L){ //AAA/返回空閑分區(qū)總和 </p><p> LinkList p=L-
63、>next;</p><p> int sum=0; </p><p> while(p!=NULL)</p><p><b> {</b></p><p> sum+=p->areaSize;</p><p> p=p->next;</p><p&
64、gt;<b> }</b></p><p> return sum;</p><p><b> }</b></p><p> void pListPrint(struct PCB *pList){//AAA/輸出內(nèi)存中空間占用情況 </p><p> printf("\n進(jìn)程分配
65、情況: 起始地址\t\t大小\t\t進(jìn)程號(hào)\n");</p><p> for(int i=0;i<pLength;i++){</p><p> printf(" %d\t\t\t %d K\t\t%d \n",pList[i].pStartAddr,pList[i].pOccupy,pList[i].pN
66、o);</p><p><b> }</b></p><p><b> }</b></p><p> void distribute(LinkList &L,struct PCB *process){</p><p> LinkList p=L->next;</p>
67、<p> while(p!=NULL)</p><p><b> {</b></p><p> if(p->areaSize>=process->pSize)</p><p><b> break;</b></p><p> p=p->next;<
68、;/p><p><b> }</b></p><p> //printf("%d KB < %d KB",process->pSize,p->areaSize);////////////////////</p><p> if(p->areaSize-process->pSize<=SI
69、ZE){</p><p> //不用分割全部分配 (直接刪除此空閑分區(qū)結(jié)點(diǎn))</p><p> process->pStartAddr=p->aStartAddr; //進(jìn)程始址變化 </p><p> process->pState=1; //進(jìn)程狀態(tài) </p><p> process->pOccupy=p
70、->areaSize; //進(jìn)程實(shí)際占用內(nèi)存 為改空閑分區(qū)的大小 </p><p> pList[pLength++]= *process; //把進(jìn)程加入進(jìn)程列表 </p><p> pSort(pList); </p><p> pListPrint(pList);//輸出內(nèi)存中空間占用情況 </p><p> Delete
71、Elem(L,p->aStartAddr);</p><p> }else{//分割分配 </p><p> process->pStartAddr=p->aStartAddr; //進(jìn)程始址變化 </p><p> process->pState=1; //進(jìn)程狀態(tài) </p><p> process->
72、;pOccupy=process->pSize; //進(jìn)程實(shí)際占用內(nèi)存 為該進(jìn)程的大小 </p><p> pList[pLength++]= *process; //把進(jìn)程加入進(jìn)程列表 </p><p> pSort(pList); //進(jìn)程排序 </p><p> pListPrint(pList);//輸出內(nèi)存中空間占用情況 </p>
73、<p> p->aStartAddr+=process->pSize; //空閑分區(qū)始址變化 </p><p> p->areaSize-=process->pOccupy; //空閑分區(qū)大小 變化 </p><p><b> } </b></p><p><b> }</b>
74、</p><p> ///////////////////////////////////////////////////////</p><p> int main(){</p><p> struct PCB p;</p><p> int i,num,dele,k,stAddr,flag;</p><p>
75、; LinkList s,L;</p><p> if(!InitList(L)) //初始化空閑分區(qū)表 </p><p> printf("創(chuàng)建表失敗\n");</p><p><b> while(1){</b></p><p> printf("請(qǐng)選擇要進(jìn)行的操作(1:裝入;
76、2:回收)");</p><p> int flag; </p><p> scanf("%d",&flag);</p><p> if(flag==1){</p><p> creatP(&p);//初始化進(jìn)程</p><p> //printf("
77、________________________________________________________________________________");</p><p> printf("待裝入作業(yè):%d Size = %d KB\n",p.pNo,p.pSize);</p><p> //1、請(qǐng)求分配 size</p>
78、<p> //2、檢索空閑分區(qū)表(首次適應(yīng)FF)</p><p> //PrintList(L);</p><p> stAddr=search(L,p.pSize);//得到足夠大的分區(qū)的始址 ,沒有則返回-1 </p><p> if(stAddr==-1){//沒有足夠大的分區(qū) </p><p> if(add(L
79、)>=p.pSize){//空閑區(qū)總和足夠大 </p><p> // printf("沒有足夠大的空閑分區(qū)但空閑總和足夠大\n"); </p><p><b> //緊湊</b></p><p> compact(L,pList); </p><p> //按動(dòng)態(tài)分區(qū)方式分配</
80、p><p> distribute(L,&p);</p><p> PrintList(L);</p><p> //compact(L,pList); //緊湊</p><p> }else{ //空閑區(qū)總和不足 </p><p> printf("分配失敗\n\n"); </
81、p><p><b> } </b></p><p> }else{//有足夠大的 </p><p> distribute(L,&p);</p><p> PrintList(L);</p><p> //compact(L,pList); //緊湊 </p><
82、p><b> } </b></p><p> }else{//回收 </p><p> if(pLength>0){</p><p> recycle(L,pList);</p><p> //compact(L,pList); //緊湊 </p><p><b>
83、 }else{</b></p><p> printf("無可回收內(nèi)存! "); </p><p><b> } </b></p><p><b> } </b></p><p> //system("pause");</p&
84、gt;<p> // scanf("%d")</p><p><b> } //while</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> 四、結(jié)果及其相關(guān)分析&l
85、t;/p><p> 結(jié)果分析:連續(xù)進(jìn)行4次裝入的操作后內(nèi)存中還剩30K的空間,接著進(jìn)行一次回收內(nèi)存的操作,回收作業(yè)1后不連續(xù)的空閑內(nèi)存共有50K,接著再裝入一個(gè)35K的作業(yè),分散的兩個(gè)分區(qū)都不能裝入作業(yè),但是總和可以裝入,所以先進(jìn)行緊湊再分配,重新分配后還剩15K的內(nèi)存。</p><p><b> 五、實(shí)驗(yàn)總結(jié)</b></p><p> 通過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)-文件管理實(shí)驗(yàn)報(bào)告
- 內(nèi)存管理(操作系統(tǒng))操作系統(tǒng)課程設(shè)計(jì)
- 操作系統(tǒng)課程實(shí)驗(yàn)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)--cpu進(jìn)程調(diào)度和內(nèi)存分配
- 讀者與寫者-操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---io系統(tǒng)調(diào)用開銷比較
- 【操作系統(tǒng)課程設(shè)計(jì)】?jī)?nèi)存管理子系統(tǒng)
- 《操作系統(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í)驗(yàn)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)——操作系統(tǒng)課程設(shè)計(jì)模擬操作系統(tǒng)
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告--磁盤調(diào)度算法
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告--磁盤調(diào)度算法
- 操作系統(tǒng)磁盤調(diào)度算法課程設(shè)計(jì)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告--磁盤調(diào)度算法
- 操作系統(tǒng)_進(jìn)程調(diào)度算法課程設(shè)計(jì)報(bào)告
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告--磁盤調(diào)度算法
評(píng)論
0/150
提交評(píng)論