操作系统实验报告模板(9)
发布时间:2021-06-05
发布时间:2021-06-05
这是操作系统课程中的四次实验最终报告,内包括进程通信实验,进程同步互斥实验,文件系统模拟实验和Linux shell操作。里面的程序都是我运行过的。
针
if(current==2)
dir=&(osPoint->root); else
dir=(struct dirFile *)(osPoint->data [current-3]);
/*--------为了避免该目录下同名文件夹--------*/
for(i = 1;i<BlockFcbCount;i++) {
if(dir->fcb[i].type==DIRECTORY &&
strcmp(dir->fcb[i].fname,sonfname)==0 ) {
printf("该文件夹下已经有同名的文件夹存在了!\n"); return 0; } }
//查找空白fcb序号
for(i=1;i<BlockFcbCount;i++) {
if(dir->fcb[i].type==NULL) break; }
if(i==BlockFcbCount) {
printf("该目录已满!请选择新的目录下创建!\n");
return 0; }
temp=i;
for(i = 3;i < BlockCount;i++) {
if(osPoint->FAT1[i] == 0) break; }
if(i == BlockCount) {
printf("磁盘已满!\n"); return 0; }
iFAT=i;
/*-------------接下来进行分配----------*/
osPoint->FAT1[iFAT]=osPoint->FAT2[iFAT] = 2; //2表示分配给下级目录文件 //填写该分派新的盘块的参数 strcpy(dir->fcb[temp].fname,sonfname); dir->fcb[temp].type=DIRECTORY;
dir->fcb[temp].fatherBlockNum=current; dir->fcb[temp].currentBlockNum=iFAT;
下一篇:2014一年级数学上册减法