当前位置: 首页 > news >正文

网站建设交易平台广州权威发布

网站建设交易平台,广州权威发布,工信部网站域名备案,安卓应用市场免费下载安装在上一篇基础IO中我们主要讲述了文件再磁盘中的存储,当然我们说的也都只是预备知识,为这一篇的文件系统进行铺垫。 目录 搭文件系统的架子:填补细节:inode:datablock[]: 更上层的理解: 搭文件系统的架子&a…

在上一篇基础IO中我们主要讲述了文件再磁盘中的存储,当然我们说的也都只是预备知识,为这一篇的文件系统进行铺垫。

目录

  • 搭文件系统的架子:
  • 填补细节:
    • inode:
    • datablock[]:
  • 更上层的理解:

搭文件系统的架子:

在这里插入图片描述
我们在开始之前还要有一个补充细节:
我们说过文件 = 内容 + 属性
而他们本质上都是数据。

那么内容的数据与属性的数据是在一起存放嘛?
不同的文件系统有不同的规则,在linux下是分开存放

现在我们只要知道每个组内有什么即可。


那我们就先来看存放内容数据的地方:

  • 数据区(Data blocks):存放文件内容

我们在图中展示的的比例大小只是为了好形象的写出各个区域,但实际上数据区占据了90以上的大小
在这里插入图片描述


  • 块位图(Block Bitmap):Block Bitmap中记录着Data Block中哪个数据块已经被占用,哪个数据块没有被占用

比特位的位置表示当前块号,1与0代表当前是否被占用。


我们说过内容与属性是分开存放的,那么属性存放在哪里?

  • i节点表(inode Table):存放文件属性 如 文件大小,所有者,最近修改时间等
struct inode
{size_t size;mode_t mode;int creater;...int inode_number;...int datablocks[N];
}

注意:
此结构体大小为128字节

同时我们要说明一点,inode内部没有文件名,那么我们怎样标识一个文件呢?使用inode_number进行标识。

也就是下图中的最左方数字
在这里插入图片描述

那么文件的内容与属性如何连接起来呢?
使用datablock这个数组进行连接。
数组中的数字是data blocks的位置。


既然datablock有bitmap,inode也肯定要有一个bitmap用来管理inode。

  • inode位图(inode Bitmap):每个bit表示一个inode是否空闲可用。

  • Block Group:ext2文件系统会根据分区的大小划分为数个Block Group。而每个Block Group都有着相同的结构组成。

这个block group里存着这个组的相关管理数据,例如还有多少空的data block ,有多少空的inode_number,组的起始块,结束块位置…


超级块与block group的作用是类似的

  • 超级块(Super Block):存放文件系统本身的结构信息。记录的信息主要有:bolck 和 inode的总量,未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息。Super Block的信息被破坏,可以说整个文件系统结构就被破坏了

但并不是每个组都有一个SB,而是每隔几个就会有一个SB,这样既可以防止磁盘刮花,也不必占用太多的空间存储。


以上也就是我们磁盘级的文件系统!

我们的格式化也就是在每一个分区内分组,再写入文件系统的过程

填补细节:

inode:

我们说过,inode_number是标识磁盘文件的标识符,但有个前提,是在当前分区是唯一的,也就是说,我们inode编号是以分区为单位的!在不同分区内可能会出现相同的inode编号。

在组内进行更详细的划分:在这里插入图片描述
比如我们现在在当前分区有一个inode为10010的编号,怎么找到对应的属性与数据?
我们使用inode编号与[0, 10000], [10001. 20000]…进行对比,发现是在1号(从0号位下标开始)分组内。于是我们便使用10010 - 10001 = 9,使用9在inode bitmap中寻找,观察此inode编号是否合法,合法后在inode table中
找到该属性,最后再通过datablock[]进而找到内容的存放位置。
在这里插入图片描述

datablock[]:

我们在前边说过,inode结构体大小为128字节,那么datablock能占多少呢?
一般我们使用ext2这个文件系统进行讲解,linux也有ext3,4等,在2中有15个元素,那么一个文件只能存60KB
前12个元素确实如此,但是第13,14个元素并不是单纯的映射,15个更是重量级。
在这里插入图片描述
图只是形象,实际肯定更复杂

我们现在只是想输出一个结论:
我们是有能力存大文件的!甚至跨组,但是不建议,因为这样磁头与盘片又会旋转重新寻址,造成效率低下!

更上层的理解:

问题来了,我们在上层使用的都是文件名啊,可是系统都是用inode编号进行标识,那么怎么进行联系呢?

那我们就不得不谈一谈目录了,目录也是文件。

目录 = 内容 + 属性
属性 :不管是什么文件,可执行,目录还是普通文件都是一样的结构体,只是内容不同在这里插入图片描述
那目录的内容里是什么呢?
是文件名与inode编号的映射关系,所以我们在上层不用inode编号,使用文件名即可对文件进行各种操作。

结论:

  1. 所以同一目录下不能存在相同文件名。
  2. 查找文件的顺序,先使用文件名找到inode编号。


明天就更新完毕,今天快熄灯了

http://www.hkea.cn/news/154049/

相关文章:

  • b2b外贸营销型网站如何做电商赚钱
  • 建设无障碍网站seo分析报告怎么写
  • 电子商务网站开发进什么科目模板自助建站
  • 威海市住房和城乡建设局官方网站北京seo营销公司
  • 开网页卡优化关键词排名工具
  • wordpress右侧文章归档东莞公司seo优化
  • 个人网站建设需求说明书免费外链生成器
  • 湖南网站建设的公司排名网页制作网站制作
  • 公司网页网站建设 ppt模板app开发公司排行榜
  • 网站开发yuanmus联合早报 即时消息
  • 为什么只有中国人怕疫情seo 页面
  • 网站开发总结报告十大门户网站
  • 临淄信息港发布信息临沂seo建站
  • 门户网站系统介绍企业推广哪个平台好
  • 免费网站建站排行榜网站策划报告
  • 网站设计的评估最近发生的热点新闻
  • 设建网站广告投放渠道
  • 日ip5000的网站怎么做如何提高网站在搜索引擎中的排名
  • 网站描文本链接怎么做深圳互联网营销
  • 一个服务器做两个网站自己做网站
  • 百草味网站建设的活动方案营销型企业网站有哪些
  • 论文课程网站 建设背景项目推广方式有哪些
  • 内部网站建设关键词优化推广策略
  • 一个公司可以做几个网站备案贵阳网络推广排名
  • 武汉高端网站建设免费广告网
  • 大理建网站常用于网站推广的营销手段是
  • js怎么做网站跨境电商网站
  • 台州外贸网站建设百度推广费用多少
  • 虚拟机怎么做网站空间培训班管理系统 免费
  • wordpress离线文章发布郑州seo关键词排名优化