栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

文件系统简介

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件系统简介

文章目录
    • 为什么要有文件系统
      • 如果没有文件系统
      • 什么是文件系统
    • 文件系统的三大作用:
      • 引出
      • 1.便于磁盘空间管理
      • 2. 方便数据组织和查找
      • 3. 提高磁盘利用率
    • linux文件系统

http://www.360doc.com/content/18/1117/00/99071_795394734.shtml
https://zhuanlan.zhihu.com/p/68904315

为什么要有文件系统 如果没有文件系统

如果我们不在硬盘本身建立文件系统,我们要直接面对硬盘的扇区。

先看看对于操作普通文件来说,意味着什么。
比如我们要写一个文件1.txt,里面写abc存入硬盘,如果没有文件系统我们要怎么做呢?
我们要拿着一个小本本,上面记着:

  • 文件名1.txt
  • 文件所在硬盘的扇区
  • 文件大小。
    每次要读写文件,我们要人工查询这个账本,知道我们要的文件在哪个扇区。如果文件A所在的扇区M已经写满了,随后的一个扇区M+1被文件B占用了,我们还想接着写文件A,怎么办呢?只能从其他地方找一个空闲扇区N,然后在账本上把扇区N记录到文件1.txt上

还有:我们如何知道硬盘上还有哪些空间可以用呢?难道每次都从前往后把扇区使用情况计算一遍吗吗?可能还需要另起一个账本记录扇区使用情况,删除文件,我们把对应的扇区标记为空闲,如果创建文件,把对应的扇区标记为不能使用。等等一系列操作。

什么是文件系统

文件系统定义:一个对磁盘空间进行管理,实现数据存取的系统。
文件系统存在的意义,就是能更有效的组织、管理和使用磁盘上的数据。实质上,它简化了用户对磁盘空间的使用方法。
所以简而言之:文件系统就是为了用户更方便的使用硬盘。有了文件系统,我们直接将abc写入1.txt。然后扔给一个目录,这个目录下的文件就存到了硬盘中。下次我们读就再次从这个目录下取这个文件就ok了。所有的需要记录的信息,寻址等操作,都由文件系统来帮我们完成。非常类似于我们生活中的快递公司,我们只需要把要寄的物品交给快递员,他会给你打包,然后装箱,然后找地址,路线选择,你都不用管了,全部由快递公司完成。

通过文件名就可以找到具体的数据,而不用关心数据到底是怎么存储的。

文件系统的三大作用:

https://zhuanlan.zhihu.com/p/55037128

引出

磁盘的控制器已经替我们做了很多事情,它对这些内部的结构进行了统一管理,呈现给我们的只是一个线性的地址。比如一个1T的硬盘,其呈现给我们的就是从0字节开始,以1字节递增,直到1TB的地址空间。当然,机械磁盘可进行读写的最小粒度为1个扇区(512字节或者4K就这两种)

既然可以这么方便的访问磁盘空间了,那为什么还要文件系统呢?

引出文件系统三大作用:

  1. 便于磁盘空间的管理
  2. 方便数据的组织和查找
  3. 提高磁盘空间的使用率
1.便于磁盘空间管理

一个文件如果大小1G,比如存储到0-1G位置,第二个文件大小2G,你存到1-3G位置。但是这时你要删除第一个文件再存第二个,你找到第一个删除了,然后想把第二个放进去,发现不够大,只能放到最后面。也就是每次你都要评估你的硬盘空间大小,然后添加删除文件数据。这非常麻烦,有了文件系统,你只需要把文件扔进某个文件夹,或者直接删除掉文件。

2. 方便数据组织和查找


文件系统帮我们用树的形式进行了规划,非常方便用户记忆和查找。如果没有他,用户只能自己去记录位置然后查找所需文件。

3. 提高磁盘利用率

使用文件系统之后,文件系统会将磁盘空间切割为比较小的存储单元(例如4K或者8K等)一般划分成对应4Ksecotor,进行管理。如果出现释放空间产生空洞的情况,文件系统内部会进行空洞和数据的交换,从而生成比较大块的可用磁盘空间。这样从整体来说就极大地提升了磁盘的整理使用率。减少空间浪费。

linux文件系统

目前在Linux操作系统中支持很多种文件系统,包括Ext2、Ext4、Btrfs和XFS等,多达几十个文件系统。虽然支持的文件系统种类很多,但从用户层面使用方式无任何差别,用户并不感知其中的差异。对于普通用来说,数据都是组织成上文所述的树状结构。那么这种方式是如何实现的呢?

Linux操作系统对各种文件系统的支持是通过名为VFS的组件实现的,也就是虚拟文件系统(Virtual File System)。如图5所示,VFS作为一个抽象层,为用户提供统一的接口,屏蔽了其它具体文件系统(例如Ext4和Btrfs等)的实现。VFS为用户提供了open、close、read和write等接口。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号