网站大量收购独家精品文档,联系QQ:2885784924

操作系统课程设计报告-多用户、多级目录结构文件系统的设计与实现精选.doc

操作系统课程设计报告-多用户、多级目录结构文件系统的设计与实现精选.doc

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

课 程 设 计 报 告 设计题目:多用户、多级目录结构文件系统的设计与实现 班 级: 学号: 姓名 指导教师 设计时间:关键词: 3 1概述 5 2课程设计任务与要求 6 2.1设计任务 6 2.2设计要求 6 3算法及数据结构 7 3.1算法的总体流程 7 3.2超级块 8 3.2.1功能 8 3.2.2数据结构 8 3.2.3算法 9 3.3磁盘i节点与内存i节点 9 3.3.1功能 10 3.3.2数据结构 10 3.3.3算法 11 3.4文件夹操作 12 3.4.1功能 13 3.4.2数据结构 13 3.4.3算法 13 3.5文件的操作 14 3.5.1功能 15 3.5.2数据结构 15 3.5.3算法 15 4程序设计与实现 16 4.1程序流程图 17 4.2程序说明 17 4.3实验结果 23 5结论 24 6参考文献 25 7收获、体会和建议 26 1概述 UNIX采用树型目录结构,每个目录表称为一个目录文件。 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 0# 1# 2# … K# K+1# K+2# K+3# … n# 本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区,I节点区,数据块区。并给已打开的文件建立文件打开表。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为物理地址,在目录中进行登记。 2课程设计任务与要求 2.1设计任务 多用户、多级目录结构文件系统的设计与实现1、在深入理解操作系统基本原理的基础上,对于选定的题目,以小组为单位,先确定设计方案; 2、设计系统的数据结构和程序结构,设计每个模块的处理流程。要求设计合理; 3、编程序实现系统,要求实现可视化的运行界面,界面应清楚地反映出系统的运行结果; 4、确定测试方案,选择测试用例,对系统进行测试; 5、运行系统并要通过验收,讲解运行结果,说明系统的特色和创新之处,并回答指导教师的提问; 6、提交课程设计报告。 3.2超级块 3.2.1功能 超级块位于块组的最前面,描述文件系统整体信息的数据结构,主要描述文件系统的目录和文件的静态分布情况,以及描述文件系统的各种组成结构的尺寸、数量等。 3.2.2数据结构 //超级块 #define NICFREE 50//成组链接法中的每组50块 #define NICINOD 50//超级块中空闲节点的最大块 typedef struct{ unsigned short s_isize;//索引节点块块数 unsigned long s_fsize;//数据块块数 unsigned int s_nfree;//空闲块块数 unsigned short s_pfree;//栈深 unsigned int s_free[NICFREE];//空闲块堆栈 unsigned int s_ninode;//空闲索引节点数 unsigned short s_pinode;//空闲索引节点指针 unsigned int s_inode[NICINOD];//空闲索引节点数组 unsigned int s_rinode;//铭记索引节点 char s_fmod;//超级块修改标志 }Filsys; #endif 3.2.3算法 3.3磁盘i节点与内存i节点 3.3.1功能 linux中,文件查找不是通过文件名称来查找的。实际上是通过i节点来实现文件的查找定位的。我们可以形象的将i节点看做是一个指针。当文件存储到磁盘上去的时候,文件肯定会存放到一个磁盘位置上,i节点其实就是可以这么认为,把i节点看作是一个指向磁盘上该文件存储区的地址事实上,i节点不仅包含了文件数据存储区的地址,还包含了很多信息,比如数据大小

文档评论(0)

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

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

1亿VIP精品文档

相关文档