Linux二级文件系统.doc

Linux二级文件系统.doc

ID:51469460

大小:37.50 KB

页数:6页

时间:2020-03-25

Linux二级文件系统.doc_第1页
Linux二级文件系统.doc_第2页
Linux二级文件系统.doc_第3页
Linux二级文件系统.doc_第4页
Linux二级文件系统.doc_第5页
资源描述:

《Linux二级文件系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、文件系统的设计及实现内容要求:为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;unsign

2、edinti_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)

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)用户密码str

4、uctpwd{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_d

5、efault_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)改变当前目

6、录用函数chdir()(13)打开文件函数open()(14)创建文件函数create()(15)读文件用函数read()(16)写文件用函数write()(17)用户登录函数login()(18)用户退出函数logout()(19)文件系统格式化函数format()(20)进入文件系统函数install()(21)关闭文件函数close()(22)退出文件系统函数halt()(23)文件删除函数delete()4.主程序说明BeginStep1对磁盘进行格式化Step2调用install(),进入文件系统Step3调用_dir(),显示当前目录Step4调用login(),用户注册

7、Step5调用mkdir()和chdir()创建目录Step6调用creat()创建文件0Step7分配缓冲区Step8写文件0Step9关闭文件0和释放缓冲Step10调用mkdir()和chdir()创建子目录Step11调用creat(),创建文件1Step12分配缓冲区Step13写文件1Step14关闭文件1和释放缓冲Step15调用chdir()将当前目录移到上一级Step16调用creat(),创建文件2Step17分配缓冲区Step18调用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。