首先从下面的统计图说起。该图是Linux源码中各类系统所占的比例。可以发现设备驱动占内核源码中最大一块,紧接着是架构。这两块占据了超过70%。文件系统是除此之外的第三大块,其重要性不言而喻。Linux内核中文件系统有不下60种。但是各类文件系统的差异性并不是天生的,这与驱动程序不同。驱动程序的差异性是因底层设备的差异决定的,因而彼此间天然地存在差异。文件系统则与此不同,它们都与一样的底层块设备接口打交道,都向上提供一样的接口,其差异存在于具体设计和实现中。正因为这种差异的后天性,所以各种文件系统之间会互相学习,一种文件系统的某种功能或特性,往往过了一阵子就会出现在另一种文件系统中。
文件是类Unix系统中最为重要的概念,没有之一。这种重要性直接来自于UNIX的哲学:“一切都是文件”。试想如果我们在类Unix系统执行不了ls、

文件系统在Linux内核中占据重要地位,开发者面临接口复杂、内核调试困难、系统复杂性、关键性、封闭性开发、市场空间有限、用户对数据安全敏感以及易背黑锅等八大挑战。文章探讨了这些困难,并指出尽管如此,存储领域的持续发展仍为文件系统开发提供了机遇。
最低0.47元/天 解锁文章
3676





