临湘做网站,科技网站建设+长沙,万家建设有限公司网站,艺梵科技 网站建设【README】
本文总结了操作系统 对磁盘的4层抽象#xff0c;并给出了详细介绍的post 链接#xff1b; 【1】对磁盘的4层抽象
【1.1】对磁盘的第1层抽象
通过盘块号读写磁盘#xff08;读写多个扇区#xff09;#xff1b;
因为磁盘底层操作的单位是扇区#xff08;51…【README】
本文总结了操作系统 对磁盘的4层抽象并给出了详细介绍的post 链接 【1】对磁盘的4层抽象
【1.1】对磁盘的第1层抽象
通过盘块号读写磁盘读写多个扇区
因为磁盘底层操作的单位是扇区512字节若以扇区为读写单位读写速度太慢参见 24.原生磁盘的使用_PacosonSWJTU的博客-CSDN博客【1.2】对磁盘的第2层抽象
用队列缓存多个进程读写的盘块号
因为操作系统是多进程图像管理多个进程走走停停同步向前推进参见24.原生磁盘的使用_PacosonSWJTU的博客-CSDN博客【1.3】对磁盘的第3层抽象
通过 文件 操作磁盘
因为用户程序操作通过盘块号读写磁盘太底层不太方便所以引入文件来操作磁盘参见25.从生磁盘到文件_PacosonSWJTU的博客-CSDN博客【1.4】对磁盘的第4层抽象
整个磁盘抽象为文件系统
整个磁盘就包括了 目录子目录列表文件列表或目录树参见 27.目录与文件系统_PacosonSWJTU的博客-CSDN博客【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存储了子目录项列表
【小结】
以上内容介绍了一个目录树逻辑如何实现在磁盘物理上的参见 27.目录与文件系统_PacosonSWJTU的博客-CSDN博客