Linux二级文件系统.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

文件系统的设计及实现

内容要求:

为Linux系统设计一个简单的二级文件系统。要求做到以下几点:

1.可以实现下列几条命令:

login用户登录

dir列目录

create创建文件

delete删除文件

open打开文件

close关闭文件

read读文件

write写文件

2.列目录时要列出文件名,物理地址,保护码和文件长度。

3.源文件可以进行读写保护。

程序设计

1.设计思想:

采用两级目录,其中第一级对应于用户账号,第二级对应于用户账号下的文件。

2.主要数据结构:

(1)i节点

structinode{

structinode*i_forw;

structinode*i_back;

chari_flag;

unsignedinti_ino;

unsignedinti_count;

unsignedshortdi_number;

unsignedshortdi_mode;

unsignedshortdi_uid;

unsignedshortdi_gid;

unsignedintdi_addr[NADDR];

(2)磁盘i节点

structdinode

{

unsignedshortdi_number;

unsignedshortdi_mode;

unsignedshortdi_uid;

unsignedshortdi_gid;

unsignedlongdi_size;

unsignedintdi_addr[NADDR];

}

(3)目录项结构

structdirect

{

chard_name[DIRSIZ];

unsignedintd_ino;

}

(4)超级块

structfilsys

{

unsignedshorts_isize;

unsignedlongs_fsize;

unsignedints_nfree;

unsignedshorts_pfree;

unsignedints_free[NICFREE];

unsignedints_ninode;

unsignedshorts_pinode;

unsignedints_inode[NICINOD];

unsignedints_rinode;

chars_fmod;

};

(5)用户密码

structpwd

{

unsignedshortp_uid;

unsignedshortp_gid;

char*password[PWDSIZ];

};

(6)目录

structdir

{

structdirectdirect[DIRNUM];

intsize;

};

(7)查找内存i节点的hash表

structhinode

{

structinode*i_frow;

};

(8)系统打开表

structfile

{

charf_flag;

unsignedintf_count;

structinode*f_inode;

unsignedlongf_off;

};

(9)用户打开表

structuser

{

unsignedshortu_default_mode;

unsignedshortu_uid;

unsignedshortu_gid;

unsignedshortu_ofile[NOFILE];

};

3.主要函数

(1)i节点内容获取函数iget()

(2)i节点内容释放函数iput()

(3)目录创建函数mkdir()

(4)目录有哪些信誉好的足球投注网站函数namei()

(5)磁盘块分配函数balloc()

(6)磁盘块释放函数bfree()

(7)分配节点区函数ialloc()

(8)释放i节点区函数ifree()

(9)有哪些信誉好的足球投注网站当前目录下文件的函数iname()

(10)访问控制函数access()

(11)显示目录和文件用函数_dir()

(12)改变当前目录用函数c

文档评论(0)

177****6486 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档