操作系统 文件存储空间管理(5)
时间:2026-01-14
时间:2026-01-14
操作系统 文件存储空间管理 c++代码
printf("内存不足,不能够分配空间\n");
callback(length);
break;
}
if(super_block.n==1)
{
memory[m].a=1; //将最后一个盘块分配掉
physic[i]=m;
super_block.n=0;
for(j=0;j<memory[m].n;j++) //从最后一个盘块中取出下一组盘块号写入栈中
{
super_block.free[j]=memory[m].free[j];
super_block.n++;
}
continue; //要跳过这次循环,下面的语句在IF中已经执行过
}
physic[i]=m; //栈中的相应盘块的地址写进 文件地址缓冲区
memory[m].a=1;
super_block.n--;
}
}
void create_file(char filename[],int length) //创建文件
{
int i,j;
for(i=0;i<640;i++)
{
if(strcmp(filename,root[i].file_name)==0)
{
printf("文件已经存在,不允许建立重名的文件\n");
return;
}
}
for(i=0;i<640;i++)
{
if(root[i].i_num==-1)
{
root[i].i_num=i;
strcpy(root[i].file_name,filename);
strcpy(root[i].dir_name,cur_dir); //把当前目录名 给新建立的文件
i_node[i].file_style=style;
i_node[i].file_length=length;
allot(length);
for(j=0;j<length;j++)
{
上一篇:四川移动公司协同办公视频会议系统
下一篇:单人简易呼吸囊操作流程