关于磁道,扇区,inode,Hard Link和Symbolic Link
做程序员也两年多了,有些基础的东东,不碰了就很容易忘记。五一有时间,就看了一下Linux下相关的硬盘管理的资料,下面很多资料都是出自?http://linux-vbird.bluedata.org,( 的确是一个好网站啊!)
?
首先看看几个概念, 磁道,扇区,
?
http://baike.baidu.com/view/201129.htm 写道磁盘的每一面被分为很多条磁道,即表面上的一些同心圆,越接近中心,圆就越小。而每一个磁道又按512个字节为单位划分为等分,叫做扇区,在一些硬盘的参数列表上你可以看到描述每个磁道的扇区数的参数,它通常用一个范围标识,例如373~746,这标识,最外圈的磁道有746个扇区,而最里面的磁道有373个扇区,因此可以算出来,磁道的容量分别是从382KB到191KB。??
?
再来看看Linux是怎样划分硬盘的
?
?
http://linux-vbird.bluedata.org/linux_base/0220filemanager.htm 写道好了,知道了大体的硬盘构造之后,再来谈一谈怎么硬盘分割( partition )呢?我们在进行硬盘分割的时候,最小都是以磁柱为单位进行分割的,那么分割完成之后自然就是格式化( format )啰,在 Linux 里面我们在进行格式化的时候必须要考虑到 Block 与 inode 的信息,这个 block 还好理解,他是我们磁盘可以记录的最小单位,是由数个 sector 所组成的,所以他的大小通常为 n*512 bytes ,例如 4K 。那么 inode 是什么? Block 是记录『档案内容数据』的地区,而 inode 则是记录『该档案的属性、及该档案放置在哪一个 Block 之内』的信息!所以,每个档案都会占用到至少一个 inode 。而当我们 Linux 系统要找到这个档案时,他会先去搜寻 inode table 找到这个档案的属性及数据放置的地区,然后再到数据去找到数据存放的 Block 进而将数据取出利用。这个 inode 数目在一开始就会被设定好,他的设定方式通常是利用 ( 硬盘大小 / 一个容量 ),这个容量至少应该比 Block 要大一些较佳,例如刚刚的 Block 订为 4K ,那么 inode 可以订为 8K 左右。所以,一颗 1GB 的硬盘,如果以 8K 来规划他的 inode 数时,他的 inode 就会有 131072 个 inode 啦!而一个 inode 的大小为 128 bytes 这么大!这么一来的话,我们就可以清楚的知道了,那就是一个 partition 格式化为一个 filesystem 之后,基本上,他一定会有 inode table 与 data area 两个区块,一个用来记录档案的信息与该档案放置的 block 区块,一个用来记录档案的内容!?
关于Hard Link和Symbolic Link
?
?
http://linux-vbird.bluedata.org/linux_base/0220filemanager.htm 写道Hard Links: