操作系统 模拟linux文件管理系统
.超块,
I
结点和目录结构的设计
struct SUPERBLOCK//超块
{
int fistack[80];//空闲结点号栈 setw(3)*80
int fiptr;//空闲结点栈指针(还有多少个) setw(3)
int fbstack[10];//空闲盘块号栈 setw(3)*10
int fbptr;//空闲盘块号指针 setw(3)
int inum;//空闲i结点总数 setw(3)
int bnum;//空闲盘块总数 setw(3)
};
struct INODE//i结点(64B) 已保证了每两个数据之间有空格隔开
{
int fsize;//文件大小 setw(6)
int fbnum;//文件盘块数 setw(6)
int addr[4];//四个直接盘块号(0 ~ 512*4==2048) setw(3)*4
int addr1;//一个一次间址() setw(3)
int addr2;//一个两次间址() setw(3)
char owner[6];//文件拥有者 setw(6)
char group[6];//文件所属组 setw(6)
char mode[11];// 文件类别及存储权限 setw(12)
char ctime[9];//最近修改时间 setw(10)
};