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

宁波环保营销型网站建设深圳集团网站开发网站开发公司电话

宁波环保营销型网站建设,深圳集团网站开发网站开发公司电话,淄博seo网络公司,有友情链接的网站在上一篇基础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.yayakq.cn/news/491870/

相关文章:

  • 北京智能网站建设系统加盟山东省住房与建设厅网站
  • 怎么免费创建个人网站南昌有做网站的吗
  • 学校户网站建设方案建设行政主管部门官方网站
  • 本地做织梦网站wordpress头像管理插件
  • 上海整形网站建设网站建设找谁
  • 网站宣传搭建品牌企业网站建设公司
  • 做网站熊掌号代理公司和经纪公司的区别
  • 打开网址资料网站智慧团建系统手机端
  • 贵阳建网站公司简要说明开发网站的步骤
  • 网站建设的实验步骤网站如何接广告
  • 只做域名跳转和关停网站wordpress提取公众号文章
  • 国外企业画册设计网站网站怎么百度收录
  • 网站域名做链接怎么做深圳宝安住房和建设局网站
  • 自助建站网站建设设计公司外贸家具网站首页设计
  • 扬州网页制作公司百度推广seo优化
  • 昆山移动网站建设网站开发课程知识点总结
  • 交三百能在网站上找兼职做的宁波seo快速优化费用
  • 漳州商城网站建设怎样设计网站建设
  • 自己建网站开网店4399观看视频免费哔哩哔哩
  • 广州做网络服装的网站营销网站建设公司排名
  • 青岛网站建设市场分析做wap网站能火吗
  • 长沙专业做网站公司有哪些网站用花生壳nas做存储
  • 有没有专业做效果图的网站亚马逊免费视频
  • 网站建设广告图网站建设归哪个部门
  • 网站二维码特效黄山旅游攻略 知乎
  • 网站开发 入门2017做网站怎么赚钱
  • 外贸企业网站模板建设可以吗WordPress修改评论者昵称
  • 兰州网站排名外包网站模板 简洁
  • 网站外部链接做多少合适呢网站建设培训哪个好
  • 59网站一起做网店平江高端网站建设