本程序使用c/c++实现了操作系统课程设计《磁盘空间管理的模拟》题目
使用了位示图法(位图)实现功能
代码已实现在vc++6.0中成功运行(运行出现问题欢迎私信)
此题目说明书,任务书,课程设计所有内容部分已打包放在个人资源下载里,点击主页自取代码如下:
#include#include unsigned int size[5]={0,0,0,0,0};//保存位示图 void out()//输出位示图函数 { printf("当前位示图:n"); unsigned int i,j,m; for(j=0;j<5;j++)//循环输出size的各个数的各个二进制位 { m=size[j]; for(i=0;i<16;i++) { printf("%d",m%2); m=m/2; } printf("n"); } system("pause");//冻结屏幕 system("cls");//清屏 } void assign()//分配函数 { unsigned int n=0,i,s=1,j,k,q,m,sq,zhm,cid; for(i=0 ,k=0;i<5;i++) { q=size[i]; j=0; while(1) //查找位示图的第一个为零的位,将其分配,该位置一 { j++; if((q%2)==0) { if(j==1) size[i]+=1; else { for(m=1;m 4 || x < 0) { printf("选择有误!n请重新输入:"); scanf("%d",&x); } switch (x) { case 1:x = 1; assign(); main(); break; case 2:x = 2; callback(); main(); break; case 3:x = 3; out(); main(); break; case 4:x = 4; exit(0); break; } }



