数据查找与存放



1>.寻址定位:数据从哪开始到哪结束
2>.要实现快速存取数据,所以建立文件系统
3>.文件系统是一个管理软件,存储在磁盘的某个位置上的,并不是直接在这个分区上
4>.文件系统能将分区划分成两片
 概念:
 元数据(metabata)算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。
 元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。

 第一片叫元数据存储区
  1.编目:存放文件的名称+存储路径
    对应的数据放在哪些块上了,一共占据了哪些块,每个块都有编号
    编目中频繁添加删除信息,会产生很多离散内容空间,即碎片,此时再次查找这个编目中的条目,速度也会变慢,为了提升速度也会为它创建一个位图(bitmap),位图中的内容和编目中条目的内容是一一对应的,所以位图中是空闲的,对应的编目中条目空间也是空闲的。
    
    编目中的每个条目叫做索引节点(inode--index node),每一个inode都有一个全局编号。每一个inode号码用来引用一个文件
    
    每个inode条目存储的是:inode号,每个文件的属主和属组,扩展属性,权限,大小,时间戳,磁盘块的编号(指针),但是不包括文件名。
    
    编目中也有块位图(inode bitmap),目的为了查找inode和存储块的对应位置,从而找到文件名
    文件的访问,需要经过一个复杂的迭代过程(内核自找根-inode-块-dentry(目录项)-inode-块-直到找到文件),访问一次后会产生缓存,方便下次访问。
  2.有一个区域叫做块位图(bitmap):作用是加速查找空闲磁盘块的机制。每一个块在bitmap中有一个存储位来标记,存储位为1代表已使用,0代表未使用,所以扫面空闲空间存数据时不用扫描分区,直接扫描bitmap就可以了
 第二片叫真正数据存储区
  包含N多逻辑存储单元----块block,为了找寻空闲块方便,也会建立一个表:block bitmap

  例如: 360粉粹机:将块标记为空闲,之后在块里面填入随机数据
    复制:创建新文件,将原来块复制填充
    剪切:同分区快,不同分区先创建后复制再删除
 注意: i>.第一片和第二片区域一定要匹配
   ii>.真正的文件系统会有多个块位图,形成块组,当然在块组之上会有一个超级块来记录块组的信息。
    运行命令:mkfs -t ext3 /dev/sdb1后可以看到以下相关内容
    -------------------------------------------------------------------
    | BootBlock | Block Group 0 | Block Group 1 | ... | Block Group n |
    -------------------------------------------------------------------
    以Block Group 0为例
    -------------------------------------------------------------------------------
    | Super Block | GDT | Block Bitmap | inode Bitmap | inode Table | Data Blocks |
    -------------------------------------------------------------------------------
    解释: a. 任何分区的第0个块BootBlock是不能被使用的,是被预留出来的,叫做引导块。如果在这个分区上安装了系统,系统的Bootloader要放在这里。
       注意:很多人会认为Bootloader会放在MBR中,实际上MBR不属于分区,它是512字节扇区中的,这里的Bootloader放在BootBlock,只有在多系统互存时会用到。
       实际上BootBlock的信息会被MBR所调用,就像多系统开机一样,默认第一个系统是在MBR中引导,选择第二个MBR会指向其他分区的BootBlock中的Bootloader。
      b. Super Block会在特定标号的块组中有。
      c. GDT:块组描述表。包括当前分区上每个块组的块组名,每个块组的起始磁盘块,结束块的编号。所以不能损坏,需要备份。根据块个数不同它占用空间也会变化。
    总结:在一个磁盘分区内部,又分为多个逻辑区域,彼此间分隔开进行管理的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值