【操作系统】第十二章文件系统

以下是操作系统的各部分知识点的目录:
第一章:操作系统的概述
https://blog.csdn.net/weixin_44751294/article/details/104172847
第二章:启动、中断、异常和系统调用
https://blog.csdn.net/weixin_44751294/article/details/104172778
第三章:续内存分配
https://blog.csdn.net/weixin_44751294/article/details/104183639
第四章:非连续内容分配
https://blog.csdn.net/weixin_44751294/article/details/104190197
第五章:虚存技术
https://blog.csdn.net/weixin_44751294/article/details/104196572
第六章:页面置换算法
https://blog.csdn.net/weixin_44751294/article/details/104204687
第七章:进程与线程
https://blog.csdn.net/weixin_44751294/article/details/104228830
第八章:处理机调度
https://blog.csdn.net/weixin_44751294/article/details/104229011
第九章:同步互斥问题
https://blog.csdn.net/weixin_44751294/article/details/104235209
第十章:信号量与管程
https://blog.csdn.net/weixin_44751294/article/details/104248160
第十一章:死锁与进程通信
https://blog.csdn.net/weixin_44751294/article/details/104259732
第十二章:文件系统
https://blog.csdn.net/weixin_44751294/article/details/104268956

12.1基本概念

不同的操作系统,有不同的文件系统,还可能有多个文件系统
一、文件系统与文件
文件系统:一种用于持久性存储的系统抽象
在这里插入图片描述
需要注意:
一首音乐和一张图片都是一个文件,都是以文件的形式存放在硬盘上的,但是和桌面级不一样,但是读写命名创建的形式都是一样的。

文件:文件系统中一个单元的相关数据在操作系统中的抽象

二、文件系统的功能
1、分配文件磁盘空间
1)管理文件夹(那一块属于哪一个文件)
2)管理空闲空间(哪一块是空闲的)
3)分配算法(策略)

2、管理文件集合
1)定位文件及其内容
用户如何去找到这个文件
2)命名:通过名字找到文件的接口
通过路劲的名字找到这个问价
3)最常见:分层文件系统
文件是否需要分层,一个目录
4)文件系统类型(组织文件的不同方式)

3、提供的遍历级特征
1)保护:分层来保护数据安全
2)可靠性/持久性:保持文件的持久即使发生奔溃,媒体错误,双击等

三、文件和块
在这里插入图片描述
文件的属性一般会包含在文件头或者是文件块上,用以保存基本的属性。

四、文件描述符
1、文件的使用模式:
打开这个文件之后,为了更容易的进行读写操作,会返回一个文件描述符。其代表了文件给应用程序做访问和控制。
在这里插入图片描述
文件描述符不仅仅是一个数据,操作系统对代开的文件会有一个表,称为打开文件表,而返回的文件描述符就是表的索引。文件描述符指出了这个表中的第几项代表了这个文件,里面有很多的文件信息。

在这里插入图片描述
2、元数据来管理打开文件:
1)文件指针:指向当前最近的一次读写的位置
2)文件打开次数:多少个进程打开了这个文件,也就是文件打开的次数,文件是共享资源,允许多个进程打开同一个文件。
3)文件磁盘位置:缓存数据访问信息
4)访问权限:每个程序的访问模式信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
五、目录
1、目录的介绍
通过分层的方式,进行存储,使层次更加的清晰简洁
在这里插入图片描述
2、目录的操作
在这里插入图片描述
3、如何存储目录的文件
(根据文件系统不同而有所差异)
在这里插入图片描述
4、路径的遍历
路径是有目录和最后的目的文件所构成,这个路径的遍历开销比较大。有缓存机制来加快这个效率。
在这里插入图片描述
5、文件系统的挂载
挂载文件系统的挂载点用户看到的是一个目录,但是是特殊的文件。mount是挂载的命令。unmount是卸载的命令。操作比较简单。
在这里插入图片描述
六、文件别名
也就是一个文件有多个名字
在这里插入图片描述
两种实现方法:硬链接和软链接
1)硬链接:多个文件项指向一个文件
2)软链接:这个文件的内容是另一个文件的路径
在这里插入图片描述
如果将有效的文件删掉了:
对于硬链接来说,只是引用技术减1,只有当引用技术变成了0,这个文件才彻底删除。
而对于软链接来说,这个别名将成为一个“悬空指针”。
在这里插入图片描述
七、文件系统的种类
下面对文件系统种类做简单介绍:
在这里插入图片描述
ext2/3/4是主要的文件系统,存储在磁盘或者是光盘上。
日志文件系统的读操作或者是写操作要不是完成,要么不被完成,在中间进行的基础中是不会被大段的。
网络文件系统只要在局域内,就可以很容易的访问另外一个机器上面的数据。
虚拟文件系统,linux下的proc可以看见中断的次数等等内核信息。
在这里插入图片描述

12.2虚拟文件系统

问题:为什么使用虚拟文件系统?
如果让应用程序针对不同的文件系统写出应用程序,就会很复杂。通过操作系统实现了,利用其提供的接口,通过一层虚拟文件系统层,屏蔽了底层具体文件系统的差异性,从而可以使得其可以访问不同的文件系统,适用面更好。
在这里插入图片描述
1、虚拟文件系统的目标
屏蔽具体文件系统的差异性,给上层提供统一的接口,可以完成基本的文件的操作读写打开关闭等等,也就是对所以不同文件系统的抽象。

2、虚拟文件系统的功能:
1)提供相同的文件和文件系统的接口
2)管理所有文件和文件系统关联的数据结构
3)高效查询例程,遍历文件系统
4)与特定文件系统模块的交互

需要注意:
虚拟文件系统不在具体的磁盘上,而是在内存中,由操作系统所创建。

3、几个控制块介绍
1)卷控制块:每个文件系统都有一个总控制块,卷控制块/超级块(Unix:superblock)

  • 每个文件系统一个
  • 文件系统详细信息
  • 块/块大小、空余块、计数/指针等

2)文件控制块:每一个具体的文件其实也需要一定的元数据和特征,所以有一个文件控制块(Unix:vnode or inode)

  • 每个文件一个
  • 文件详细信息
  • 许可,拥有者,大小,数据库位置等等

3)目录节点:目录里面的内容是里面的文件,文件的内容是内容,所以目录节点会有所不同,目录节点(linux:dentry)

  • 每个目录一个(目录和文件)
  • 将目录项数据结构及树型布局编码成树型数据结构
  • 指向文件控制块,父节点,项目列表等

这些概念可以够成一个抽象的文件系统图。
首先有一个总控制节点,这之下管理一堆目录,目录可以管理子目录或文件,文件里面是具体的数据(数据块),这些数据都是放在磁盘里面的。
在这里插入图片描述
4、文件系统的数据结构

  • 卷控制块(每个文件系统一个)
  • 文件控制块(每个文件一个)
  • 目录节点(每个目录项一个)

这些都会映射到磁盘里面的一个或多个扇区,文件里面的数据也会放在扇区里面。

5、问题:这些内容什么会后加载到内存?

  • 卷控制块:当文件系统挂载时进入内存
  • 文件控制块:当文件被访问时进入每次
  • 目录节点:在遍历一个文件路劲时进入内存
    在这里插入图片描述
    通过vol总控制块可以找到目录,而通过目录可以找到子目录或者是文件,而通过文件控制块可以最终找到想要寻找的数据。

11.3数据缓存

由于访问磁盘速度比较慢,所在内存中会存在一块缓存。
1、数据缓存需要考虑的内容
在这里插入图片描述
希望基于分页的一个缓存机制,使得数据更好给上层程序更好的访问。
在这里插入图片描述
在这里插入图片描述
总的来说
缓存是为了进程执行更加的高效,为了减少硬盘的访问次数,减少运算时间。

12.4打开文件的数据结构

讲得太水,没什么好写的,感觉可以跳过

12.5文件分配

在这里插入图片描述

12.6空闲空间分配

在这里插入图片描述
还有位图,扫描实现。

12.7多磁盘管理-RAID

作用:提高磁盘访问的效率

RAID0
在这里插入图片描述
数据并访问,提高吞吐率

RAID1
在这里插入图片描述
向两个硬盘写入同样的数据,镜像数据提高可靠性

RADI3
在这里插入图片描述
奇偶校验以bit来作奇偶校验,其他045都是以块来作并行校验

RADI4
在这里插入图片描述
4个盘分区并行访问,1个盘来进行奇偶校验从而恢复达到容错

RADI5
在这里插入图片描述
校验是均匀的,访问是并行的,但是只能纠错一个

12.8磁盘调度

(这里是最简单的情况)
磁盘的结构:
在这里插入图片描述
io请求调度算法:
1、请求先来先执行
在这里插入图片描述

2、寻道移动最少
在这里插入图片描述
3、Scan扫描方法
先上到头,然后再下来,双方向。
在这里插入图片描述
4、单向扫描
只在一个方向上扫描,然后瞬间跳会最高点
在这里插入图片描述
5、C-SCAN
到请求的最后一点就返回
在这里插入图片描述

参考链接:https://www.bilibili.com/video/av6538245

发布了34 篇原创文章 · 获赞 1 · 访问量 2286

猜你喜欢

转载自blog.csdn.net/weixin_44751294/article/details/104268956
今日推荐