WORD完美整理版
int analyse(char *); 输入参数分析,分析用户命令
void save_inode(int); 将num号i节点保存到虚拟磁盘文件hd.dat int get_blknum(void); 申请一个数据块
void read_blk(int); 将i节点号为num的文件读入temp void write_blk(int); 将temp的内容写入hd.dat的数据区 void release_blk(int); 释放文件块号为num的文件占用的空间 void pathset(); 打印当前路径 void deltree(int innum); 实现删除目录树函数 int check(int); 检查用户权限
// 用户命令处理函数
void help(void); 命令提示帮助函数 void cd(void); 改变当前目录
void dir(void); 显示当前目录下所有文件和目录 void mkdir(void); 创建目录 void rd(void); 删除目录 void creat(void); 创建文件 void open(void); 打开 void read(void); 读文件 void write(void); 写文件 void close(void); 关闭文件 void del(void); 删除文件 void logout(void); 用户注销 void command(void); 命令管理函数 void format(void); 格式化虚拟磁盘 5. 程序设计与实现 5.1. 主要函数列表
函数原型 void login(void) void init(void)) int analyse(char *) void save_inode(int) int get_blknum(void) void read_blk(int) 功能 用户登陆 程序初始化 输入参数分析 保存i节点到虚拟磁盘文件 分配一个磁盘块 读磁盘快内容 入口、出口参数说明 命令行字符串 i节点号 i节点号 范文范例 参考指导
WORD完美整理版 void write_blk(int) void release_blk(int) void pathset(); void deltree(int innum); int check(int); void help(void) void dir(void) void mkdir(void) void creat(void) void open(void) void read(void) void write(void) void close(void) void del(void) void logout(void) void command(void) void rd(void) void format(void); 5.2. 函数之间的关系
写磁盘块 释放一个磁盘块 打印当前路径 实现删除目录树函数 检查用户权限 命令提示帮助函数 录 创建目录 创建文件 打开文件 读文件 写文件 关闭文件 删除文件 用户登出 命令管理函数 删除目录 格式化虚拟磁盘 i节点号 i节点号 i节点号 i节点号 显示当前目录下所有文件和目 main() login() init() command() 范文范例 参考指导
analyse() errcmd() format() logout() mkdir() write() close() creat() open() help() read() quit() del() dir() cls() cd() rd() get_blknum() release_blk() save_inode() write_blk()
read_blk() delet()
WORD完美整理版
程序流程图
各功能模块流程图
用户登陆login()
开始 提示输入用户名和密码 用户名是否存在 否 是 否 密码是否正确 是 创建新用户 读入用户信息到内存 结束
范文范例 参考指导 初始化函数init()
开始 读入位示图信息到内存 读入i节点信息到内存 当前目录为根目录 初始化打开文件表 结束 5.3.
WORD完美整理版
改变当前目录cd()
开始 argv[1]=”..” 否 遍历i节点区 是 目录是否存在 否 是 找到的目录i节点号当前目录的父i送当前目录inum_cur 节点号送当前目录inum_cur 结束
创建目录mkdir()
开始 遍历i节点区 要创建的目录是否存在 是 遍历i节点区 否 是否有空的i节点 否 是 分配一个目录i节点 结束 范文范例 参考指导 显示目录dir()
开始 遍历i节点区 否 i节点的父节点是否为当前目录 否 是 输出文件名或目录名 i节点区是否遍历完 是 结束
相关推荐: