Linux 文件系统

什么是文件系统?

文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。这的方法指的是文件管理系统(程序),简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

常规认知:根目录就是文件系统(文件系统目录结构是从根目录开始的)
严谨来说文件系统是文件管理系统,是一个程序,简称文件系统。

文件系统(文件管理系统的方法)的种类有哪些?

FAT,NTFS,CDFS,Ext2/3/4 ZFS HFS VFAT 。。。

Windows的文件系统是NTFS
在这里插入图片描述
Linux的文件系统就是Type那一列
查看文件系统的命令df -T
在这里插入图片描述
ext4:根目录分区
vfat:boot(bootloader,kernel)
tmpfs:内存文件系统

什么是分区?

Windows面向普通用户
比如Windows操作系统的C盘,D盘 通常C盘是系统盘,Windows没有那么严格,很随意

用Linux的大多都是开发者
而Linux操作系统按照功能来分区,每个分区严格存放文件
嵌入式系统可以分为4个区,分别是bootloader、para、kernel、根分区等
bootloader:启动代码
para:启动代码向内核传递参数位置
kernel:内核分区
根分区:文件系统结构

  1. 在嵌入式系统中,没有swap分区,只有实际的物理空间。
  2. bootloader、para、kernel这三个分区的功能类似于Linux系统中的/boot分区,这三个分区分别存放嵌入式系统的启动代码和内核。
    注:Linux系统中/boot分区内存放着linux启动代码和内核源码。
  3. 根分区(/)可以构造,其功能类似于Linux系统中的根分区.在这个分区中可以创建许多目录,比如/root、/home、/usr等,但不能创建/boot目录。
  4. 分区bootloader、para、kernel只能由地址来区分,而根分区只能由目录来区分。
  5. 嵌入式系统的驱动程序、上层软件都放在根分区.在嵌入式系统启动后,系统无法查看到bootloader、para、kernel这三个分区。

Windows操作系统磁盘是连续的,比如C盘有一个游戏,那么这游戏肯定在一个连续的分区里面

但对于linux来说,磁盘不是连续的,可能来自不同的分区
在这里插入图片描述
从下图明显能看出来自不同的分区
在这里插入图片描述

文件系统目录结构

文件系统目录结构就是根目录,在Windows目录即分区,但是在Linux目录不是分区

/bin 存放我们常用的一些指令
/boot 存放系统启动时相关的文件,比如kernel内核,grub引导菜单
/home 存放普通用户的家目录
/etc 存放配置文件的目录

细节部分可以点蓝字看下面那篇文章
Linux文件系统目录结构

虚拟文件系统(vfs)

什么是vfs?
虚拟文件系统(Virtual File System)就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用的接口

vfs有什么作用?
简化应用程序员的开发,不管是什么文件类型,不管文件是磁盘还是设备,都只用open read write统一操作。

比如cp指令,cp不需要知道文件是什么类型的,它只需要调用标准的系统调用,比如 read、 write,把底层文件系统不同带来的复杂度交给 kernel。

在这里插入图片描述
比如说我要打开test.config这个文件,这个文件文件在硬盘里面,实际我们需要先到VFS,然后由VFS发配才打开。本来我们打开不同的文件要不同的API,现在只需要一个open就可以打开不同类型的文件,对于上层应用开发师来说简单了许多。

内核结构框图

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小阿大:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值