详解Linux文件系统

先来研究一下磁盘:

LBA

磁头=面数  所有磁头是共进退的。

每个扇区的大小假设为:512

磁盘的总容量:盘面*t*s*512

数组的下标范围:盘面*t*s

 LBA:xxx 假设xxx为LBA地址

xxx/1000=h  及为h号盘面

xxx/100=c  及c号磁道

xxx%100=s 及s号扇区

OS为什么进行逻辑抽象

1.便于管理

2.防止OS的代码和硬件抢耦合!!!

虽然对应的磁盘访问的基本单位为512字节,但是任然很小。

OS内的文件系统会定制一种方案,同时进行多个扇区的读取。其大小通常为1KB,2KB,4KB

stat index.html

即使想要读取或修改1bit,也必须将4KBload到内存,进行读取或修改,然后在将其写入磁盘。

内存是被划分成为4KB大小的空间-----页框

磁盘中的文件尤其是可执行文件------按照4KB大小划分的块------页帧

ls -l读取存储在磁盘上的文件信息,然后显示出来

ls -li

显示文件的inode编号。

任何一个文件都在目录下,目录有属性和内容,故目录的数据块中放的是当前目录下文件名和iNode的印射关系。

在一个目录下创建文件,必须得有写入权限,向当前目录的内容中写文件名和iNode的印射关系。

读取时,必须通过文件名找到iNode,访问目录的数据块。

定位扇区

磁盘中定位任何一个扇区,采用的硬件基本的定位方式:CHS定位法。

柱面(磁道): 多盘磁盘,每盘都是双面,大小完全相等。那么同半径的磁道,整体上便构成了一个柱 面

每个盘面都有一个磁头,那么磁头和盘面的对应关系便是1对1的

所以,我们只需要知道,磁头(Heads)、柱面(Cylinder)(等价于磁道)、扇区(Sector)对应的编 号。即可在磁盘上定位所要访问的扇区。这种磁盘数据定位方式叫做 CHS 。不过实际系统软件使用 的并不是 CHS (但是硬件是),而是 LBA ,一种线性地址,可以想象成虚拟地址与物理地址。系统 将 LBA 地址最后会转化成为 CHS ,交给磁盘去进行数据读取。不过,我们现在不关心转化细节,知 道这个东西,让我们逻辑自洽起来即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值