资源简介
伙伴系统的简单实现,是操作系统的课程设计,看看吧。
代码+文档+心得。

代码片段和文件信息
#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模拟裂纹开展
相关资源
- FTP课程设计(服务端+客户端)
- 高频电子线路课程设计报告收音机
- 直流稳压电源的课程设计、安装及调
- EDA课程设计_密码锁
- 单片机课程设计 篮球计分器
- 数据结构课程设计 6 1 彩票系统
- 端口扫描课程设计详细的报告
- 步进电机课程设计(个人设计)
- 校园网络规划与设计课程设计
- 编译原理课程设计:词法语法编译器
-
simuli
nk 课程设计 qpsk - 武汉理工大学 单片机课程设计 16*16点
- 数据库VFP课程设计
- 分页系统模拟实验 操作系统 课程设
- 模拟段页式虚拟存储管理中地址转换
- 硬件课程设计—流水灯(quartus软件
- 超市收银系统eclipse access大学课程设计
- 航空订票系统_数据结构课程设计
- c 课程设计 职工信息管理系统
- 汇编语言,课程设计,红绿灯
- 机床液压系统课程设计卧式钻床动力
- 课程设计蔬菜大棚自动控制系统,包
- 密码学课程设计:DES加密解密算法的
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- PL/0功能扩充break功能
- 数据库课程设计以及指导思想
- ATM自动取款机系统的分析与设计
- 留言板课程设计 报告加设计
- 数据结构课程设计——图书管理系统
评论
共有 条评论