操作系统大型实验--unix文件系统模拟.doc

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统大型实验——unix文件系统模拟 这次实验是按照简化版来做的,可能和简化版还有点出入。 一、结构定义: struct usr{ struct usr { string usrname; /*用户名*/ string password; /*用户口令*/ int uid; /*用户标志*/ int gid; /*用户所属组标志*/ }; 系统初始化时从该文件读取用户数 据。在程序中,仅仅用作用户检查 程序中没有更改用户及起其相关信 息的的功能。 struct inode{int i_num; /*节点编号*/ struct inode { int i_num; /*节点编号*/ int uid; /*用户标志*/ int gid; /*用户所属组标志*/ int size; /*文件大小*/ int links; /*文件连接数*/ int di_addr[10]; /*地址*/ string mode; /*存取权限*/ string ctime; /*创建时间*/ string lctime; /*最后一次修改时间*/ }; 基本一样,地址项增加为10项, 权限位我只设了4位,”drwx”, 当创建一个节点时,会初始化相信 的数据,并保存在节点文件inode.txt 中。在实际编程中,没有对文件的 修改这一功能,所以我把最后一次 修改时间设为创建时间。没有文件 共 ,所以links值为1。 无论是目录还是文件,都有节点。 对于一个纯目录,我没有设他的大小 所以size 为0,同时也不分配盘块, 故地址项全设为0。 struct dir{ struct dir { string dirname; /*目录名*/ int fatherid; /*父目录编号*/ int id; /*目录编号*/ int nid; /*该目录所对应的节点*/ }; 不同:目录名也可是文件名,可以 通过父目录编号找到某目录的子目录 nid 为该目录所对应的节点。目录 保存在目录文件dir.txt中。 如: -1 root 0 1 0 etc 1 2 0 dev 2 3 0 bin 3 4 0 usr 4 5 因为root目录为根目录,所以设其父目录编号为 –1。当要找根目录root的的子目 录时,只需找出所有父目录为0的目录。 struct supbk{ struct supbk { int fIBStack[80]; /*空闲I结点栈*/ int offsetFIBStack; /*空闲I结点栈指针*/ int freeIBlockN; /*空闲I结点总数 int allIBlockN; /*I结点总数*/ int fBStack[100]; /*空闲盘块号栈*/ int offsetFBStack; /*空闲盘块号栈指针*/ int freeBlockN; /*空闲盘块号栈总数*/ int allBlockN; /*盘块号栈总数*/ int lockFBStack; /*空闲盘块号栈互斥访问标志*/ int lockFIBStack; /*空闲I结点栈互斥访问标志*/ }; 息都保存在超级块文件 supbk.txt中。内容和书 的一样,信息的保存是 按一定顺序的。在后面 我将给出超级块文件, 并加以说明。在超级块 文件里,有一个目录编 号项,具体怎样,我将 在编程思路中给出。 二、编程思路 以简化版为参照,每个结构都有一个相对应的文件,即超级块文件(supbk.txt),用户文件(usr.txt),目录文件(dir.txt),索引节点文件(inode.txt)。 在超级块文件里,最前面的80个数据(1——80)为空闲索引节点,其实前面5个即(1——5)为root ,etc,dev,bin,usr目录占用,所以真正空闲的索引节点为6——80 这75 个。接着后面的三个数据为 offset

文档评论(0)

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

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

1亿VIP精品文档

相关文档