• 文件系统管理


    磁盘分区之后还要进行格式化,之后系统才能够使用这个分区。为什么需要进行格式化?这是因为每种操作系统所设定的文件属性/权限不相同,为了存放这些文件所需的数据,因此就需要将分区继续南行格式化,以称为操作系统能够利用的文件格式。

    文件系统:
        -superblock:记录文件系统的整体信息,包括inde/block的总量,使用量,剩余量,以及文件系统的格式相关信息等。
         -inode:记录文件的属性,一个文件占用一个inode,同时记录文件数据所在的block号。
         -block:实际记录文件的内容,若文件太大,会占用多个block。
     
      ext2文件系统就是基于inode的文件系统,inode与block在文件系统格式化的时候就确定下来,以后就固定不变,除非重新格式化。但是将所有的inode与所有的block放在一起不容易管理,所以ext2采用区块群组的方式(block group)来进行管理,即ext2文件系统在格式化的时候,将需要格式化的分区格式化为多个区块群组(block group),每个区块群组中都有inode、block(可能会有super block)。每个文件系统前面都会有一个启动扇区,里面存放开机管理程序(这样就可以将不同系统的开机管理程序安装在各个文件系统的最前端,用来实现多重引导)。
     
      在linux ext2文件系统中建立一个目录时,ext2会分配一个inode与至少一个block给改目录,其中inode记录该目录的相关权限与属性,并记录分配到的那块block的号码,而block则是记录在这个目录下的文件名与该文件名占用的inode号码数据。因此inode不记录文件名,文件名都是记录在目录的block中。
      硬链接:就是多个文件名指向同一个inode。(不能跨文件系统,不能连接目录)
      符号连接:就是建立一了个文件,并为1其分配了一个inode、一个block,其中block中记录着该文件要连接的文件名,然后文件系统找到该文件名对应的inode,然后读取数据。(相当于windows的快捷方式)。
     
     

  • 相关阅读:
    python中F/f表达式优于format()表达式
    java8新特性-foreach&lambda
    Java实现多线程的四种方式
    Java中的字符串常量池,栈和堆的概念
    java对象只有值传递,为什么?
    面向对象和面向过程程序设计理解及区别
    String对象为什么不可变
    mybatis_plus插件——生成器
    基于grpc的流式方式实现双向通讯(python)
    Django使用DataTables插件总结
  • 原文地址:https://www.cnblogs.com/hujingwei/p/5957083.html
Copyright © 2020-2023  润新知