(论文 页数:20 字数:7096 带程序)摘 要:本次课程设计我们小组选择并实现的设计课题为多用户、多级目录结构文件系统的设计与实现。 在实验中,以个人分工、团队合作的形式,采用模块化的程序设计方法,用了两周的时间来完成本次实验课题的。在这次的小型文件系统设计中,我们选择了类UNIX文件系统的文件管理模式,以成组链法来管理空闲的磁盘空间。由于i节点个数原因,限制了单个磁盘文件的大小,也限制了整体的文件个数。在VFS实现过程中,用一个磁盘文件来模拟磁盘来实现整个文件系统得功能,基本实现了一个简单文件系统所应具备的所有功能,较好的模拟了现在主流操作系统的文件系统,成功实现了此次设计的各项要求。
本文件管理系统共分5个模块:
主程序模块:负责用户界面设计和系统的总体实现; 文件模块:负责文件的创建,删除和读写。 底层模块:负责块的分配,释放,读写和i节点的分配与释放; 目录模块:负责目录的创建,修改和显示; 登陆登出模块:负责用户的命令的处理;
关键词:文件系统,i节点,成组链法,物理块,数据块
目 录
1. 概述 .....................................................................................................................................1 2. 课程设计任务及要求……………………………………………………………………...1 2.1 设计任务……………………………………………………………………………...1 2.2 设计要求……………………………………………………………………………...1 3. 算法及数据结构…………………………………………………………………………...2 3.1算法的总体思想(流程)……………….…………………………………………...2 3.2底层模块……………………………………………………………………………....4 3.2.1 功能……………………………………………………………………………....4 3.2.2 数据结构………………………………………………………………………....4 3.2.3 算法……………………………………………………………………………....5 3.3 登陆登出模块………………………………………………………………………...6 3.3.1功能……………………………………………………………………..………...6 3.3.2 数据结构………………………………………………………………………...6 3.3.3算法……………………………………………………………….……….……...6 3.4目录模块………………………………………………………………………….…...7 3.4.1功能………………………………………………………………………….…...7 3.4.2 数据结构…………………………………………………...……………….…...7 3.4.3算法…………………………………………….…………………………….…...7 3.5文件模块………………………………………………………………………….…...8 3.5.1功能………………………………………………………………………….…...8 3.5.2 数据结构………………………………………………………………...….…...8 3.5.3算法…………………………………………………………………….…….…...8 4. 程序设计与实现……………………………………………………………..….…….…...9 4.1 程序流程图……………………………………………………………….…….…...9 4.2 程序说明……………………………………………………………….……...…...12 4.3 实验结果……………………………………………………………….……...…...12 5. 结论…………………………………………………….…………………………………15 6. 参考文献……………………………………………….…………………………………15 7. 收获、体会和建议…………………………………….…………………………………15
1. 概述 本次课程设计我们选择的是多用户、多级目录结构文件系统的设计与实现,我组设计的VFS 采用类UNIX文件系统的SFD和BFD方式管理文件。用成组链法来管理空闲得磁盘空间。由于i节点个数原因,限制了单个磁盘文件的大小,也限制了整体的文件个数。在VFS实现过程中,用一个磁盘文件来模拟磁盘来实现整个文件系统得功能,基本实现了一个简单文件系统所应具备的所有功能。 设计中,首先建立一个文件,并用其模拟一个磁盘系统。然后将该磁盘主要分成四个区,分别是:引导区(实际设计中未考虑),超级块,i节点区,数据块。基本单位为块,每块512字节。其中,超级块占1块,i节点区占32块,数据区占512块。超级块内存有空闲i节点及空闲块指针,从而与二区的块节点连在了一起,超级块要最先初始化,并常驻内存。每个i节点都放有文件属性信息,并有指针指向数据块,起到引导作用,而数据块存放目录及文件内容,并有指针指向其子目录或子文件等对应的i节点,从而使得整个磁盘及内存构成了一个相辅相成的不可分割的一个整体。
|