自己设计自己的文件系统

文件系统是操作系统的关键组成部分,本文介绍了如何设计和实现一个针对流媒体存储的本地文件系统。通过创建super block、FAT和数据区,保证了数据的可靠性和正确性,并通过缓存、申请窗口和命令队列机制提升访问性能。
摘要由CSDN通过智能技术生成
文件系统是某些操作系统必然包含的模块,对系统中存储介质的访问以同一的系统接口进行管理,完成read ,write,ioctl等操作。
按照实现方式,可分为传统的单机版的文件系统和网络分布式的文件系统。
分布式文件系统通常应用网络技术和协议,将分散的各个数据资源进行同一管理的系统形式。
嵌入式操作系统上的文件系统,或者说传统的文件系统一般是单一的本地数据管理系统。例如常用的FAT Ext2 yaffs 等。
这里说的就是这种传统的文件系统。

目前有许多成熟的和开源的文件系统,通用型的或者针对具体应用场合的。根据自己系统的需要选取成熟的文件系统,是最可取的一种方式。但是有时为了提高系统性能,往往根据自己的需要对文件系统进行改进甚至自己实现一个理想的文件系统,也是非常必要的。这里就是结合文件系统实现的基本原理,结合一个针对流媒体存储文件系统的应用例子,来描述一下自己实现的文件系统的原理,希望能够起到抛砖引玉的作用。

一般的存储介质包括hdd, flash,eeprom,ram...... 根据不同硬件介质的特性,在保证正确可靠,高性能的情况下,都有特定的文件系统支持。这里以在hdd块设备上实现文件系统为例。其实文件系统完全可以屏蔽底层驱动接口,但不同的硬件特性,可以有特定的文件系统,还是有点区别,这里就不详细说明。

就如其他模块设计一样,首先要保证系统正确可靠,然后是想法提高系统性能。在这样的设计思想下,如何针对自己对文件访问的应用,设计出合理可靠的存储结构和高效的访问机制,是系统设计的关键。

一般说,在介质加载的起始地方,肯定要包含文件系统的基本信息(有的还有boot信息,包括分区信息࿰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值