• Linux 磁盘管理篇,目录管理(一)


    目录:
        当我们在linux的ext2档案建立一个目录时,ext2会分配一个inode与至少一块Block给该目录,其中inode记录该目录在相关属性,并指向分配到在那块Block,而block则会记录在这个目录下在相关联在档案(或者目录)在关联性

    档案:
        当我们在linux胡ext2档案建立一个档案时,ext2会分配至少一个inode与相对于该档案大小在Block数量给该档案

    inode本身并不记录文件名,而是记录档案在相关属性,文件名储存在目录所属在block区域


    ext2与ext3档案在建立时,就已经设定好固定在inode数与block数目了

    一个inode占用128bytes大小的内存空间
    一个block号码需要4bytes大小的空间
    一个block大小可以为1k,2k,4k
    一个superblock大小为1k

    一个inode分为文件属性权限记录去和12个直接区,一个间接区,一个双间接区,一个三间接区
    所以单个文件能够储存的大小为(以每个block为1k时测试):
    (12 + (1024 / 4) + (1024 / 4)^2 + (1024 / 4)^3) * 1024k = 16G

    Superblock记录如下信息:
    1.block与inode的总量
    2.未使用block和inode的数量
    3.block和inode的大小
    4.文件系统的挂载时间写入数据时间...
    5.一个validbit数值,如果为0则表示已挂载,如果为1则表示未挂载

    当新增一个文件或者目录时:
    1.先确定用户对目录是否具有w和r权限,如果有的话才可添加
    2.根据inode bitmap找到没有使用的inode号码,并将新文件的权限和属性写入
    3.根据block bitmap找到没有使用的block号码,并将实际的数据写入block中,且更新inode的block指向数据
    4.将刚才写入的inode和block同步更新inode bitmap和block bitmap,并跟新superblock

    /proc挂载点的数据都是0,这是因为它是系统数据,挂载在内存当中
    /dev/shm挂载点的数据是利用内存虚拟出来的磁盘空间,所以数据访问非常快,但是系统一开机就没了

  • 相关阅读:
    1.2变量声明的意义
    1.1两个char类型数据相加后,转化为int类型
    欢迎使用CSDN-markdown编辑器
    python-布尔表达式
    程序基本机构
    Python math库和random库
    Python中类型的概念(一)
    Python turtle库的应用——蛇
    Python语法元素分析
    程序设计基本方法
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700619.html
Copyright © 2020-2023  润新知