模拟unix文件系统算法思路.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟unix文件系统算法思路

模拟UNIX文件系统算法思路 设计思路 开发环境 Don.net下的win32控制台程序,C语言。 数据存储 在内存中申请1M的空间来模拟存取设备,空间划分为三部分,第一部分用来存放位示图,用于标识数据块的使用情况,第二部分放置一个文件索引的数据,用于快速的查找数据,第三部分放置数据信息,第三部分划分为512块,每块512B,其256K,放置在1M空间的最末端,由第三部分的大小可知,第一部分只需64B即可,中间的部分用来存放文件索引。其他用到的存储单元由系统分配。 2.数据结构 2.1 数据块在内存中的物理结构 文件块信息用链表来实现,其中一个节点包括文件块编号、文件块容量、文件块在1M空间中的地址和下一个文件块的地址。 2.2 文件索引结构 我们可以将文件索引看成是一张表,它包括文件索引在1M内存空间的位置、许可的最大长度、及当前的记录数,而每一行也是一个数据结构,包含一个唯一的索引编号、一个文件元素(包括文件或文件夹)的名称、一个文件元素的父元素(整个文件系统是一个树状结构)的名称、该元素所在物理位置的文件块编号(简单启见,规定了一个文件元素不可以超过一个文件块的大小,一个文件块只可以包含一个文件),该元素所在树状结构中的层,索引的有效性。 2.3 文件系统中文件元素的结构(含文件夹和文件) 文件元素包括一个指向父节点的指针、文件元素所在的层(文件元素的名称+文件元素所在层+父节点可以唯一的标识一个文件元素)、文件元素名称、文件元素所在物理文件块的编号、文件元素的长度、文件元素的类型(文件和文件夹)、文件元素所具有的可访问权限、文件的创建者、文件创建时间、文件最后修改时间、文件数据开始地址、文件当前状态(关闭、打开、读取、写入)。 2.4 文件系统结构 文件系统结构用来描述整个系统的架构。包含文件系统的起始地址、文件系统的总容量、文件系统的位示图、文件系统中文件块的数量、文件块链表的首地址指针、文件系统中的索引。 2.5 文件系统的当前运行状态 用来描述当前系统当前运行的状态。包含当前的登录用户、用户操作所在的树状结构的层、当前层的父节点、系统运行的当前路径。 2.6 用户结构 用来描述一个登录用户的信息,包含用户的名称、用户的类型(只分为两种,管理员和普通用户)。 功能模块设计 3.1 整体思路概述 首先系统要完成初始化的任务,建立起整个系统,等待用户登录使用文件系统,用户登录模块,对用户的用户名和密码进行验证(允许用户用限次的尝试),如果用户登录成功,则系统进入等待用户输入的状态,用户输入指令后,系统按照即定方式处理用户请求,用户退出后,系统转入登录模块,等待下一位用户的登录。 3.2 系统初始化 系统的初始化要完成文件系统的建立,包括以下几部分:请求内存、设置位示图、初始化文件索引、初始化文本块链表、初始化系统的当前状态、创建一个根目录做为系统的根。 3.3 用户登录模块 内置一些用户名和密码,用来验证登录用户的身份,用户登录成功后会初始化当前用户等一系列的系统当前信息,默认用户的类型为普通用户,如果用户未能通过身份验证,提示用户登录失败,退出整个系统。 3.4 创建文件功能 只支持在当前目录创建文件,根据位示图找到一个未使用的文件块用来存放用户的文件信息,根据系统当前状态来构建一个文件系统元素放入到找到的文件块中,新创建的文件状态为关闭,同时更新位示图和文件索引。 3.5 文件打开功能 只支持在当前目录进行操作,通过用户给定的文件名在文件索引中有哪些信誉好的足球投注网站到文件的物理文件块ID,找到该文件元素后,将文件当前状态置为打开。 3.7 文件读取功能 只支持在当前目录进行操作,前提是用户已执行文件打开的命令,否则会提示用户先打开文件。通过类似的查找方式,找到文件的数据部分,将数据显示到界面。 3.8 文件写入功能 只支持在当前目录进行操作,前提是用户已执行文件打开的命令,否则会提示用户先打开文件。命令成功后,会等待用户的输入,用户输入完毕,使用CTRL+D,结束输入,系统会读入用户的输入内容,保存到相应的文件块(注意,如果用户的输入太多,会出现越界或截取用户输入一部分的现象)。 3.9 文件关闭功能 只支持在当前目录进行操作,通过用户给定的文件名在文件索引中有哪些信誉好的足球投注网站到文件的物理文件块ID,找到该文件元素后,将文件当前状态置为关闭。 3.10 删除文件功能 删除文件并不真正清理文件的物理存储内容,只是将文件的有效状态更改为无效。 3.11 创建子目录功能 只支持在当前目录创建文件,与创建文件有点类似,只是文件夹在文件元素结构中的数据部分为空。同样会更新位示图和文件索引。 3.12 改变当前目录功能 只支持进入下一层的一个文件夹和回到父目录,

文档评论(0)

ailuojue1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档