3、打开文件管理层,通过TOFile类实现
功能为涉及ofile结构的操作。
4、命令解释层,通过TEnter类和TOrder类实现
功能为接受来自用户的命令,并解释、执行用户提出的文件访问操作。按系统的的功能
要求,可以Open(),Close(),Read(),Write();等函数。
三、数据结构的说明
用户信息的存储结构:
struct UserNode//注册用户信息
{
char d_flag; //标识该用户信息是否有效,超级用户为用户数目,-1 表示无效
char d_uid; /*用户标识,为 0 时表示是超级*/
char d_gid; /*同组用户标识*/
char d_name[8];/*用户名,但不超过八个字节,超过八位自动截取*/
char password[8];/*用户密码但不超过八位,超过八位自动截取*/
};
目录文件结点信息存储结构:
struct dir
{
unsigned short d_mode; //文件属性及访问权限,<=0 时为空结构
char d_uid; //文件主标识
char d_gid; //文件主同组用户标识
int d_fsize; //文件大小(字节),作为目录结构时为该目录下文件个数
char d_name[8]; //文件名
int d_add[10]; //存放文件信息的空间地址(块号)
};
Fcb 在内存中的结构:
struct SFcb
{
char f_count; /*文件访问计数*/
char f_flag; /*标志字*/
int f_blkno; /*存放本文件目录结构的块号*/
int f_number; /*文件目录结构所在块内偏移序号*/
unsigned short f_mode; /*文件属性*/
/*以下各项信息在文件打开时从 struct dir 获取*/
char f_uid;
char f_gid;
评论4