-
大小: 542KB文件類(lèi)型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-19
- 語(yǔ)言: 其他
- 標(biāo)簽: 伙伴系統(tǒng)??課程設(shè)計(jì)??
資源簡(jiǎn)介
伙伴系統(tǒng)的簡(jiǎn)單實(shí)現(xiàn),是操作系統(tǒng)的課程設(shè)計(jì),看看吧。
代碼+文檔+心得。

代碼片段和文件信息
#include?
#include?
#include?
int?buddy[10]={2481632641282565121024};??//分區(qū)大小?2的k次冪
int?free1[10]={0000000001};??//空閑分區(qū)的個(gè)數(shù)???初始內(nèi)存大小1024
int?use[100][2]={0};???//已分配分區(qū)表??最多為100個(gè)進(jìn)程分配?記錄已分配分區(qū)大小,內(nèi)存地址
int?free_addr[10][50]={0};??//空閑分區(qū)的首地址?[i][j]表示2的i+1次方大小的空閑分區(qū)的第j個(gè)分區(qū)的首地址
int?maxsize=9;??//最大空閑分區(qū)?初始為1024
int?usenum=0;???//進(jìn)程數(shù)?初始為0
void?menu();?????????//?多級(jí)菜單函數(shù)
void?showMemory();???//輸出內(nèi)存占用情況
void?showFreeMemory();?//輸出空閑分區(qū)情況
void?showUseMemory();?//輸出已分配區(qū)情況
void?allocBuddy();????//分配內(nèi)存
void?reclaimBuddy();???//回收內(nèi)存
void?menu()
{
printf(“?*******************??????歡迎使用伙伴系統(tǒng)模擬程序??????**************\n“);
????printf(“?*********************************************************************\n“);
????printf(“?*********************************************************************\n“);
????printf(“?*******************?????????1.申請(qǐng)內(nèi)存?????????????????**************\n“);
????printf(“?*******************?????????2.釋放內(nèi)存?????????????????**************\n“);
????printf(“?*******************?????????3.查看內(nèi)存占用情況?????????**************\n“);
printf(“?*******************?????????0.退出?????????????????????**************\n“);
????printf(“?*********************************************************************\n“);
????printf(“?*********************************************************************\n“);
????printf(“?*********************************************************************\n“);
int?n;
????lab1:
fflush(stdin);???//刷新緩沖區(qū)
printf(“請(qǐng)輸入(0-3)選擇:“);
scanf(“%d“&n);
switch(n)
{
????case?1:system(“cls“);
???showFreeMemory();
???allocBuddy();
???printf(“分配成功,按任意鍵返回!“);
???getch();
???system(“cls“);
???menu();
???break;
case?2:system(“cls“);
???if(usenum!=0)
???{
???????showUseMemory();
???????reclaimBuddy();
???????printf(“回收成功,按任意鍵返回!“);
???}
???else
???{
???????????????????printf(“未分配內(nèi)存,請(qǐng)先申請(qǐng)內(nèi)存!按任意鍵返回!“);
???}
???getch();
???system(“cls“);
???menu();
???break;
case?3:system(“cls“);
???showMemory();
???printf(“按任意鍵返回!“);
???getch();
???system(“cls“);
???menu();
???break;
case?0:printf(“按任意鍵退出!“);
???getch();
???break;
????????default:printf(“輸入錯(cuò)誤,請(qǐng)重新輸入!\n“);
????goto?lab1;
}
}
void?showMemory()???//輸出內(nèi)存使用情況
{
????int?ij;
printf(“空閑分區(qū)剩余情況:\n“);
for(i=0;i<10;i++)
{
printf(“空閑區(qū)大小%4d:有%d個(gè)空閑塊,內(nèi)存起始地址分別為:“buddy[i]free1[i]);
for(j=0;j {
printf(“%4d~%4d?“free_addr[i][j]free_addr[i][j]+buddy[i]-1);
}
printf(“\n“);
}
printf(“內(nèi)存已分配區(qū)情況:\n“);
for(i=0;i {
printf(“%2d:分區(qū)大小:%4d??內(nèi)存起始地址為:%4d~%4d\n“i+1buddy[use[i][0]]use[i][1]use[i][1]+buddy[use[i][0]]-1);
}
}
void?showFreeMemory()?//輸出空閑分區(qū)情況
{
????int?ij;
printf(“空閑分區(qū)剩余情況:\n“);
for(i=0;i<10;i++)
{
printf(“空閑區(qū)大小%4d:有%d個(gè)空閑塊,內(nèi)存起始地址分別為:“buddy[i]free1[i]);
for(j=0;j {
printf(“%4d~%4d?“free_addr[i][j]free_addr[i][j]+b
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????6926??2012-06-21?21:54??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\companionSystem.cpp
?????文件???????3509??2012-06-17?11:09??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\companionSystem.dsp
?????文件????????538??2012-06-17?11:11??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\companionSystem.dsw
?????文件??????50176??2012-06-21?21:54??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\companionSystem.ncb
?????文件??????48640??2012-06-21?21:54??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\companionSystem.opt
?????文件???????1526??2012-06-21?21:47??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\companionSystem.plg
?????文件?????204867??2012-06-21?21:47??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug\companionSystem.exe
?????文件?????308544??2012-06-21?21:47??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug\companionSystem.ilk
?????文件??????19363??2012-06-21?21:47??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug\companionSystem.obj
?????文件?????222152??2012-06-21?21:33??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug\companionSystem.pch
?????文件?????525312??2012-06-21?21:47??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug\companionSystem.pdb
?????文件??????41984??2012-06-21?21:49??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug\vc60.idb
?????文件??????86016??2012-06-21?21:47??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug\vc60.pdb
?????文件?????467456??2012-06-21?19:19??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng).doc
?????文件??????29184??2012-06-21?21:19??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)\孫磊-操作系統(tǒng)心得.doc
?????文件??????31744??2012-06-21?19:51??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)\張銀銀-操作系統(tǒng)心得.doc
?????文件??????30208??2012-06-21?21:14??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)\張飛操作系統(tǒng)心得.doc
?????文件??????32256??2012-06-21?21:55??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)\章風(fēng)云-操作系統(tǒng)心得.doc
?????文件??????33280??2012-06-21?21:31??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)\趙小龍-操作系統(tǒng)心得.doc
?????文件??????33280??2012-06-21?20:10??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)\趙育坤-操作系統(tǒng)心得.doc
?????文件??????31744??2012-06-21?20:48??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)\趙飛-操作系統(tǒng)心得.doc
?????文件????????452??2012-06-21?10:19??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\說(shuō)明.txt
????..AD...?????????0??2012-11-11?10:02??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)\Debug
????..AD...?????????0??2012-11-11?10:02??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\伙伴系統(tǒng)
????..AD...?????????0??2012-11-11?10:02??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)\心得體會(huì)
????..AD...?????????0??2013-04-23?16:00??伙伴系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
-----------?---------??----------?-----??----
??????????????2209157????????????????????26
- 上一篇:GPS_INS位置組合程序
- 下一篇:pfc模擬裂紋開(kāi)展
評(píng)論
共有 條評(píng)論