Linux 磁盘与档案系统filesystem

1 篇文章 0 订阅
1 篇文章 0 订阅

Block

逻辑区块block是在 partition 进行 filesystem 的格式化时, 所指定的『最小储存单位』,Block 的大小为 sector 的 2 的次方倍数.

假设我们在格式化的时候,指定 Block 为 4 KBytes ( 亦即由连续的八个 sector 所构成一个 block ),那么同样一个 10 MBytes 的档案, 磁头要读取的次数则大幅降为 2560 次

因此,在规划您的磁盘时,需要留意到您主机的用途来进行规划较佳!例如 BBS 主机由于文章较短, 也就是说档案较小,那么 Block 小一点的好;而如果您的主机主要用在储存大容量的档案, 那么考虑到效能,当然 Block 理论上,规划的大一点会比较妥当

Filesysystem

在标准的 ext2 档案系统当中,我们将每个档案的内容分为两个部分来储存,一个是档案的属性,另一个则是档案的内容.

ext2 规划出 inode 与 Block 来分别储存档案的属性( 放在 inode 当中 )与档案的内容( 放置在 Block area 当中 )

那么 inode 是什么?!简单的说, Block 是记录『档案内容数据』的区域,至于 inode 则是记录『该档案的相关属性,以及档案内容放置在哪一个 Block 之内』的信息。 

inode 记录的信息(当然不止这些): 

该档案的拥有者与群组(owner/group); 

该档案的存取模式(read/write/excute); 

该档案的类型(type); 

该档案建立或状态改变的时间(ctime)、最近一次的读取时间(atime)、最近修改的时间(mtime); 

该档案的容量; 

定义档案特性的旗标(flag),如 SetUID...; 

该档案真正内容的指向 (pointer); 

一个 inode 的大小为 128 bytes; 


当我们新增一个档案(目录)时: 

1. 根据 inode bitmap / block bitmap 的信息,找到尚未被使用的 inode 与 block , 进而将档案的属性与数据分别记载进 inode 与 block ; 

2. 将刚刚被利用的 inode 与 block 的号码 (number) 告知 superblock、inode bitmap、block bitmap 等,让这些 metadata 更新信息。 

一般来说,我们将 inode table 与 block area 称为数据存放区域,至于其它的例如 superblock、 block bitmap 与 inode bitmap 等记录就被称为 metadata 啰。经由上面两个动作,我们知道一笔数据写入硬盘时, 会有这两个动作。 


ext3:

1. 当系统要写入一个档案的时候,会先在日志记录区块中纪录:某个档案准备要写入磁盘了; 

2. 开始写入档案的权限与数据; 

3. 开始更新 metadata 的数据; 

4. 完成数据与 metadata 的更新后,在日志记录区块当中完成该档案的纪录。 

df命令:




du命令:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值