如何理解Linux中文件系统和分区的概念?

从操作系统概念上讲,文件系统可以说是与进程调度、内存管理等子系统并驾齐驱的一大子系统,主要负责数据的组织、存储与检索。
它不是指一个实体的存储设备,而是指管理存储数据的格式与方法。操作系统为了让磁盘数据以文件的方式展现,于是有了文件系统,
方便数据的管理,方便数据的组织。分区进行格式化,实际上是在创建文件系统(文件系统,文件的系统,管理文件的系统),让堆在
磁盘里的数据能够借助文件系统这种软件以人类友好的方式展现出来。

分区是在逻辑上对磁盘进行划分。分区只是创建并设置了分区表,将一个大的磁盘划分成逻辑的几小块,不是真的对磁盘硬件进行分
区,将块设备(如硬盘)按照其物理地址分成若干区域作为可独立管理的“子”设备,分区只是划分了块设备的地址空间,是一种静态
划分。而文件系统则是规定对一片块地址空间的组织方式,既有静态组织更有动态管理,这两个不是一个概念。

除了磁盘文件系统,还有网络文件系统,内存文件系统。磁盘文件系统和网络文件系统。
df命令看到的devtmpfs、tmpfs,就是内存文件系统,就是把内存当作磁盘,所以这个文件系统速度超快,因为是内存的速度。操作
系统在启动的时候,会自动创建一些内存文件系统用来提供系统所需的特殊的功能。


图:使用df -h 查看各个分区的磁盘使用情况

问题:/dev/sda1不是分区吗,为什么会显示在file system下

/dev/sda1不是文件系统,是设备名或分区名,是整块磁盘划分成小块分区后的"小"设备。磁盘整体是块设备,所以/dev/sda是块
设备类型,分区之后的小分区/dev/sda1也是块设备。对于分区,也就是没有格式化且没有挂载的块设备,程序也能直接向里面读写数
据,但不是以文件形式读写的,而是二进制裸数据形式。

分区之后需要对它格式化才有文件系统,这时候才有了文件的概念,还需要将分区进行挂载,这个分区才能最终以文件的形式暴露给用
户,用户才能跟这个磁盘分区中的数据以文件的形式进行IO交互。

posted on 2020-12-22 16:22  淡望流云浮生录  阅读(437)  评论(0)    收藏  举报