unix文件系统实验报告

unix文件系统实验报告

ID:31736079

大小:727.77 KB

页数:24页

时间:2019-01-17

unix文件系统实验报告_第1页
unix文件系统实验报告_第2页
unix文件系统实验报告_第3页
unix文件系统实验报告_第4页
unix文件系统实验报告_第5页
资源描述:

《unix文件系统实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浙江工业大学计算机学院模拟Unix文件系统实验报告姓名W学号201426810803班级计自1402教师李波目录一、实验介绍1二、实验环境3三、实验设计31.文件系统的磁盘结构的设计32.如何表示冃录33.如何表示文件44.关于超级块55.空闲盘块和空闲索引节点管理5四、数据结构61.基本数据结构62.超级块SuperBlock63.索弓]节点DINode74.目录及目录项Dentry、DentryTable85.其他数据结构9五、模块详解101.目录查找模块102.文件创建模块113.目录创建

2、模块134.文件或目录删除模块135.文件读取模块14六、实验演示156.实验完成功能列表157.各功能合并展示15七、实验总结211.问题与解决212.实验体会22实验介绍本次实验要求完成一个UNIX文件系统的子集的模拟实现。即通过文件模拟磁盘,在该“磁盘”上通过模拟UNIX文件系统创建文件、分配磁盘块的方式实现一个模拟的UNIX文件系统的子集。它可以完成文件或目录的创建、拷贝、修改、重命名等一系列操作。主要FI的是学习操作系统是如何在磁盘上创建一个文件的,如何控制文件类型及权限的,并学习相关

3、的-些数据结构及其作用,了解掌握成组链接法等一些资源相关管理办法。下面是实验具体要求与预期功能:(1)文件卷结构设计•盘块管理采用成组链接法。•0#块可省略•I节点栈及空间为20项•块大小为512字节•卷盘块数大于100•I节点盘块数大于10块(2)I节点结构设计•文件大小•文件联接计数•文件地址•文件拥有者•文件所属组•文件权限及类别•文件最后修改时间•其中文件地址为六项:四个直接块号,一个一次I'可址,一个两次I'可址(3)目录结构•用16字节表示,其中14字节为文件名,2字节为I节点号(4

4、)用户及组结构•用户信息中包插用户名、口令,所屈组,用户打开文件表(文件树结构应与用户相対应:有每个用户的HOME目录)组信息中可只包含组名(5)文件树结构•除(4)要求外,适当考虑UNIX本身文件树结构(6)实现功能Is显示文件目录chmod改变文件权限chown改变文件拥有考chgrp改变文件所属组pwd显示当前目录cd改变当前目录mkdir创建子目录rmdir删除子目录mv改变文件名CP文件拷贝rm文件删除In建立文件联接cat连接显示文件内容passwd修改用户口令(7)可考虑构造一个简

5、单的编辑器,用于创建文件根据上述实验要求明确开发目标,预期实现上述所有功能,但函数具体功能与Unix系统功能可能存在差异。争取完成实验要求的功能(或简单或复杂)。由于所给实验要求较高,所以要实现这样的功能所需的代码量肯定很大,逻辑也不简单,所以在编写代码的时候采用整体思路是逐层次编写,比如先写最底层的块分配等操作,最后编写文件操作等,然后功能逐个添加,包括权限控制等方面。实验环境本次实验的开发环境信息如下:•操作系统:Window10专业版64位操作系统•开发环境:MicrosoftVisual

6、StudioCommunity2013•开发语言:C++•程序类型:Win32控制台应用程序三、实验设计1.文件系统的磁盘结构的设计现在已知,磁盘的第0块为系统的引导块,一般用于系统引导或空闲。第1块为超级块,用于存放文件卷的资源管理信息,包括整个文件卷的盘块数、磁盘索引结点的盘块数、空闲盘块号栈和空闲盘块号栈指针、空闲盘块号栈锁、空闲索引结点栈和空闲索引结点栈指针、空闲索引结点栈锁等。从第2块起存放磁盘索引结点,直到第K块。从第K+1块起及其以后各块,都存放文件数据,直到文件卷的最后一块。所以

7、磁盘结构如下:0#1#2#n112#127#引导块超级块索引节点(IXode)区数据区数据区图1文件系统磁盘逻辑结构本次实验中要通过文件來模拟磁盘,那么対应的文件所碍的数据结构宏观上看可以是连续的block[128]o至于详细的数据结构如何和对应到块呢,这个只需要使用对应的数据结构的类型指针指向对应位置那么内部指针白然就对齐了。2.如何表示目录提到目录那么必须清楚两个概念目录文件和目录项。冃录其实对应着一个文件也就是目录文件,而目录文件又是有目录项组成的好比目录文件是一张表,目录项是一个一个的表

8、项。而目录项对应着一个文件,要是这个文件是日录文件(就是前血提到的那张表)那这个目录项就是一个目录,否则它就是文件。这个问题用文字还是比较难以表达的,还是用图来说明吧。目录文件目录项目录项目录项目录文件•••B/C,/目录文件*AsB是目录C是文件普通文件图2口录文件与FI录项可以发现目录项与目录文件存在相互依赖关系,目录项指向目录文件,目录文件又包含目录项。那么最初的目录怎么知道呢?所以就需要一个根目录项“/”,而这个冃录项就应当存储在超级块中。1.如何表示文件如何表示目录只是抽象的描述了一下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。