同学们好,今天我们来继续讲 minix 系统基础课程,我是讲师李庆茹,今天我们来讲第七章 minix 文件系统里面的第二个内容,文件系统的基础。 那么问什么是文件系统呢?文件系统呢?其实就是操作系统啊,用于明确存储设备或分区啊 上的文件的方法和数据结构啊,这个比较弱啊,这是百度百科里面的一句话。 那么实际上什么是文件系统?通俗的讲,文件系统就是我们如何在存储设备上来组织文件的这种方法啊,因为将来我们把一些文件存储在我们的存储设备上以后, 那么我们要进文件进行读和写,那么也就是说我们希望呢,将来我们在找找文件以及往文件系统,往往往这个词盘上来写文件内容的时候效率要更高。 那实际上就是我们文件系统每一种文件系统他的性能可能不一样,这文件系统的种类非常多,他和操作系统有关系。 你比如说利尼克斯里面,现在我们用的比较多的啊,像在渗透 s 六默认的时候,我们用 est 四文件系统, 现在我们这个是镜头 s 七了,默认是叉 fs 文件系统。那么这这些都是日志型类型的一种文件系统 啊,这是另一个词里面一般用这个啊。那像 windows 呢? windows 里面常见的 呃,有 nt f s, 像 fat five 这个文件系统比较早了啊,像比尔盖茨也参与过这个呃, fat 的这个设计,那么 nt fs 是新一代技术的文件系统,那么这是 windows 里面所使用的, 也就是说文件系统和操作系统是有关系的,因为每一种操作系统他组织文件的方式是不一样的, 我刚才也给大家说了,他每一个分区他都可以弄成不同的文件系统。你比如说我画了三个分区,我第一个分区是 est 四,那我第二个分区是叉 s, 我第三个分区是 nt f s, 可不可以啊?可以啊,是可以的,但是大家 要注意,你比如说 windows 里面是识别 nt f s 啊,使用这种存计文件系统的,如果你拿一个 est 四的分区挂到啊这个 windows 这个操作系统上,那 windows 系统不识别他,他认为他是没有格式化的一块没有使用的一块硬盘, 因为他不识别这种文件系统。但是丽丽克斯呢?这种操作系统呢,他识别多种这个文件系统,像 ntis 这种,我也丽丽克斯里面也是可以识别的啊,那这是文件系统,那文件系统的最终的目的就是为了快速的读写文件, 那么在文件系统当中呢?拎那个文件系统当中,我们提出两个非常重要的概念,那就是什么呀?啊?不唠嗑啊?第一个叫不唠嗑,这个不唠嗑是数据存储的最小单元 哎,那一个 bluk 多大呢?幺零二四字接,或者是二零四八字接,或者是四零九六字接,这个你可以自己来定。 那为什么要引入这个 bluk 呢?因为我们前面讲硬盘的时候,硬盘里面的这个物理单元,其实最小的是山区,山区是五百一七二之间。 那为什么还要演出不唠嗑的概念来呢?大家可以想一想,比如说我们现在啊,有一个一百兆的文件,一百兆的文件啊,对于我们现在来说,其实他都不是很大 啊,那一百兆相当于多少 k 呢?一兆等于幺零二四 k, 那就是幺零二四零零啊,这个 k, 幺零四这个 k, 那一 k 等于多少字节呢?一 k 等于多少个这个 字节呢?一 k 等于幺零二四字节,幺零四节相当于两个山区,因为一个山区五百一十二字节嘛,所以那这个就相当于多少个山区呢?二零四八零零个,什么呀?山区, 因为将来啊,你这一百兆的文件要存到我们这个硬盘上,还要占二十万五千八百个山区, 那如果我们以山区为这个单位来存储我们的数据的话,那我们的磁头相当于要对二十多万个山区进行读写操作,其实这个我们称之为一次这个词作读写操作,我们称为在计算键呢,我们称为艾欧,艾欧操作, 那 io 操作太大了,有二十多万次,这是还是一一百兆的文件啊,那么所以 为了让我们的 io 呢,减少降低我们的 io 次数,所以我们才引入了谁的概念呀?不唠嗑, 大家可以想一下,如果我这一个不唠嗑是四 k 的话,那如果是四 k 的话,那就相当于多少个山区呢?八个山区啊,相当于是八个山区 啊,因为一一 k 呢,是两个山区,四 k, 那么就八个山区吧,那你这个要除以八,那就是二二五六零零个不唠叨, 那你就变成这个抖,二十多万个善区就变成了二五六零零个不唠嗑,也就你的 io 次数,因为现在我以不唠嗑为读写单位了,那这时我就读写多少次啊?两万多次,所以让我们的 i 交次数不减,所以提高了什么呀?效率,那这就是不唠嗑的概念,所以不唠嗑将来在我们的系统当中存储的是最小单元,因为我们有了文件系统以后, 但是大家可以想到,如果你把你这个 blog 定为了四 k, 但是我就存了一个小文件,我这个小文件就两百个字键,那你以 bluk 为存单位,他是不是要占四 k 空间呀?那这个文件要占四 k 空间的话,那你其余的空间不就浪费了 啊,就浪费了啊,所以我们才可以规定这个捕捞大小啊,也就是说,如果我们在进行这个格式化啊,文件系统的时候,我们来看我们这个,将来我们这个磁盘这个分区啊,他用来干什么?如果将来他要 存放大的文件,那么你就可以把这个 bluck 呢弄大一些,这样呢,我们的读写效率上来了,而且空间也不怎么浪费。 如果你都存一些,将来我这个分区可能存一些日志,我就做一个日志服务器,那这个日志服务器每一个日志他就也就是非常小啊,一 k 或者不到一 k 啊,一两 k, 那这时候你可以把你的这个 blog 的大小呢变成一个 k, 这样的话免得空间浪费了 啊。这样也就是说将来我们要根据我们磁盘的或者分区的使用情况,来规定我们这个补脑口的大小,提高我们的这个,在这个 io 效率和这个 空间浪费之间找一个平衡点。好,这是不唠嗑的概念。那将来呀,我们在文件系统里面,我们要 找一些东西啊,找一些文件,问我怎么才能快速的找到文件呢?如果你挨次的啊,便利硬盘,那肯定很慢,那如果你这个文件存放在这个硬盘的最后面的那一些词道里面,那你便利硬盘的话,那你把前面都便利了,然后再找到他,那这个时间太多了。 所以为了更好的来查找文件啊,包括来写文件等等,所以我们才引入了一个另外一个概念,我们叫做 i no 的简称叫锁引节点叫全局唯一编号。 那么他记录什么呀?这个爱怒的他得有空间。爱怒的一般呀,是一般是这个一百二十八字节的,基本上一百二十八字节大小,有的呢,也有二,你可以规定 有的是二百五十六字节,这种很少,基本上都是一百二十八字节大小。那这个爱豆的里面一百二十八字节里面记什么东西呢?他主要是记录啊文件的属性,还有一个指针,那这是什么意思啊? 那么看一下 i no 的里面那个内容,他主要是记属性,那记什么属性呢?记这个文件的拥有者 用户组啊,输主输组,包括他的读写执行,这就也就是我们的权限,包括文件,你属于什么类型的?你属于文件呀,你属目录啊,你还是块文件字符文件,你是管道文件呀,类型。 然后你这个文件的一些时间啊,访问时间, atm 修改时间 mtm 以及状态改变时间 ctm 啊,记这些时间参数,包括文件的大小,以及 我们定义文件的一些标志,比如说你设的这种特殊的权限, suid 啊等等。还有一个就是真正的指向真正内容的指针叫 pont, 那么他这个里面他画出来可能是这么一个结构,我给大家来简单演示一下, 比如说这是一个 i no 的,这个 i no 的呢?他有编号啊,比如说他这个号是六千号, 然后呢这个 m 的里面记什么呀?他记录属性就是文件的一些原原属属性,我们也称为叫原数据,叫 mate, 叫埋伏,对头,我们称为叫原数据。刚才说的那一套什么书主书组啊、权限、文件大小实践啊等等。 还有一个内容就是指针,他有个指针,这个指针指谁啊?因为你这这个爱闹的只是记得一些文件的属性,那么文件的内容存在哪啊?文件内容咱们说了存在块里面啊,存在这个块里面啊,比如说这都是一些块 啊,那么他会记录了啊,将来你的文件内容,比方你存的啊,你可能是占了这几个块, 那么这个指针,他这个指针就提供了这么一个,哎,你呢? 纸箱这也有将来啊,我们只要找到了这个 ino 的,我们就能查看到这个文件的属性,然后通过这个指针我们就找到这个文件的内容, 这样的话提高我们的查找效率,那这就是挨揍的。那么我每一个文件, 你记住,将来啊,只要我们创建一个文件,我们就得给这个文件一个爱 no 的 啊,并且给他能存放那个文件大小的一些块。比如你的文件有一百兆,那我要给他多少个块?那你一个块是多少 k, 那比如你是四 k, 那我给应该给他多少块?两万五千六百多个块,那么这个块你要分别出来, 那么有这个 ino 的,我们就可以查看到文件的属性,然后有这个 ino 的里面那个指针就能找到文件的内容,这样实现快速的查找。 那么我们来看一下系统当中 每一个文件他都有 i no 的,那我怎么看呢?大家来看 ls 杠 i l i, 这个 i 就是来查 查看这个文件的 i no 的,你看这文件的 i no 的值,然后我们就能查看到这个文件的 i no 的。那你这个分区那你一共有多少个 i no 的呢啊?那这个 i no 的呢?在我们进行格式化的时候就已经格式化出来了 啊,就格式化的了,你再生成这个文件系统时候就已经生成了你的总的个数是固定死了的啊,一般呢肯定是够用的啊,那将来当我们创建一个文件的时候,就给了一个爱豆的,那么我创建一个目录的时候, 我也要给这个目录一个 i no 的,其实目录说白了也是文件啊,他是文件类型,只是 d 而已, 那么也要给他一个爱 no 的,并且至少一个,那将来啊,我存放一 目录的时候,我也会给这个目录一个挨揍的啊,比如这个目录的挨揍的是六千五,然后这个里面放这个目录 本身的什么呀?原数据就是属性啊,因为我们在查看的 ls 杠 ld, 你看我们在 ls 杠 ld, 我们可以查看 etc 目录,他是不是本身也有一些属性呢?那这个就记录在这个目录里面这个爱豆的里面, 然后呢,还至少要给他一个什么呀?一个块至少给一个块,那这个块 这个块里面他记什么呀?哎?诺德里面有指针,肯定指向这个块了,那么这个块里面记什么呀?记文件名。我们知道目录里面不就放文件吗?它里面分的是文件名 和谁的对应关系啊?和挨揍的对应关系,比如我们上面的挨揍的是六千, ok 啊,你的文件名叫什么?你比如叫 abc 啊,然后你的文件名叫 abc。 那么将来我们找文件无外乎不就是找到,先找到目录,找到目录以后,找到目录所对应的块,查到文件名,然后找到文件名所对应的什么呀? 这个 i no 的号码,然后我们再找到这个 i no 的号码,看到文件的属性,再看到文件的内容,这样就找到了啊,这是他组织这个 文件的一种方式。大家可以看到,当我们创建一个目录,就要有一个爱豆的至少一个块,然后这个块里面其实就放文件名和什么呀?爱豆的号码对应的关系,然后我们在找到了爱豆的号码以后,就可以查看文件的属性 以及文件内容了啊,这就是,呃,文件系统里面最重要的两个概念。谁呀? bluck 和 i no 的啊? i no 的,这个一定要清楚啊,一定要清楚,那我们知道了 i no。
粉丝2588获赞4676

理解爱唠的首先要从文件存储说起。文件存储在硬盘上,硬盘的最小存储单位叫做扇区,每个扇区存储为五百十二个字节。超系统读取硬盘时,我会一个扇区一个扇区的读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个框。 这种由多个扇区组成的块是文件存储的最小单位。块大小最常见的是四 kp, 即连续八个扇区组成一个 blog, 也就是我们说的块。我们在创建文件系统,也就是格式化石, 可以指定号的大小,比如四 k、 八 k、 十六 k。 文件数据存入在块中,那么很显然,我们还需要找到一个地方来存储文件的原信息,比如文件的创建者,文件的创建日期,文件的权限,文件的大小等等。这种纯属文件原信息的区域叫做安露的中文英明为所以节点,每一个文件 都有对应的艾露的,里面包含与文件相关的一些信息。简单来讲,艾露的相当于一本书的目录, pro 相当于书的实际内容, 我们可以通过输的目录来快速找到指定章写的内容。爱露的和 blog 是非常重要的概念,是理解 beings 五年系统和硬盘存储的基础。有时候我们看到一个分区还有很大的剩余空间,但就是无法创业新文件,这是为什么呢?大家可以在评论区尝试回答一下。 另外再问大家一下,查看我联系总的 l 的使用情况,还有什么秘密?我是你们相信我的杨哥,下期再见!

so a couple things on to drop a fight a letter。
