西北农林科技大学操作系统实验四(2)——文件系统之设计实验

  1. 本程序设计模拟一个简单的树形结构的文件系统,本系统有三个命令:

ls 路径:显示文件的信息;
mv 文件路径 新文件名 :给原有文件重命名
chmod 权限 文件路径:修改原文件的权限
还有两个命令实在创建文件系统时使用的(在该系统中可以用这两个命令):
mkdir 路径 文件名:创建目录
create 路径 文件名:创建文件

设计思路
1. 设计文件的默认系统(文件系统中默认的一些文件和目录);
一个创建二叉树的过程

  1. ls命令:先序遍历二叉树,每一个‘/’为遍历的一个分隔点:遇到‘/’就遍历他的孩子,否则遍历他的兄弟直至找到与路径信息一样位置。
  2. mv命令:根据路径找到文件,然后把文件名替换即可
  3. chmod命令:与mv命令的思路相同。

ls命令
在这里插入图片描述
在这里插入图片描述

2.本程序设计了一个二级文件系统(有一个主目录,每个用户都有一个目录):
本系统有9个命令:

  1. ‘create 文件名 权限’创建文件(权限为‘777’,默认为共享文件)
  2. delete 文件名’ 删除文件
  3. ‘linksharefile 文件名 共享文件名’ 将共享文件链接到该用户,名字为第一个参数
  4. ‘open 文件名’ 打开文件 打开后会自动输出文件描述符,每个用户每次只能打开一个文件
  5. ‘close 文件描述符’ 关闭文件
  6. ‘read 文件描述符 ’ 将信息从文件读到标准输出
  7. ‘write 文件描述符’ 将信息从标准输入写到文件中,并输出写入字符个数
  8. ‘sudo 用户名’ 实现用户切换
  9. ‘useradd 用户名’ 创建用户
    (1)、设计思路:
    1):设置目录表:主目录和每个用户的目录(初始时,认为只有一个用户)
    2):设计文件区:有两个文件区:共享文件区,所有用户都可以访问,私有文件区只有文件主可以访问
    3):create命令:输入文件名权限后,判断是否为“777”(共享文件),然后再相应的文件区申请一块内存存储信息,再对创建用户的目录进行修改。
    4):delete命令:根据该用户的目录找到相应的文件所在的文件区,然后删除该文件区,在修改该用户目录的信息(再删除共享目录是还要判断是否还有其他用户使用)
    5):linksharefile命令:现在共享文件区根据文件名找到该文件,然后得到该文件所在的物理位置(索引指针),返回给当前用户,修改用户目录,实现文件共享。
    6):open命令:遍历该用户的文件目录找到相应的文件的物理位置,然后把该物理位置作为文件描述符返回给用户,并设计一个标志,说明该用户已打开一个文件。
    7):close 命令:只需要修改文件的标志和用户的标志,使文件可以打开
    8):read 命令:根据文件描述符找到该文件,然后读出文件中的content。
    9):write 命令:根据文件描述符找到该文件,然后在文件的content后面追加信息。
    10):sudo 命令:修改当前目录的信息,根据用户名从主目录中取出用户的编号,进行修改。
    11):adduser 命令:在主目录中添加一项,作为新用户。
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的算算

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值