Unix/Linux
以下内容全部整理自互联网,如果有侵犯请告知。
什么是文件系统:
计算机的文件系统是一种存储和组织计算机文件和数据的方法,它使得对其访问和查找变得容易。文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。但是,实际上文件系统也可能仅仅是一种访问数据的界面而已,实际的数据是通过网络协议(如NFS、SMB、9P等)提供的或者内存上,甚至可能根本不存在对应的文件(如 proc文件系统)。
严格地说, 文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型。
文件系统的分类:
文件系统的类型可以分为磁盘文件系统、网络文件系统和特殊文件系统。
磁盘文件系统
磁盘文件系统是一种设计用来利用数据存储设备来保存计算机文件的文件系统,最常用的数据存储设备是磁盘驱动器,可以直接或者间接地连接到计算机上。例如:FAT、NTFS、HFS、HFS+、ext2、ext3、ext4、ISO 9660、ODS-5和UDF。 有些文件系统是进程文件系统(也有译作日志文件系统)或者追踪文件系统。
数据库文件系统
文件管理方面的一个新概念是一种基于数据库的文件系统的概念。不再(或者不仅仅)使用分层结构管理,文件按照他们的特征进行区分,如文件类型、专题、作者或者亚数据进行区分。于是文件检索就可以按照SQL风格甚至自然语言风格进行。
例如BFS和WinFS。
事务文件系统
网络文件系统(NFS)
网络文件系统是FreeBSD支持的文件系统中的一种, 也被称为 NFS。 NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
以下是NFS最显而易见的好处:
- 本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
- 用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。
- 诸如软驱,CDROM,和 Zip® 之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。
NFS是如何工作的
NFS 至少包括两个主要的部分:一台服务器, 以及至少一台客户机, 客户机远程地访问保存在服务器上的数据。要让这一切运转起来, 需要配置并运行几个程序。
服务器必须运行以下服务:
| 服务 | 描述 |
|---|---|
| nfsd | NFS,为来自NFS客户端的 请求服务。 |
| mountd | NFS挂载服务,处理nfsd(8)递交过来的请求。 |
| rpcbind | 此服务允许 NFS 客户程序查询正在被 NFS 服务使用的端口。 |
客户端同样运行一些进程,比如 nfsiod。 nfsiod处理来自NFS的请求。这是可选的,而且可以提高性能,对于普通和正确的操作来说并不是必须的。 参考nfsiod(8)手册获得更多信息。
特殊用途的文件系统
参考文献:
维基百科:文件系统 http://zh.wikipedia.org/w/index.php?title=%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F&variant=zh-cn
ext3 http://zh.wikipedia.org/w/index.php?title=Ext3&variant=zh-cn
网络文件系统 http://www.freebsd.org/doc/zh_CN/books/handbook/network-nfs.html