zoukankan      html  css  js  c++  java
  • 文件系统

    我们都知道磁盘分区完毕后还需要进行格式化(format),之后操作系统才能够使用这个文件系统。 为什么需要进行“格式化”呢?这是因为每种操作系统所设置的文件属性/权限并不相同, 为了存放这些文件所需的数据,因此就需要将分区进行格式化,以成为操作系统能够利用的“文件系统格式(filesystem)”。
    由此我们也能够知道,每种操作系统能够使用的文件系统并不相同。 举例来说,windows 98以前的微软操作系统主要利用的文件系统是 FAT (或 FAT16),windows 2000 以后的版本有所谓的 NTFS 文件系统,至于 Linux 的正统文件系统则为 Ext2 (Linux second extended file system, ext2fs)这一个。此外,在默认的情况下,windows 操作系统是不会认识 Linux的 Ext2 的。
    传统的磁盘与文件系统之应用中,一个分区就是只能够被格式化成为一个文件系统,所以我们可以说一个 filesystem 就是一个 partition。但是由于新技术的利用,例如我们常听到的LVM与软件磁盘阵列(software raid), 这些技术可以将一个分区格式化为多个文件系统(例如LVM),也能够将多个分区合成一个文件系统(LVM, RAID)! 所以说,目前我们在格式化时已经不再说成针对 partition 来格式化了, 通常我们可以称呼一个可被挂载的数据为一个文件系统而不是一个分区喔!

    1、文件系统

    文件系统是规定数据信息在磁盘上存储的格式。
    windows的常用文件系统有2种:FAT和NTFS
    Linux的常用文件系统有2中:ext3、xfs

    2、如何查看文件系统格式:

    (1)win7查看文件系统格式:
    计算机-》右键-》管理-》磁盘管理

    (2)Linux查看文件系统格式:
    parted -l

    3、文件系统延伸学习
    比如:
    windows的文件系统:
    FAT格式:早期的windows使用,如windows2000中
    NTFS格式:win2003、window7和之后的在使用
    FAT32最大分区为32G,NTFS分区最大为2TB。一般电脑硬盘等大容量的存储设备的文件系统格式都是NTFS;U盘、内存卡等小型存储设备的文件系统格式则是FAT。

    Linux常用的文件系统:
    EXT2格式:Linux 最传统的磁盘文件系统
    linux常见的文件系统有:JFS、 ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、 SMB、SysV、PROC等 等老多了。

    “格式化”的时候,我们可以格式化成什么文件系统的意思。下面分别谈谈各个文件系统项目

    ext2/ext3/ext4:Linux早期适用的文件系统类型。由于ext3/ext4文件系统多了日志的记录, 对于系统的复原比较快速。不过由于磁盘容量越来越大,ext 家族似乎有点挡不住了~所以除非你有特殊的设置需求,否则近来比较少使用 ext4 项目了!

    xfs:这个是目前 CentOS 默认的文件系统,最早是由大型服务器所开发出来的! 他对于大容量的磁盘管理非常好,而且格式化的时候速度相当快,很适合当今动不动就是好几个 TB 的磁盘的环境喔!因此我们主要用这玩意儿!
    vfat:同时被Linux与Windows所支持的文件系统类型。如果你的主机硬盘内同时存在Windows与Linux操作系统,为了数据的交换, 确实可以创建一个vfat的文件系统喔!


    swap:是Linux系统中的一个swap硬盘分区,用于内存不够时,充当临时内存用的。就是磁盘仿真成为内存,由于swap并不会使用到目录树的挂载,所以用swap就不需要指定挂载点喔。
    BIOS Boot:就是 GPT 分区表可能会使用到的项目,若你使用 MBR 分区,那就不需要这个项目了!

    那么文件系统是如何运行的呢?
    文件系统 重点在于 inode, block 还有 superblock 等文件系统的基本部分。

    这与操作系统的文件数据有关。较新的操作系统的文件数据除了文件实际内容外, 通常含有非常多的属性,例如 Linux 操作系统的文件权限(rwx)与文件属性(拥有者、群组、时间参数等)。 文件系统通常会将这两部份的数据分别存放在不同的区块,
    权限与属性放置到 inode 中,
    至于实际数据则放置到 data block 区块中。
    另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。

  • 相关阅读:
    iOS技术框架构和更新版本的技术特性
    iOS第三方常用类库
    查看MySQL系统变量的命令
    解决WIN7下VMWARE虚拟机无法上网问题
    MySQL性能优化的最佳20+条经验
    PHP高效率写法(详解原因)
    google官方建议使用的网站性能测试工具
    ETL工具-KETTLE教程 实例实战4----转换(值映射、列转行,增加常量、增加序列等)
    ETL工具-KETTLE教程实例实战2----环境介绍
    ETL工具-KETTLE教程实例实战1----术语和定义
  • 原文地址:https://www.cnblogs.com/andy9468/p/12938994.html
Copyright © 2011-2022 走看看