- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2021年操作系统课程设计报告树型目录文件系统--第1页
操作系统课程设计报告 题目:树型目录文件系统 学 院 计算
机学院 专 业 网络工程 年级班别 班
学 号 学生姓名 指导教师
成 绩 2 7 年 1 月 树
型目录文件系统 一、 设计思想
本课程设计目的是实现树型目录结构文件系统,本人在实现过程中也利用二
叉树, 其中每个节点都有父指针,子指针和兄弟指针,其中子指针指向该目录下
的第一个子节点,而该子节点的父指针则指向它的上级目录。目录下各子节点用
兄弟指针连接起来。
文件夹打开是则把文件夹名称及其地址压入打开文件夹栈,文件关闭则把文
件夹名称及其地址从打开文件夹栈中抛出。
文件打开则把文件的名称及其父指针写到文件列表同时置文件打开标志为1,
文件关闭则把文件从打开列表中删除,同时置文件打开指针为,文件读取和写入
都要检查文件是否在文件打开列表中,未打开文件不能读写,只读文件不能写,
只写文件不能读。
文件夹和文件创建,文件夹和文件的创建首先检验目录是否为空,为空则把
文件夹或文件连接到该目录下,不为空则把检查目录下是否有同名文件夹或文件,
有则提示创建不成功,没有则把文件夹或文件连接到该目录下的最后一个子节点,
作为它的兄弟节点。
文件夹和文件的删除,文件夹下没有打开的文件或文件没有打开才能删除,
否则删除失败,删除文件夹时利用了中序历遍来删除子树。
二、 系统结构说明 系统结构如下图
r t 为根结点,r t 下有五个用户,每个用户有自己的文件夹或文件,系统
初始化时为每个用户创建一个 file1 文件。文件夹内容只有名称和打开标志。文
件除了名称和打开标志,还有文件的访问权限,文件类型以及文件长度。其中文
件的访问权限、文件类型、文件长度单独作为一个结构体,其它和文件夹结构体
相同,也同用一个结构体。
打开文件列表的结构体包括文件名和文件的父节点地址,打开文件夹的栈中
包括文件夹名称及其地址 三、 数据结构的说明 // 普通文件的结构体
struct file{ char type; //文件类型-文本文件 1-可执行文件 2-记录型
文件 char right; // 文件的权限-可读 1 -可写 2 -可读可写 int
f_length; //文件长度 }; typedef struct file File; //文件夹或文件的结构
体 struct FCB { char kind; //kind='1'为文件夹 kind='2'为
文件 char name[2]; //文件夹或文件名称 b l open; File if_file;
struct FCB *parent; struct FCB *brother; struct FCB *child; };
typedef struct FCB Ff; //r t 和 fcp 为全局变量 Ff *r t;//根节点 Ff
2021年操作系统课程设计报告树型目录文件系统--第1页
2021年操作系
文档评论(0)