操作系统实验报告模板(10)
发布时间:2021-06-05
发布时间:2021-06-05
这是操作系统课程中的四次实验最终报告,内包括进程通信实验,进程同步互斥实验,文件系统模拟实验和Linux shell操作。里面的程序都是我运行过的。
//初始化子目录文件盘块 dir=(struct dirFile*)(osPoint->data [iFAT-3]); //定位到子目录盘块号 dir->init (current,iFAT,sonfname);//iFAT是要分配的块号,这里的current用来指要分配的块的父块号
printf("---------------------------------------------------------------\n\n"); return 1; }
/*-------删除当前目录下的文件夹--------*/ int rmdir(char *sonfname) {
int i,temp,j;//确保当前目录下有该文件,并记录下该FCB下标
struct dirFile *dir; //当前目录的指针
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) { break; } }
temp=i;
if(i==BlockFcbCount) {
printf("当前目录下不存在该子目录!\n"); return 0; }
j = dir->fcb[temp].currentBlockNum; struct dirFile *sonDir; //当前子目录的指针
sonDir=(struct dirFile *)(osPoint->data [ j - 3]);
for(i=1;i<BlockFcbCount;i++) //查找子目录是否为空目录 {
if(sonDir->fcb[i].type!=NULL) {
printf("该文件夹为非空文件夹,为确保安全,请清空后再删除!\n"); return 0;
下一篇:2014一年级数学上册减法