Linux文件系统

  文件系统是一个逻辑上的概念,本身与磁盘没有什么关系,它是一个外围性永久存储设备,我们知道,计算机共有五大部件,存储设备是一种,内存是个临时性质的存储设备,无论是关机还是断电,存在里面的数据都会消失,我们需要一个永久性存储的设备,来弥补内存只是临时存储性。

  对于Linux来说,其哲学思想之一就是一切皆文件,我们Linux上的访问设备全是通过文件接口来实现的,这就如同说我们访问设备如同访问一个文件一样。因为它们都是使用的是文件系统接口。

  在操作系统中,管理磁盘的文件系统有很多种,Windows的NTFS和FAT,Linux的EXT、xfs系列等都是管理磁盘的文件系统,不过它们的分区方式不一样,Windows分区方式就是直接就是分为C盘和D盘,两个都是相互独立的,让我们很直观看到,而Linux不是,Linux是除了”/”以外,你就看不到其它任何的独立分区,但这并不代表它不能支持多个文件系统,只不过我们就是带着”/”一起访问罢了。

  当我们格式化完成以后,我们的用户以为格式化就是能删除所有的数据,这个本质倒是也没错,不过有点不同的就是,格式化是写文件系统的,它会把磁盘按照逻辑上划分为元数据区域和数据区域,元数据区域记录的是Inode节点和超级快等位图信息,数据区域才是真正存储的数据,我们的格式化分为低级格式化和高级格式化,低级格式化是厂商在硬盘上划分出一个个磁道,而高级格式化是我们用户要使用磁盘在逻辑上建立的一种文件系统。

  在文件系统上我们大部分看到这么两类,一种是目录,一种是文件,其实目录是一个特殊的文件,它是一种路径的映射,在逻辑上建立文件系统之后,我们就可以使用磁盘了,它们的创建过程相对来说从概念上理解也不是那么容易,首先,它们要将磁盘在逻辑上划分一个一个的块儿,这些块的大小是根据你规划的分区容量自动来给你进行设定的常见的从1K到4K,然后我们在元数据区域建立一个位图,这个位图是标识那个块是被使用,使用的话,标记为1,没有使用的话,标记为0,不过,在前面的512个字节你是没办法使用的,不但没办法使用,要是破坏了你的系统开机就启动不了,这个分区就叫MBR它是记录了你操作系统的bootloeader,用于加载内核,然后64个字节中,每16个字节记录一个分区,总共可以表示四个主分区,最后2个字节是你的验证,如果划分好分区的话,会显示55AA。

  我们继续上次位图的话题,使用的话,标记为1,不使用的话,标记为0,但是我有一千个位图,要存储数据的话,位图查找半天,才查找第五百个是0,这也是一件很麻烦的事情,所有就开始事先把这些个块划分成为一个一个的块组,各自管理自己的,数据存储的时候,可以在这个块儿上存储一个,可以在另一个块上存储一个,提高了硬盘的写入速度。

  还有一个就是超级块,它的作用就是存储文件系统的大小,有多少是空的和已经填满的占用多少,以及它们各自的总数和其它诸如此类的信息。要使用一个数据来进行数据访问,那么第一个要访问的就是超级块。所以,如果超级块坏了,那磁盘就真的没有救了

  超级块占用第1号物理块,是文件系统的控制块,超级块包括:文件系统大小、空闲块的数目、空闲块的索引表、以及空闲i节点的数目,空闲i节点的索引表、封锁标记等。超级块是系统为文件分配存储空间。

原创文章,作者:刘 祥宇,如若转载,请注明出处:http://www.178linux.com/58948

(0)
刘 祥宇刘 祥宇
上一篇 2016-11-11 14:31
下一篇 2016-11-12 20:39

相关推荐

  • Linux中的用户、组和权限的管理

    一、Linux的安全模型     在Linux中用户登陆时必须提供用户名和密码(用户是由root用户创建的,最初的密码也是root用户设定的)。系统使用用户和群组来控制使用者访问文件和其他资源的权限。每一个文件都一定属于一个用户(一般该用户就是文件的创造者)并与一个群组相关。每一个进程(处理程序)都会与一个用户和群组关…

    Linux干货 2016-08-07
  • samba服务实现:linux和windows之间共享

    1,首先在linux(centos6,7)安装好samba程序:     yum -y install samba   samba-common        主配置文件:/etc/samba/smb.conf   ~]# groupadd share_gro…

    2017-03-05
  • 马哥教育网络班第21期+第五周课程作业

    1、 显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@redhat6 ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf   2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的…

    Linux干货 2016-08-08
  • 第四周作业

    1. 复制/etc/skel目录为/home/tuser1,要求/home/tuser1以及内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel  /home/tuser1 chmod go-rwx /home/tuser1 2. 编辑/etc/group文件,添加组hadoo…

    Linux干货 2016-12-27
  • Linux学习总结及练习&day08-sed文本处理工具

    第一部分、Linux文本处理三剑客之sed(Stream EDitor)文本编辑工具     一、sed的基本功能工作原理     sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令…

    Linux干货 2016-08-10
  • Linux基础 文件权限

    概述 从接触linux第一天开始,Linux一切皆文件的哲学思想就深植于每个linuxer的心中,因此,实现Linux的系统安全必然绕不开文件权限。文件的权限是建立在用户的基础上的,脱离了用户,文件权限也就变得毫无意义了。用户、组和文件权限一起铸就了linux的系统安全模型。本文主要从文件权限方面了解Linux的安全模型。 文中主要讲解了: 1. 文件权限r…

    Linux干货 2016-08-05