操作系统课程设计报告:Linux二级文件系统设计.doc

操作系统课程设计报告:Linux二级文件系统设计.doc

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

专 业:计算机科学与技术 学 号:******** 姓 名:*** 提交日期:2013-3-8 【设计目的】 (1)本实验的目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和内部实现。 (2)结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步理解操作系统。 (3)通过分对实际问题的分析、设计、编程实现,提高学生实际编程的能力“filesystem”,”w+b”); //fd是FILE指针类型,w便是写方式,b表示二进制 fseek(fd, specific_area,SEEK_SET);// fd是文件指针;specific_area为整形, // 为需要入pInode的位置 fwrite(pInode, sizeof(inode), 1,fd); // 写入pInode信息 2、原理算法 本文件系统采用两目录,其中第一对应于用户,第二对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 【设计思路】 1、数据结构 #define MAXNAME 25 /*mfdname,ufdname,filename的最大长度*/ #define MAXCHILD 50 /*最大的子文件个数*/ #define MAX (MAXCHILD*MAXCHILD) /*物理地址计数fpaddrno的最大长度*/ typedef struct /*结构体OSFILE(文件)*/ { int fpaddr; /*文件的物理地址号0,1,2...*/ int flength; /*文件的长度*/ int fmode; /*文件模式:0-Read Only;1-Write Only;2-Read and Write;3-protrcted;*/ char fname[MAXNAME]; /*文件名*/ } OSFILE; typedef struct /*结构体OSUFD(用户目录)*/ { char ufdname[MAXNAME]; /*ufd的名字*/ OSFILE ufdfile[MAXCHILD]; /*ufd自己的文件*/ }OSUFD; typedef struct /*结构体OSUFDLOGIN(用户注册)*/ { char ufdname[MAXNAME]; /*ufd的名字*/ char ufdpword[8]; /*ufd的密码*/ } OSUFD_LOGIN; typedef struct /*文件打开模式*/ { int ifopen; /*打开情况:0-close,1-open*/ int openmode; /*读写模式0-read only,1-write only,2-read and write*/ }OSUFD_OPENMODE; OSUFD *ufd[MAXCHILD]; /*ufd及ufd自己的文件(指针型)*/ OSUFD_LOGIN ufd_lp; /*建立了一个OSUFD_LOGIN型的 ufd_lp*/ int ucount=0; /*mfd的ufd的个数*/ int fcount[MAXCHILD]; /*ufd自己的文件个数*/ int loginsuc=0; /*是否成功登陆,1成功*/ char username[MAXNAME]; /*记录注册的用户名*/ char dirname[MAXNAME];/*记录文件当前的目录*/ int fpaddrno[MAX]; /*记录文件的物理地址num*/ OSUFD_OPENMODE ifopen[MAXCHILD][MAXCHILD]; /*创建一个OSUFD_OPENMODE型的数组用于记录每个文件的打开情况和读写模式*/ FILE *fp_mfd,*fp_ufd,*fp_file_p,*fp_file; /*定义FILE * 型的文件指针,用于读文件*/ 2、主要的函数说明 void LoginF() /*用户注册登录*/ void DirF() /*显示文件系统的所有文件*/ void CdF() /*改变路径*/ void CreateF() /*创建文件*/ void DeleteF() /*删除文件*/ void ModifyFM() /*改变文件模式*/ void OpenF() /*打开文件*/ void CloseF() /*关闭文件*

文档评论(0)

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

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

1亿VIP精品文档

相关文档