全文预览

操作系统课程设计为linux设计一个简单的二级文件系统

上传者:叶子黄了 |  格式:doc  |  页数:17 |  大小:220KB

文档介绍
入的文件的大小-------*/if(DISKSIZE-u_opentable.openitem[fd].size%DISKSIZE>len){strcpy(first,buf);u_opentable.openitem[fd].size=u_opentable.openitem[fd].size+len;cur_dir->directitem[temp].size=cur_dir->directitem[temp].size+len;}else{for(i=0;i<(DISKSIZE-u_opentable.openitem[fd].size%DISKSIZE);i++){/*写一部分内容到最后一块磁盘块的剩余空间(字节)*/first[i]=buf[i];}/*计算分配完最后一块磁盘的剩余空间(字节)还剩下多少字节未存储*/ilen1=len-(DISKSIZE-u_opentable.openitem[fd].size%DISKSIZE);ilen2=ilen1/DISKSIZE;modlen=ilen1%DISKSIZE;if(modlen>0)ilen2=ilen2+1;/*--还需要多少块磁盘块-*/for(j=0;j<ilen2;j++){for(i=ROOT_DISK_NO+1;i<DISK_NUM;i++)/*寻找空闲磁盘块*/{if(fat[i].em_disk=='0')break;}if(i>=DISK_NUM)/*--如果磁盘块已经分配完了-*/return(-1);first=fdisk+i*DISKSIZE;/*--找到的那块空闲磁盘块的起始地址-*/if(j==ilen2-1)/*--如果是最后要分配的一块-*/{for(k=0;k<len-(DISKSIZE-u_opentable.openitem[fd].size%DISKSIZE)-j

收藏

分享

举报
下载此文档