*** 作系统linux 二级文件系统具体是怎么实现的

 *** 作系统linux 二级文件系统具体是怎么实现的,第1张

说通俗一点就类似于数组加上链表的结构,i_addr[8]数组中每一个元素都指向了一个磁盘块,如果那个磁盘块中也存放了一个i_addr[8]数组,并且那个数组中的每个元素也指向了一个磁盘块,那么这就是二级的索引文件结构了~

建议看一下 *** 作系统原理(庞丽萍)一书中的文件系统一章

这个东西是Unix

V的一种典型的文件系统~呵呵~

人们对信息有存储的需求,早期计算机信息在保存在纸带上,存和读都不方便,且容量很低,而存储信息的需求未能得到满足,到了磁盘存储器的出现,对程序和数据等信息的管理的发展才得到质的飞跃。出现文件系统是需要把信息以一种单元,即文件的形式,存储在磁盘或其它外部存储介质上,导致了文件系统的出现。

文件系统是 *** 作系统中统一管理信息资源的一种软件。它管理文件的存储、检索、更新、提供安全可靠的共享和保护手段,并且方便用户使用。从用户的角度看,文件系统负责为用户建立文件、读写文件、修改文件、复制文件和撤销文件等,还能对文件按名存取。

文件是一组带标识的、在逻辑上有完整意义的信息项的序列,这里的标识就是文件名,”信息项“构成了文件的内容。

外存是相对内存而言,主要用来存储信息,其特点是断电后仍可保存信息,容量大,速度较慢,成本较低等

外存储设备通常由驱动部分和存储介质两部分组成,存储介质又常被卷。

存储介质有:磁带、磁盘、光盘、闪存

其中磁带是顺序存储,只能读了前面磁带的内容才能读后面,存取都一样,不能跳着读取,因此磁带适合存储不经常变化的内容,比如放歌。

磁盘支持随机读取,磁盘由带有读写磁头的机械臂和磁盘组成,磁盘像光盘,上面有磁性材料。系统对磁盘初始化时,会划分出一些同心圆,称为磁道,信息只能存储在磁道上,磁道分会被分成多个弧段,称为扇区,每个磁道有4-32个扇区。使用时,驱动器的马达带去磁盘高速匀速旋转,磁头一直停留在盘面表面上方并可以在不同磁道移动,当找到目标磁道时,碰头不动,磁盘依然转动,这时经过磁头的信息就被读出来可写进去。

光盘是激光作用下材料变化的非磁记录介质。

闪存是电荷擦除,支持随机存取,没有机械运动部件,寿命和可靠性高。

文件可以从不同的维度来进行分类:

按用途的方式分类:

按文件组织形式分类:

文件逻辑结构就是用户所看到的文件组织形式,文件逻辑结构是经过抽象的结构,所描述的是文件中信息组织形式。按逻辑结构可以把文件划分成三类:无结构的字符流式文件(由字节组成)、定长记录文件和不定长记录文件(由记录组成);

文件的物理结构是指文件存储在外储设备上的结构,有三种存储结构:顺序存储、链式存储、索引存储;

顺序存储:文件存在连续的空间上,只要知道到起始地址和长度就可以读取文件。

优点:支持随机存取、

缺点:不支持动态扩充,容易产生碎片。

链式存储:文件存在不连续的物理块中,文件控制块保存第一个物理块的指针,之后每个物理块都有一个指针指向下一个物理块地址,如FAT文件系统

优点:可以动态扩充,提高磁盘利用空间;修改添加快。

缺点:

1.可靠性低。若其中某个物理块出错会导致后面全部块读取不到。

2.存取速度慢,不适于随机存取文件,需要从首个物理块一直读取到物理块;

索引存储:使用一张表来存储索引,每个索引指向逻辑文件的信息块。

优点:可以动态扩充,支持随机存取;

缺点:较多的寻道次数和寻道时间;索引表本身增加了存储空间的开销。

文件目录主要是用途是为了管理和索引文件,其结构简单说是一张表,表中存储着文件名、文件控制块、物理地址,通过文件名可以快速的读取到对应的文件。

一级目录是一张线性表,优点是:结构简单、实现简单;缺点:无法解决不同用户的文件名相同;文件多时查找慢。

二级目录是分为主目录和用户目录,主目录给出所有用户目录所在物理位置; 而用户目录则给出所有文件的FCB优点:不同用户文件可以重名、查找速度比一级目录快、能实现文件共享

多级目录(树形目录)除了最低一级物理块装有文件信息外,其它每一级的目录存储的都是下一级的目录或文件说明信息,多级目录存在唯一的概目录。优点是层次清楚、解决文件重名问题、查找速度快。

目录是指文件路径。

目录项是是文件控制块以一条记录的形式存储在目录文件中。

目录文件是多个文件控制块集中在一起形成的文件。

参考:《 *** 作系统》机械工业出版社 2017年版


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12051647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存