操作系统大实验二:简单文件系统的实现

出于简单起见,该文件系统是基于内存的,以下是各个文件:

 
1、内存资源管理(Disk.h, Disk.cpp)
2、文件读写接口(File.h, File.cpp)
3、主程序(main.cpp, my_shell.cpp)

目录项数据结构:
 
一个目录项包含了文件名和文件类型,当文件为目录时,起始盘块指示了目录表所在的盘块号,当文件为文件时,起始盘块指示了FCB所在的盘块号。

目录表数据结构:
 

  • 11
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
一个简单文件系统通常由以下几个部分组成: 1. 引导扇区:用于在系统启动时加载文件系统到内存中。 2. 超级块:存储文件系统的元数据信息,如文件系统大小、块数量、块大小等。 3. inode表:存储文件的元数据信息,如文件名、大小、权限、创建时间等。 4. 数据块:存储文件的实际数据内容。 下面是一个简单文件系统设计: 1. 块大小:假设文件系统的块大小为4KB。 2. 文件系统大小:假设文件系统大小为1MB,共有256个块。 3. 超级块:文件系统的第一个块为超级块,包含以下信息: - 文件系统大小:1MB - 块数量:256 - 块大小:4KB - inode表的起始块号:2 - 数据块的起始块号:10 4. inode表:文件系统的第2-9个块为inode表,每个inode占用128字节,共有64个inode。每个inode包含以下信息: - 文件名:最多8个字符 - 文件大小:4字节 - 文件类型:1字节,0表示目录,1表示文件 - 文件权限:1字节,包括读、写、执行权限 - 文件创建时间:4字节 5. 数据块:文件系统的第10-256个块为数据块,每个块大小为4KB。 6. 目录结构:在inode表中,第一个inode为根目录,其余的inode为文件。根目录中每个目录项包含以下信息: - 文件名:最多8个字符 - inode号:4字节 以上是一个简单文件系统设计,仅供参考。在实际实现中,还需要考虑文件系统的性能、安全性、恢复能力等问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值