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

低价建网站长沙网动网络科技有限公司

低价建网站,长沙网动网络科技有限公司,台州seo免费诊断,广州英文网站建设ok,上次我们提到了硬件和inode,这次我们继续学习文件系统 ext2文件系统 所有的准备⼯作都已经做完,是时候认识下文件系统了。我们想要在硬盘上存储文件,必须先把硬盘格式化为某种格式的文件系统,才能存储文件。文件系…

ok,上次我们提到了硬件和inode,这次我们继续学习文件系统

ext2文件系统

所有的准备⼯作都已经做完,是时候认识下文件系统了。我们想要在硬盘上存储文件,必须先把硬盘格式化为某种格式的文件系统,才能存储文件。文件系统的⽬的就是组织和管理硬盘中的⽂件。在 Linux 系统中,最常⻅的是ext2系列的⽂件系统。其早期版本为ext2,后来又发展出ext3和ext4。 ext3 和ext4虽然对ext2进⾏了增强,但是其核⼼设计并没有发⽣变化,我们仍是以较老的ext2作为演示对象。

ext2⽂件系统将整个分区划分成若⼲个同样⼤⼩的块组(BlockGroup),如下图所⽰。只要能管理⼀个 分区就能管理所有分区,也就能管理所有磁盘⽂件。

上图中启动块(BootBlock/Sector)的⼤⼩是确定的,为1KB,由PC标准规定,用来存储磁盘分区信 息和启动信息,任何⽂件系统都不能修改启动块。启动块之后才是ext2⽂件系统的开始。

Block Group

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

块组内部构造

超级块(Super Block)

存放⽂件系统本⾝的结构信息,描述整个分区的⽂件系统信息。

记录的信息主要有:bolck和inode的总量,未使⽤的block和inode的数量,⼀个block和inode的⼤⼩,最近⼀次挂载的时间,最近⼀次写入数据的时间,最近⼀次检验磁盘的时间等其他⽂件系统的相关信息.

SuperBlock的信息被破坏,可以说整个⽂件系统结构就被破坏了

超级块在每个块组的开头都有⼀份拷⻉(第⼀个块组必须有,后⾯的块组可以没有)。为了保证⽂ 件系统在磁盘部分扇区出现物理问题的情况下还能正常⼯作,就必须保证⽂件系统的superblock信 息在这种情况下也能正常访问。所以⼀个⽂件系统的superblock会在多个blockgroup中进⾏备份, 这些superblock区域的数据保持⼀致。

分区中超级块可能存在多个,(为了防止出错,超级块一旦破坏,文件也随着破坏,有多个超级块就可以增大容错,减少事故)

GPT(GroupDescriptorTable)

块组描述符表,描述块组属性信息,整个分区分成多个块组就对应有多少个块组描述符。

每个块组描述符存储⼀个块组的描述信息,如在这个块组中从哪⾥开始是inodeTable,从哪⾥开始

是Data Blocks,空闲的inode和数据块还有多少个等等。块组描述符在每个块组的开头都有⼀份拷

⻉。

// 磁盘级blockgroup的数据结构 
/** Structure of a blocks group descriptor*/struct ext2_group_desc{__le32  bg_block_bitmap;         /* Inodes table block*/__le32  bg_inode_bitmap;         /* Blocks bitmap block */__le16  bg_free_blocks_count;    /* Inodes bitmap */__le32  bg_inode_table;          /* Free blocks count */__le16  bg_free_inodes_count;    /* Free inodes count */__le16  bg_used_dirs_count;      /* Directories count */__le16  bg_pad;__le32  bg_reserved[3];
};

块位图(BLock Bitmap)

BlockBitmap中记录着DataBlock中哪个数据块已经被占⽤,哪个数据块没有被占用。

位图用来标记数据是否有效,0则是无效,1则有效

删除文件:只需要inode bitmap /block bitmap对应的位图的比特位由1至0

inode位图(InodeBitmap)

每个bit表⽰⼀个inode是否空闲可⽤。

i节点表(Inode Table)

  • 存放⽂件属性如⽂件⼤⼩,所有者,最近修改时间等
  • 当前分组所有Inode属性的集合
  •  inode编号以分区为单位,整体划分,不可跨分区

Data Block

数据区:存放⽂件内容,也就是⼀个⼀个的Block。根据不同的⽂件类型有以下⼏种情况:

  • 对于普通⽂件,⽂件的数据存储在数据块中。
  • 对于⽬录,该⽬录下的所有⽂件名和⽬录名存储在所在⽬录的数据块中,除了⽂件名外,ls-l命令 看到的其它信息保存在该⽂件的inode中。
  • Block 号按照分区划分,不可跨分区

inode和datablock映射(弱化)

inode内部存在 __le32 i_block[EXT2_N_BLOCKS]; /* Pointers to blocks */ , EXT2_N_BLOCKS =15,就是⽤来进⾏inode和block映射的

这样⽂件=内容+属性,就都能找到了。

请解释:知道inode号的情况下,在指定分区,请解释:对⽂件进⾏增、删、查、改是在 做什么?

  • 分区之后的格式化操作,就是对分区进⾏分组,在每个分组中写⼊SB、GDT、Block Bitmap、InodeBitmap等管理信息,这些管理信息统称:⽂件系统
  • 只要知道⽂件的inode号,就能在指定分区中确定是哪⼀个分组,进⽽在哪⼀个分组确定 是哪⼀个inode
  • 拿到inode⽂件属性和内容就全部都有了

少年没有乌托邦,心向远方自明朗!

如果这个博客对你有帮助,给博主一个免费的点赞就是最大的帮助
欢迎各位点赞,收藏关注
如果有疑问或有不同见解,欢迎在评论区留言
后续会继续更新大连理工大学相关课程和有关Linux的内容和示例
点赞加关注,学习不迷路,好,本次的学习就到这里啦!!!

ok,我们本次的学习就结束了!下次再见!

http://www.dtcms.com/wzjs/262253.html

相关文章:

  • 长沙公司网站设计线上营销推广渠道
  • 石家庄正规制作网站公司东莞网络推广培训
  • 有做数学题的网站吗杭州最专业的seo公司
  • b2b企业采购平台常熟seo网站优化软件
  • vs做的网站图片显示不了口碑营销有哪些
  • 如何上国外购物网站网站推广的具体方案
  • 巴彦淖尔市 网站建设新闻软文自助发布平台
  • 重庆房产网站建设潍坊网站建设优化
  • 淘宝网站小视频怎么做的竞价广告代运营
  • 商务网站的建设与管理目前常用的搜索引擎有哪些
  • wordpress清新文艺主题seo关键词软件
  • 网站建设公司取名谷歌下载安装
  • 网站怎么做背景图片免费网站推广网站破解版
  • 南京 网站设计广告公司推广软文
  • 为什么一个人做网站有难度成都关键词seo推广电话
  • 什么网站做奢侈品的工厂店营销型网站和普通网站
  • 大淘客网站如何做seo搜狗网站收录
  • 网站后台发布图片upload failed建网站用什么工具
  • 广州经济技术开发区网络优化工资一般多少
  • 做餐饮要看的网站上海广告公司排名
  • h5企业网站模板 下载创意营销点子
  • 做网站的必要seo中国
  • 网络推广培训吧网站优化外包推荐
  • 钢球 东莞网站建设百度推广手机版
  • 万网域名网站建设福州关键词排名优化
  • 自贡建设专业网站设计今日国内热点新闻头条事件
  • 上海中高端网站建设广告软文营销平台
  • 网站备案幕布照如何做搜索引擎关键词竞价排名
  • 海阳网站建设武汉seo网站推广
  • 做的网站怎么测试工具长沙市最新疫情