模拟unix文件系统的设计及实现.doc
约72页DOC格式手机打开展开
模拟unix文件系统的设计及实现,模拟unix文件系统的设计及实现页数 72 字数 19589摘要本文件系统主要是模拟unix文件系统的文件管理方法来设计的,设计过程中要考虑文件存储空间的管理,文件物理结构的设计,磁盘i结点的分配与回收,内存i结点的分配与回收,目录检索的实现,文件和目录的系统调用功能等方面的问题。一、课程设计题目及要求4(一)题目4(...
内容介绍
此文档由会员 猛龙 发布
模拟UNIX文件系统的设计及实现
页数 72 字数 19589
摘要
本文件系统主要是模拟UNIX文件系统的文件管理方法来设计的,设计过程中要考虑文件存储空间的管理,文件物理结构的设计,磁盘i结点的分配与回收,内存i结点的分配与回收,目录检索的实现,文件和目录的系统调用功能等方面的问题。
一、 课程设计题目及要求 4
(一) 题目 4
(二) 文件系统应具有的基本功能 4
(三) 设计要求系统结构 4
(四) 设计要求数据结构 4
(五) 选用程序设计语言:C++、C等 4
(六) 设计参考资料: 4
(七) 提示 4
二、 设计思想说明 5
(一) 设计思想分析 5
(二) 文件存储空间的管理 5
(三) 文件物理结构的设计 5
(四) 磁盘i结点的分配与 5
(五) 内存i结点的分配与回收 6
(六) 目录检索的实现 6
(七) 文件和目录的系统调用 6
三、 文件系统结构的说明 7
(一) 块管理层 7
(二) 内存管理层 7
(三) 文件管理层 7
(四) 命令解释层 8
四、 数据结构的说明 8
/* 文件系统(内存i节点)数据结构 */ 8
/* 磁盘i节点数据结构 */ 8
/* 查找内存i节点的hash表数据结构 */ 8
/* 超级块数据结构 */ 9
/* 目录数据结构 */ 9
/* 系统打开表数据结构 */ 10
/* 用户打开表数据结构 */ 10
五、 各模块的算法流程图 10
(一) 用户登录,建立文件系统 10
(二) 对文件的操作(mkdir、rmdir、creat、read、write、dir、cd等功能) 11
(三) 释放占用的内存空间,且退出系统(logout、halt等功能) 11
六、 使用说明书(即用户手册) 11
(一) 创建目录:mkdir( 或 md ) 路径名1 路径名2 路径名3 … … 11
(二) 删除目录:rmdir( 或 rd ) 路径名1 路径名2 路径名3 …… 11
(三) 显示目录:dir( 或 ls ) 12
(四) 转换目录:cd 路径名 12
(五) 建立文件:edit 文件名 12
(六) 显示文件内容:show 文件名 12
(七) 删除文件:delete 文件名 12
(八) 改变文件权限:chmod 操作符 文件名 12
(九) 显示帮助信息:help 12
(十) 用户退出:logout 12
七、 程序运行结果示例 12
八、 体会和建议 15
九、 程序清单 15
/*main.c*/ 15
/*syscall.c*/ 17
/*filesystem.h*/ 69
页数 72 字数 19589
摘要
本文件系统主要是模拟UNIX文件系统的文件管理方法来设计的,设计过程中要考虑文件存储空间的管理,文件物理结构的设计,磁盘i结点的分配与回收,内存i结点的分配与回收,目录检索的实现,文件和目录的系统调用功能等方面的问题。
一、 课程设计题目及要求 4
(一) 题目 4
(二) 文件系统应具有的基本功能 4
(三) 设计要求系统结构 4
(四) 设计要求数据结构 4
(五) 选用程序设计语言:C++、C等 4
(六) 设计参考资料: 4
(七) 提示 4
二、 设计思想说明 5
(一) 设计思想分析 5
(二) 文件存储空间的管理 5
(三) 文件物理结构的设计 5
(四) 磁盘i结点的分配与 5
(五) 内存i结点的分配与回收 6
(六) 目录检索的实现 6
(七) 文件和目录的系统调用 6
三、 文件系统结构的说明 7
(一) 块管理层 7
(二) 内存管理层 7
(三) 文件管理层 7
(四) 命令解释层 8
四、 数据结构的说明 8
/* 文件系统(内存i节点)数据结构 */ 8
/* 磁盘i节点数据结构 */ 8
/* 查找内存i节点的hash表数据结构 */ 8
/* 超级块数据结构 */ 9
/* 目录数据结构 */ 9
/* 系统打开表数据结构 */ 10
/* 用户打开表数据结构 */ 10
五、 各模块的算法流程图 10
(一) 用户登录,建立文件系统 10
(二) 对文件的操作(mkdir、rmdir、creat、read、write、dir、cd等功能) 11
(三) 释放占用的内存空间,且退出系统(logout、halt等功能) 11
六、 使用说明书(即用户手册) 11
(一) 创建目录:mkdir( 或 md ) 路径名1 路径名2 路径名3 … … 11
(二) 删除目录:rmdir( 或 rd ) 路径名1 路径名2 路径名3 …… 11
(三) 显示目录:dir( 或 ls ) 12
(四) 转换目录:cd 路径名 12
(五) 建立文件:edit 文件名 12
(六) 显示文件内容:show 文件名 12
(七) 删除文件:delete 文件名 12
(八) 改变文件权限:chmod 操作符 文件名 12
(九) 显示帮助信息:help 12
(十) 用户退出:logout 12
七、 程序运行结果示例 12
八、 体会和建议 15
九、 程序清单 15
/*main.c*/ 15
/*syscall.c*/ 17
/*filesystem.h*/ 69