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

网站开发平台郑州网站建设制作

网站开发平台,郑州网站建设制作,罗湖网站设计开发,公司网站维护由那个部门做《Linux操作系统原理分析之Linux文件管理(1)》(25) 8 Linux文件管理8.1 Linux 文件系统概述8.2 EXT2 文件系统8.2.1 EXT2 文件系统的构造8.2.2 EXT2 超级块(super block)8.2.3 组描述符8.2.4 块位图 8.3 EX…

《Linux操作系统原理分析之Linux文件管理(1)》(25)

  • 8 Linux文件管理
    • 8.1 Linux 文件系统概述
    • 8.2 EXT2 文件系统
      • 8.2.1 EXT2 文件系统的构造
      • 8.2.2 EXT2 超级块(super block)
      • 8.2.3 组描述符
      • 8.2.4 块位图
    • 8.3 EXT2 的 inode 和文件结构
      • 8.3.1 EXT2 文件系统 inode 结构
      • 8.3.2 inode 表和 inode 位图
      • 8.3.3EXT2 文件的物理结构
      • 8.3.4 EXT2 的目录结构

8 Linux文件管理

8.1 Linux 文件系统概述

本章主要介绍 EXT2 文件系统的结构特点以及 linux 虚拟文件系统 VFS 的特点及其实现技术。

  1. Linux 文件系统的树型结构
    Linux 最上层的是根目录,用/表示。
    在这里插入图片描述
    Linux 采用目录分解的方法管理文件目录。在树型目录中的目录项是文件的符号目录。如下图所示:
    在这里插入图片描述

  2. Linux 文件类型
    普通文件
    目录文件
    设备文件
    管道文件
    链接文件(基于索引节点共享)

  3. 文件的访问权限
    Linux 中的每个文件都归于一个特定的用户所有,而且一个用户一般都是与某个用户组相关。所以,linux 设置了三种针对访问者身份的权限:文件所有者、与文件所有者同组的用户、其他用户。
    对文件的访问限制主要体现在文件的 3 种操作上,即文件的读取、写入和执行。对 3 种访问者的 3 种操作限制形成了 9 种情况,用 9 位二进制代码表示。

-rwxr-xr-x 1 user wheel 3212 Dec 4 12:36 a.out

8.2 EXT2 文件系统

8.2.1 EXT2 文件系统的构造

一个文件系统一般使用块设备上的一个独立逻辑分区,在这个分区内建立文件系统的树型层次结构 。EXT2 文件系统由逻辑序列块序列组成。EXT2 文件系统把它所使用的磁盘逻辑分区划分为若干块组(block group),并从 0 开始依次编号。每个块组中包含若干数据块,其中存放文件内容。每个组中除数据块之外包括 5 种用于管理和控制的信息块:超级块、组描述符、块位图、inode 位图和 inode 表。这些信息位
于每个块组的前部,后面是文件的数据块。

在这里插入图片描述

8.2.2 EXT2 超级块(super block)

EXT2 超级块(super block):用来描述 EXT2 文件系统整体信息的数据结构,主要描述文件在逻辑分区中的静态分布情况,以及描述文件系统的各种组成结构的尺寸、数量等。所有块组中包含的超级块的内容是相同的。系统运行期间 系统运行期间, 需要把超级块中的内容复制到内存缓冲区内。

在 linux 中,EXT2 文件系统超级块定义为 ext2_super_block 结构,定义在/include/linux/ext2_fs.h 中 。EXT2 超级块由两部分组成:

基本超级块:EXT2 文件系统得整体静态信息。
扩充块:反映所在块组的某些动态特性。

超级块本身占用一个物理块(1024B),基本块占 84B,扩充块占 20B,剩余的 920B 定义为元素长度为 4B 的数组 reserved[230],作为备用。

在这里插入图片描述

8.2.3 组描述符

组描述符:记录各个组块的描述信息(在位文件分配磁盘空间时需要使用这些信息)。这些组描述符集中在一起,就形成了组描述符表。组描述符可能占用多个物理块。和超级块一样的是:每个组块中的组描述符的内容完全相同,而且它的内容也要读入内存。

在这里插入图片描述
在 linux 中,组描述符(32B)是一个 ext2_group_desc 结构,定义在/include/linux/ext2_fs.h 中:

8.2.4 块位图

块位图:记录每块组的数据块的使用情况。它占用一个物理块。所以一个块组中数据块的最大数量是一个物理块的长度的 8 倍。例:对 1024 的物理块而言,其块位图就有 1024*8 位,即可以表示 8K 个数据块,也就是说一个块组的数据区的最大容量是 8M。如果 EXT2 文件系统使用的逻辑分区为 100M,则它可以划分为 12 个块组。

系统运行后,块位图装入一个高速缓存中,但是由于高速缓存空间有限,故只装入当前常用的 8 块(缺省值)位图。

8.3 EXT2 的 inode 和文件结构

8.3.1 EXT2 文件系统 inode 结构

Linux 中 EXT2 文件系统 inode 定义为 struct ext2_inode。它定义在/include/linux/ext2_fs.h。

8.3.2 inode 表和 inode 位图

inode 表:一个块组的所有文件的 inode 的集合。它可能占据多个物理块。每个块组可以包含的 inode 的数目由超级块中的成员项 s_inoders_per_group 给出。

Inode 位图:反映了 inode 表中各个项的使用情况,它的每一位表示 inode 表的一个表项。1 使用;0 空闲。与块位图相似,inode 位图也装入一个高速缓冲中。
在这里插入图片描述

8.3.3EXT2 文件的物理结构

采用混合索引结构。Inode 中 i_block[]数组共有 15 个地址。如下图所示:
EXT2 文件默认的物理块尺寸为 1K,EXT2 的块地址长度 4B,所以每个间接块中的索引表可以包括1024/4=256 个物理地址。所以

1.直接地址:允许文件不大于 12K 
2.一次间接地址:当文件大于 12K 时采用,允许文件长达 256K+12K
3.二次间接地址: 当文件大于 256K+12K 时采用,允许文件长达 256*256*K+256K+12K
4.三 次 间 接 地 址 : 当 文 件 大 于 256*256K+256K+12K 时 采 用 , 允 许 文 件 长 达256*256*256K+256*256K+256K+12K=16G+64M+256K+12K

但是实际上 linux 是 32 位文件系统,文件尺寸最大为 4G。
EXT2 文件系统按照文件的逻辑块号为索引值查找数据块,逻辑块从 0 依次编号。
例:如何查找逻辑块号 100 对应的物理块。

8.3.4 EXT2 的目录结构

Linux 树型目录结构中,每个文件目录都是一个目录文件,每个目录项都是一个 ext2_dir_entry 结构体,它
就是一个文件的符号目录。定义在/include/linux/ext2_fs.h。

Struct ext2_dir_entry
{
_u32 inode; /*inode 号*/
_u16 rec_len; /*目录项长度*/
_u16 name_len; /*文件名长度*/
Char name[EXT2_NAME_LEN]/*文件名*/
}

EXT2_NAME_LEN 缺省为 255,也就是文件名最大可以用 255 个字符。另外目录项长度根据文件名长度的大小是可变的。但是必须是 4 的倍数,不用部分用\0 填充。
删除文件时,将相应的 inode 号字段置 0,如果相邻有空白目录项则合并。
添加文件时,找到一个长度合适的空白目录项,并写入相应信息;若空白表项使用后剩余空间大于12B,则把剩余部分仍作为空白目录项。如果找不到合适的空目录项,就在文件尾部建立这个文件的目录项。

http://www.fp688.cn/news/145024.html

相关文章:

  • 大连开发区规划建设局网站seo外包杭州
  • 做招聘的网站有哪些内容网站收录查询网
  • 义乌公司做网站wap网站html5
  • 怎么做网站后期推广如何注册一个网站
  • 网站突然打不开了万网域名管理入口
  • 福州网站建设哪家好网站建站公司
  • 青岛高级网站建设服务长沙网站制作主要公司
  • 网站后台凡科建设百度商店应用市场
  • 移动应用开发主要学什么就业如何重庆seo公司怎么样
  • 英文营销网站建设免费做推广的网站
  • 做网站接专线费用设计公司取名字大全集
  • 教育app定制西安关键词优化平台
  • 广州天河区建设网站新浪博客seo
  • 大连网站制作的公司软文营销的优势
  • 网站禁止访问怎么解除营销策划公司
  • 网站建设和网页设计的关系友链互换平台推荐
  • 请别人做网站需要注意什么问题网站流量
  • welcome官方网站客服seo查询排名系统
  • 可遇公寓网站哪个公司做的汽车推广软文
  • 如何让人帮忙做网站宁波seo软件
  • asp.net网站建设论文网络营销最基本的应用方式是什么
  • 如何开发自己的软件广州seo优化效果
  • wordpress发卡插件seo内容优化是什么
  • 做网站要钱么怎样在百度上做免费推广
  • 小学做试卷的网站企业邮箱怎么申请
  • 一个虚拟主机可以做两个网站吧开发新客户的十大渠道
  • 起个娱乐网站名字外贸营销型网站建设公司
  • 深圳最火的网站万网域名查询工具
  • 怎么用joomla做网站网站搜索量查询
  • 给人做时时彩网站建设搜狐酒业峰会