资源简介
伙伴系统的简单实现,是操作系统的课程设计,看看吧。
代码+文档+心得。
代码片段和文件信息
#include
#include
#include
int buddy[10]={2481632641282565121024}; //分区大小 2的k次幂
int free1[10]={0000000001}; //空闲分区的个数 初始内存大小1024
int use[100][2]={0}; //已分配分区表 最多为100个进程分配 记录已分配分区大小,内存地址
int free_addr[10][50]={0}; //空闲分区的首地址 [i][j]表示2的i+1次方大小的空闲分区的第j个分区的首地址
int maxsize=9; //最大空闲分区 初始为1024
int usenum=0; //进程数 初始为0
void menu(); // 多级菜单函数
void showMemory(); //输出内存占用情况
void showFreeMemory(); //输出空闲分区情况
void showUseMemory(); //输出已分配区情况
void allocBuddy(); //分配内存
void reclaimBuddy(); //回收内存
void menu()
{
printf(“ ******************* 欢迎使用伙伴系统模拟程序 **************\n“);
printf(“ *********************************************************************\n“);
printf(“ *********************************************************************\n“);
printf(“ ******************* 1.申请内存 **************\n“);
printf(“ ******************* 2.释放内存 **************\n“);
printf(“ ******************* 3.查看内存占用情况 **************\n“);
printf(“ ******************* 0.退出 **************\n“);
printf(“ *********************************************************************\n“);
printf(“ *********************************************************************\n“);
printf(“ *********************************************************************\n“);
int n;
lab1:
fflush(stdin); //刷新缓冲区
printf(“请输入(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(“未分配内存,请先申请内存!按任意键返回!“);
}
getch();
system(“cls“);
menu();
break;
case 3:system(“cls“);
showMemory();
printf(“按任意键返回!“);
getch();
system(“cls“);
menu();
break;
case 0:printf(“按任意键退出!“);
getch();
break;
default:printf(“输入错误,请重新输入!\n“);
goto lab1;
}
}
void showMemory() //输出内存使用情况
{
int ij;
printf(“空闲分区剩余情况:\n“);
for(i=0;i<10;i++)
{
printf(“空闲区大小%4d:有%d个空闲块,内存起始地址分别为:“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“);
for(i=0;i {
printf(“%2d:分区大小:%4d 内存起始地址为:%4d~%4d\n“i+1buddy[use[i][0]]use[i][1]use[i][1]+buddy[use[i][0]]-1);
}
}
void showFreeMemory() //输出空闲分区情况
{
int ij;
printf(“空闲分区剩余情况:\n“);
for(i=0;i<10;i++)
{
printf(“空闲区大小%4d:有%d个空闲块,内存起始地址分别为:“buddy[i]free1[i]);
for(j=0;j {
printf(“%4d~%4d “free_addr[i][j]free_addr[i][j]+b
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6926 2012-06-21 21:54 伙伴系统的设计与实现\伙伴系统\companionSystem.cpp
文件 3509 2012-06-17 11:09 伙伴系统的设计与实现\伙伴系统\companionSystem.dsp
文件 538 2012-06-17 11:11 伙伴系统的设计与实现\伙伴系统\companionSystem.dsw
文件 50176 2012-06-21 21:54 伙伴系统的设计与实现\伙伴系统\companionSystem.ncb
文件 48640 2012-06-21 21:54 伙伴系统的设计与实现\伙伴系统\companionSystem.opt
文件 1526 2012-06-21 21:47 伙伴系统的设计与实现\伙伴系统\companionSystem.plg
文件 204867 2012-06-21 21:47 伙伴系统的设计与实现\伙伴系统\Debug\companionSystem.exe
文件 308544 2012-06-21 21:47 伙伴系统的设计与实现\伙伴系统\Debug\companionSystem.ilk
文件 19363 2012-06-21 21:47 伙伴系统的设计与实现\伙伴系统\Debug\companionSystem.obj
文件 222152 2012-06-21 21:33 伙伴系统的设计与实现\伙伴系统\Debug\companionSystem.pch
文件 525312 2012-06-21 21:47 伙伴系统的设计与实现\伙伴系统\Debug\companionSystem.pdb
文件 41984 2012-06-21 21:49 伙伴系统的设计与实现\伙伴系统\Debug\vc60.idb
文件 86016 2012-06-21 21:47 伙伴系统的设计与实现\伙伴系统\Debug\vc60.pdb
文件 467456 2012-06-21 19:19 伙伴系统的设计与实现\伙伴系统.doc
文件 29184 2012-06-21 21:19 伙伴系统的设计与实现\心得体会\孙磊-操作系统心得.doc
文件 31744 2012-06-21 19:51 伙伴系统的设计与实现\心得体会\张银银-操作系统心得.doc
文件 30208 2012-06-21 21:14 伙伴系统的设计与实现\心得体会\张飞操作系统心得.doc
文件 32256 2012-06-21 21:55 伙伴系统的设计与实现\心得体会\章风云-操作系统心得.doc
文件 33280 2012-06-21 21:31 伙伴系统的设计与实现\心得体会\赵小龙-操作系统心得.doc
文件 33280 2012-06-21 20:10 伙伴系统的设计与实现\心得体会\赵育坤-操作系统心得.doc
文件 31744 2012-06-21 20:48 伙伴系统的设计与实现\心得体会\赵飞-操作系统心得.doc
文件 452 2012-06-21 10:19 伙伴系统的设计与实现\说明.txt
..AD... 0 2012-11-11 10:02 伙伴系统的设计与实现\伙伴系统\Debug
..AD... 0 2012-11-11 10:02 伙伴系统的设计与实现\伙伴系统
..AD... 0 2012-11-11 10:02 伙伴系统的设计与实现\心得体会
..AD... 0 2013-04-23 16:00 伙伴系统的设计与实现
----------- --------- ---------- ----- ----
2209157 26
- 上一篇:GPS_INS位置组合程序
- 下一篇:pfc模拟裂纹开展
相关资源
- 电力拖动与自动控制课程设计
- 网络综合实验 网络拓扑图 网络工程原
- 课程设计\\图书查询系统.rar
- 计算机网络课程设计——IP数据报流量
- 计算机网络课程设计-校园网规划与设
- 微机原理课程设计硬件报告之压力测
- 《键控数据采集电路设计》课程设计
- 计算机网络课程设计-电子政务网站设
- 数据结构课程设计报告:招聘模拟
- 单片机秒表课程设计单片机秒表课程
- 数据课程设计长途汽车信息管理系统
- 微机原理课程设计 基于8253、8255A、
- 数据结构课程设计 宿舍管理系统
- 数据结构课程设计 宿舍管理查询软件
- 论坛系统的数据流图--软件工程课程设
- 微机原理与接口技术课程设计报告已
- 学生信息管理系统——数据库课程设
- 单片机课程设计数字时钟
- 沈阳大学操作系统课程设计
- 计算机网络课程设计单个/多个交换机
- 数字时钟数字时钟课程设计
- 在线投票的系统设计与实现
- 嵌入式课程设计嵌入式课程设计
- Linux+shell编程课程设计——Linux用户管
- 数据结构 课程设计 宾馆订房系统
- 利用后缀表达式计算中缀表达式的值
- 农夫过河问题 数据结构
- 电话客户服务模拟 数据结构课程设计
- 计算机网络 邮件收发 课程设计报告
- 传感器课程设计实验报告
评论
共有 条评论