資源簡介
廣工操作系統課程的實驗報告,源代碼,源程序及課程設計的。類型齊全~
代碼片段和文件信息
#include
#include
#define?Free?0?//空閑狀態
#define?Busy?1?//已用狀態
#define?OK?1????//完成
#define?ERROR?0?//出錯
#define?MAX_length?640?//最大內存空間為640KB
typedef?int?Status;
using?namespace?std;
typedef?struct?freearea//定義一個空閑區說明表結構
{
????int?ID;???//分區號
????long?size;???//分區大小
????long?address;?//分區地址
????int?state;???//狀態
}ElemType;
?
//----------??線性表的雙向鏈表存儲結構??------------
typedef?struct?DuLNode?//double?linked?list
{
????ElemType?data;?
????struct?DuLNode?*prior;?//前趨指針
????struct?DuLNode?*next;??//后繼指針
}DuLNode*DulinkList;
?
DulinkList?block_first;?//頭結點
DulinkList?block_last;??//尾結點
?
Status?alloc(int);//內存分配
Status?free(int);?//內存回收
Status?First_fit(intint);//首次適應算法
Status?Best_fit(intint);?//最佳適應算法
void?show();//查看分配
Status?Initblock();//開創空間表
?
Status?Initblock()//開創帶頭結點的內存空間鏈表
{
????block_first=(DulinkList)malloc(sizeof(DuLNode));
????block_last=(DulinkList)malloc(sizeof(DuLNode));
????block_first->prior=NULL;
????block_first->next=block_last;
????block_last->prior=block_first;
????block_last->next=NULL;
????block_last->data.address=0;
????block_last->data.size=MAX_length;
????block_last->data.ID=0;
????block_last->data.state=Free;
????return?OK;
}
?
//-----------------------?分?配?主?存?-------------------------
Status?alloc(int?ch)
{
????int?IDrequest;
????cout<<“請輸入作業(分區號):“;?
????cin>>ID;
????cout<<“請輸入需要分配的主存大小(單位:KB):“;?
????cin>>request;
????if(request<0?||request==0)?
????{
????????cout<<“分配大小不合適,請重試!“< ????????return?ERROR;
????}
?
????if(ch==2)?//選擇最佳適應算法
????{
????????if(Best_fit(IDrequest)==OK)?cout<<“分配成功!“< ????????else?cout<<“內存不足,分配失敗!“< ????????return?OK;
????}
????else?//默認首次適應算法
????{
????????if(First_fit(IDrequest)==OK)?cout<<“分配成功!“< ????????else?cout<<“內存不足,分配失敗!“< ????????return?OK;
????}
}
//------------------?首次適應算法?-----------------------
Status?First_fit(int?IDint?request)//傳入作業名及申請量
{
????//為申請作業開辟新空間且初始化
????DulinkList?temp=(DulinkList)malloc(sizeof(DuLNode));?
????temp->data.ID=ID;?
????temp->data.size=request;
????temp->data.state=Busy;
?
????DuLNode?*p=block_first->next;
????while(p)
????{
????????if(p->data.state==Free?&&?p->data.size==request)
????????{//有大小恰好合適的空閑塊
????????????p->data.state=Busy;
????????????p->data.ID=ID;
????????????return?OK;
????????????break;
????????}
????????if(p->data.state==Free?&&?p->data.size>request)
????????{//有空閑塊能滿足需求且有剩余“
????????????temp->prior=p->prior;
????????????temp->next=p;??????
????????????temp->data.address=p->data.address;
????????????p->prior->next=temp;?
????????????p->prior=temp;
????????????p->data.address=temp->data.address+temp->data.size;
????????????p->data.size-=request;
????????????return?OK;
????????????break;
????????}
????????p=p->next;
????}
????return?ERROR;
}
//--------------------??最佳適應算法??------------------------
Status?Best_fit(int?IDint?request)
{
????int?ch;?//記錄最小剩余空間
????DulinkLis
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????832118??2015-04-20?08:54??廣工操作系統實驗及課程設計\實驗報告\3111006374?陳曉聰.doc
?????文件???????2910??2014-01-07?17:47??廣工操作系統實驗及課程設計\實驗報告\實驗報告代碼\實驗1?最高優先級算法.txt
?????文件???????4019??2014-01-07?21:12??廣工操作系統實驗及課程設計\實驗報告\實驗報告代碼\實驗1.2?隊列調度算法.txt
?????文件???????2512??2014-01-11?11:37??廣工操作系統實驗及課程設計\實驗報告\實驗報告代碼\實驗2?多道先來先服務.txt
?????文件???????7043??2014-01-08?01:56??廣工操作系統實驗及課程設計\實驗報告\實驗報告代碼\實驗3?可變式分區分配.txt
?????文件???????1878??2013-12-12?14:52??廣工操作系統實驗及課程設計\實驗報告\實驗報告代碼\實驗3?固定分區分配.txt
?????文件??????13429??2014-01-08?02:06??廣工操作系統實驗及課程設計\實驗報告\實驗報告代碼\實驗4?文件.txt
?????文件??????42496??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\Debug\可變式分區分配.exe
?????文件?????375108??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\Debug\可變式分區分配.ilk
?????文件?????560128??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\Debug\可變式分區分配.pdb
?????文件???15138816??2014-01-11?13:28??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\ipch\可變式分區分配-93990a50\可變式分區分配-7e8be495.ipch
?????文件????????806??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\cl.command.1.tlog
?????文件???????4050??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\CL.read.1.tlog
?????文件????????564??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\CL.write.1.tlog
?????文件??????????2??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件??????????2??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件??????????2??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件??????????2??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件??????????2??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件??????????2??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件???????1854??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件???????3206??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件???????1188??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\li
?????文件????????460??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\mt.command.1.tlog
?????文件????????462??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\mt.read.1.tlog
?????文件????????462??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\mt.write.1.tlog
?????文件????????676??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\rc.command.1.tlog
?????文件????????434??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\rc.read.1.tlog
?????文件????????442??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\rc.write.1.tlog
?????文件?????191488??2014-01-11?13:27??廣工操作系統實驗及課程設計\實驗報告\實驗報告可執行程序\可變式分區分配\可變式分區分配\Debug\vc100.idb
............此處省略305個文件信息
- 上一篇:GM游戲建站專家
- 下一篇:模電課件ppt中國礦業大學
評論
共有 條評論