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

公司做网站的费用劳动局免费培训项目

公司做网站的费用,劳动局免费培训项目,外贸网站 建设,直播网站开发平台文章目录 一 :penguin:基本概述二 :star: ext2文件系统:star:​ 1. :star:​Boot Block(引导块)位置与作用 三 Block Group(块组):star:​1.:star:​ Super Block(超级块):star:​2.:star:​ Group Descriptor(块组描述符):star:​…

文章目录

      • 一 :penguin:基本概述
      • 二 :star: ext2文件系统
        • :star:​ 1. :star:​Boot Block(引导块)
          • 位置与作用
      • 三 Block Group(块组)
        • :star:​1.:star:​ Super Block(超级块)
        • :star:​2.:star:​ Group Descriptor(块组描述符)
        • :star:​3. :star:Block Bitmap(​块位图)
        • :star:​4. :star: inode Bitmap(inode位图)
        • :star:​5. :star:inode table(inode 表)
        • :star:​6. :star: DataBlocks(数据区)
          • :full_moon_with_face:实际存放的内容
          • :full_moon_with_face:存放的大小

在这里插入图片描述

一 🐧基本概述

ext2(Second Extended File System)是Linux操作系统中经典的文件系统类型之一,它在早期的Linux系统中被广泛使用,为文件和目录在磁盘等存储介质上的存储、管理以及访问提供了一套完善的机制。

二 ⭐️ ext2文件系统

Linux ext2文件系统,磁盘文件系统图
table

⭐️​ 1. ⭐️​Boot Block(引导块)

一个分区至少含有一个Boot Block(引导块),其它为Block Group.

位置与作用

Boot Block通常位于磁盘分区的最开始部分,也就是在整个ext2文件系统所在磁盘分区的起始位置,在超级块(Super Block)之前。它主要用于存放引导程序相关的代码和数据,起着引导操作系统启动的关键作用。

当计算机开机启动时,BIOS(基本输入输出系统)会首先执行硬件自检等初始化操作,之后它会按照预设的启动顺序去查找可引导的设备(比如硬盘)。一旦找到硬盘,BIOS就会将硬盘分区开头处的Boot Block加载到内存中,并将控制权转交给其中的引导程序代码。这个引导程序随后会进一步引导操作系统内核进行加载、初始化等后续启动流程,从而让整个计算机系统正常运转起来。

三 Block Group(块组)

ext2文件系统会根据分区的大小划分为数个Block Group。而每个Block Group都有着相同的结构组成。
位于Linux/fs/ext2/ext2.h

⭐️​1.⭐️​ Super Block(超级块)

存放文件系统本身的结构信息。记录的信息主要有:bolck 和 inode的总量,未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息

// 定义ext2文件系统的超级块结构体
struct ext2_super_block {// 以下是文件系统中inode(索引节点)的总数__le32 s_inodes_count;        /* Inodes count */// 文件系统中总的块(Blocks)数量,用于衡量磁盘分区存储容量大小(以块为单位)__le32 s_blocks_count;        /* Blocks count */// 文件系统中当前空闲的块(Blocks)数量,操作系统可据此知晓还有多少块可用于分配给新文件等操作__le32 s_free_blocks_count;   /* Free blocks count */// 文件系统中当前空闲的inode(索引节点)数量,用于判断是否还能创建新的文件或目录等(每个文件/目录需对应一个inode)__le32 s_free_inodes_count;   /* Free inodes count */// 以2为底的对数形式表示块(Block)大小,例如,若值为10,则块大小为2^10 = 1024字节,用于确定数据存储基本单元的大小__le32 s_log_block_size;      /* Block size */.............................
};
⭐️​2.⭐️​ Group Descriptor(块组描述符)

块组描述符就像是块组的 “管家”,它详细记录了本块组内各种资源(如数据块、inode 等)的使用情况以及关键结构(位图、表等)的位置信息,操作系统在对块组进行操作管理时,首先会读取块组描述符来获取这些基础信息,以便做出合理的资源分配决策等。

struct ext2_group_desc {// 本块组内数据块(Blocks)位图所在的块号,通过这个块号可以定位到块位图(Block Bitmap),__le32 bg_block_bitmap;        /* Blocks bitmap block */// 本块组内inode(索引节点)位图所在的块号,据此能找到inode位图(inode Bitmap),__le32 bg_inode_bitmap;        /* Inodes bitmap block */// 本块组内inode表(Inodes table)所在的块号,通过这个块号可以定位到inode表,__le32 bg_inode_table;         /* Inodes table block */// 本块组内当前空闲的数据块(Blocks)数量统计,操作系统可以据此快速了解当前块组还有多少数据块可供分配,__le16 bg_free_blocks_count;   /* Free blocks count */// 本块组内当前空闲的inode(索引节点)数量统计,结合块组内总的inode数量以及已使用的情况,。__le16 bg_free_inodes_count;   /* Free inodes count */// 本块组内已使用的目录(Directories)数量统计,记录了该块组中包含的目录个数,__le16 bg_used_dirs_count;     /* Directories count */..................
};
⭐️​3. ⭐️Block Bitmap(​块位图)

Block Bitmap中记录着Data Block中哪个数据块已经被占用,哪个数据块没有被占用

  • 🌹它采用二进制位(bit)来表示每个数据块的使用状态。具体而言,块位图中的每一位都与块组内的一个具体数据块相对应,其中:
    • 🌹如果某一位的值为 1,则表示对应的那个数据块已经被占用,即该数据块正在被某个文件用来存储数据内容,不可再分配给其他文件使用。
    • 🌹如果某一位的值为 0,则意味着对应的那个数据块目前处于空闲状态,可供后续创建的文件分配使用,文件系统在为新文件分配磁盘空间时,就会查找这些值为 0 的位对应的空闲数据块进行分配。
⭐️​4. ⭐️ inode Bitmap(inode位图)

使得文件系统能够快速知晓哪些 inode 是空闲的、可分配给新创建的文件或目录使用,哪些 inode 已经被占用,正用于记录已有文件或目录的属性信息等。

  • 🌹采用二进制位(bit)来呈现每个 inode 的使用状态。具体来说,inode 位图中的每一位都与块组内的一个具体 inode 相对应,其中:
    • 🌹 如果某一位的值为 1,则表示对应的那个 inode 已经被占用,意味着该 inode 已被分配给某个文件或目录,用于记录诸如文件权限、所有者、大小以及指向数据块的指针等属性信息,不可再分配给其他文件或目录使用了。
    • 🌹 如果某一位的值为 0,则代表对应的那个 inode 目前处于空闲状态,可供后续创建的文件或目录分配使用。例如,当需要创建一个新文件时,文件系统会扫描 inode 位图,查找值为 0 的位对应的空闲 inode,然后将其分配给新文件,并更新该位为 1,以标记此 inode 已被占用。
⭐️​5. ⭐️inode table(inode 表)

inode 表(inode table)是 ext2 文件系统中每个块组(Block Group)内用于存放该块组内所有文件和目录对应的 inode(索引节点)的区域。
inode 表本质上是由一系列连续存储的 ext2_inode 结构体组成的数组,每个 ext2_inode 结构体对应一个文件或目录。

struct ext2_inode {// 文件模式,用于表示文件的类型(如普通文件、目录、符号链接等)以及相应的权限设置(可读、可写、可执行等权限),__le16 i_mode;                /* File mode */// 文件所有者的用户ID(uid)的低16位,用于标识该文件所属的用户,与系统的用户管理机制相结合,__le16 i_uid;                 /* Low 16 bits of Owner Uid */// 文件的大小,以字节为单位,明确了该文件所包含的数据量大小,这对于文件读写操作时确定读取或写入的范围等操作很关键,__le32 i_size;                /* Size in bytes */// 文件最后一次被访问的时间,以时间戳的形式记录,便于系统统计文件的使用活跃度、了解文件的访问历史,__le32 i_atime;               /* Access time */// 文件的创建时间,记录文件在文件系统中最初生成的时间点,对于追踪文件的来源、了解文件系统的历史变更等方面有一定帮助,__le32 i_ctime;               /* Creation time */...............   
};
⭐️​6. ⭐️ DataBlocks(数据区)
🌝实际存放的内容
  1. 🌝普通文件的数据内容
    对于普通文件来说,数据块区存放的就是文件所包含的实际数据。例如:

    • 🌹文本文件:像 .txt 文件,其包含的文字字符信息会按照一定的编码方式(如 ASCII、UTF-8 等)依次存放在数据块中。比如一个简单的文本文件内容为 “Hello, world!”,这些字符对应的二进制编码就会被顺序存储在某个或某些数据块里。
  2. 🌝 目录文件的数据内容
    目录在 ext2 文件系统中也是一种特殊的文件,其数据块区存放的是目录项(Directory Entry)信息。每个目录项主要包含两部分关键内容:

    • 🌹文件名:记录了该目录下包含的文件或子目录的名称,
    • 🌹对应 inode 编号:通过文件名关联其对应的 inode 编号,以此建立起从文件名到文件实际属性和数据存储位置(通过 inode 去查找)的映射关系。
🌝存放的大小
  1. 🌹数据块大小设定
    数据块区中数据块的大小是在文件系统创建(格式化磁盘分区时)被设定的,常见的规格有 1024 字节(1KB)、2048 字节(2KB)、4096 字节(4KB)等 一般为4KB)。

  2. 🌹文件数据占用数据块数量及大小情况

    • 小文件:如果一个文件的数据量小于设定的数据块大小,那么该文件的数据只占用一个数据块,这个数据块剩余的空间暂时处于未使用状态(但在文件系统层面仍将整个数据块视为被该文件占用)
    • 大文件:对于数据量较大的文件,会根据文件系统采用的分配算法(如连续分配、链式分配、索引分配等,前面已介绍过)占用多个数据块。

在这里插入图片描述

http://www.tj-hxxt.cn/news/11836.html

相关文章:

  • 北京专业网站制作介绍网络建站工作室
  • 一蓝网站建设seo教程优化
  • 网站怎么防k电脑优化软件哪个好用
  • 贵州网站开发制作公司12345浏览器网址大全
  • 支付网站建设费用做账怎么上百度推广产品
  • 哪些动物可以做网站名病毒营销案例
  • 微信开发app网站内容seo
  • 有专门学做衣服网站有哪些谷歌搜索引擎入口2022
  • 手机ppt在哪个网站做搜索网站
  • 长沙企业建站销售电话新网站百度seo如何做
  • 做爰视频高潮免费网站外贸网站制作推广
  • 平台网站建设源码文件外链
  • 策划设计网站搜索引擎优化是免费的吗
  • 做金融在那个网站上找工作aso优化排名推广
  • 制作手机的游戏上首页的seo关键词优化
  • 新闻资讯网站怎么做优化seo
  • 网站开发需要干什么软文广告推广
  • 定制网页开发长沙优化科技
  • 网站站长在哪登陆后台外贸网站建设公司
  • 西安旅游必去十大景点推荐seo外推软件
  • 做网站市场报价步登顶北京网站营销seo方案
  • 网站建设有哪些家什么是广告营销
  • wordpress 全站不刷新百度助手免费下载
  • gateface能用来做网站吗seo培训中心
  • 数据库2008做企业网站长沙网站制作推广
  • 做个个人网站多少钱滨州网站建设
  • 做nba直播网站优化排名 生客seo
  • 免费下载ppt的网站百度最新版下载
  • 做网站要注册商标在线优化工具
  • 开发一个彩票网站多少钱建网站专业