29.操作系统对磁盘的4层抽象小结

Posted PacosonSWJTU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了29.操作系统对磁盘的4层抽象小结相关的知识,希望对你有一定的参考价值。

【README】

本文总结了操作系统 对磁盘的4层抽象,并给出了详细介绍的post 链接;


【1】对磁盘的4层抽象

【1.1】对磁盘的第1层抽象

通过盘块号读写磁盘(读写多个扇区)


【1.2】对磁盘的第2层抽象

队列缓存多个进程读写的盘块号


【1.3】对磁盘的第3层抽象

通过 文件 操作磁盘


【1.4】对磁盘的第4层抽象

整个磁盘抽象为文件系统


【2】磁盘格式化

0)磁盘格式化

1.4节 我们讲到操作系统 把整个磁盘抽象为 文件系统;

磁盘格式化后的结构如下:

1)整个磁盘格式化以后,就会形成目录树结构,包括

  • 引导块;
  • 超级块;
  • i节点位图(inode位图);
  • 盘块位图;
  • i节点(inode数组);第1项就是根目录inode;
  • 数据区;

2)整个磁盘格式化后各个部分的内容构成:

  • 引导块:操作系统引导扇区 ;
  • 超级块:记录了 i节点位图,盘块位图的盘块大小;超级块起始盘块号加上i节点位图盘块大小,再加上盘块位图盘块大小就可以得到i节点的起始盘块,而i节点的第1块存储的就是根目录信息,根目录存储了 FCB数组指针,子目录项列表;
  • i节点位图(Inode位图):新建一个文件,即新建一个inode,把该文件对应的inode设置为1;相反,删除一个文件(或inode),则该inode设置为0;
  • 盘块位图: 各个盘块使用情况(0-空闲,1-占用);

补充: superblock 超级块非常重要;

  • 要想使用一个磁盘或u盘,需要先把u盘 挂载 mount到系统;mount的作用就是读取磁盘或u盘的超级块到内存,解析出 i节点位图,盘块位图;
  • 根据 i节点位图和盘块位图可以计算出i节点的起始盘块号;
  • 读取i节点的第1个盘块的内容,即根目录FCB的信息;根目录FCB存储了子目录项列表;

【小结】

以上是关于29.操作系统对磁盘的4层抽象小结的主要内容,如果未能解决你的问题,请参考以下文章

24.原生磁盘的使用

JAVA File类 分析

Mysql优化小结

设计模式:简单工厂工厂方法抽象工厂之小结与区别

操作系统从生磁盘到文件---19

TCP小结