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下/proc目录详解

    Linux下/proc目录详解 proc目录总的概述 proc下有关进程的目录概述 proc下针对Linux系统相关的参数目录概述 /proc目录总的概述 1.首先,我们可以使用ll命令查看下/proc目录,如下 [root@centos6 ~]# ls -l /proc total 0 dr-xr-xr-x. 8 root root 0 May 19 04…

    Linux干货 2017-05-20
  • nginx 配置参数说明和实验

    nginx.org 实验版本: 1.10.2 相关命令: # nginx -t //检查配置文件格式 #nginx -s reload //重新载入配置文件 实验: 主配文件大概组成 主配置文件的设定 /etc/nginx/nginx.conf events{..} //事件驱动相关 http{..} //网站服务相关 全局配置段解读与实验: user ng…

    2017-05-12
  • lvs集群学习笔记之原理

    lvs集群学习笔记之原理 lvs集群学习笔记之原理 集群 负载均衡 lvs 原理 lvs集群学习笔记之原理 什么是集群 什么是负载均衡 负载均衡解决方案 lvs简介 lvs内核空间模型 lvs特点 lvs实现方式 lvs实现方式之nat模型 lvs实现方式之dr lvs实现方式之tun lvs实现方式之FULLNAT lvs之算法 静态算法   &…

    Linux干货 2017-01-03
  • MySQL主从复制:半同步、异步

            MySQL主从复制:半同步、异步 前言 如何对MySQL进行扩展? MySQL Replication WorkFlow MySQL主从复制模式 实战演练 MySQL异步复制实现 MySQL半同步复制实现 实验中的思考 总结 mysql 前言 本篇我们介绍MySQ…

    Linux干货 2016-04-28
  • linux基础知识1

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。文件管理工具:cp,mv,rmcp命令:copy源文件:目标文件单源复制:cp [OPTION]… [-T] SOURCE DEST多源复制:cp [OPTION]… SOURCE… DIRECTORYcp [OPTION]… -t DIRECTORY SOURCE…单源复制:如果DES…

    2018-03-12
  • 网络接口配置–Bonding

    网络接口配置–Bonding Bonding        就是讲到快网卡绑定到同一IP地址对外服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡被修改为同一MAC地址。 一 Bonding …

    Linux干货 2017-05-07