JFS 文件系统概述及布局分析.docx

上传人:b****3 文档编号:11168649 上传时间:2023-05-29 格式:DOCX 页数:32 大小:43.16KB
下载 相关 举报
JFS 文件系统概述及布局分析.docx_第1页
第1页 / 共32页
JFS 文件系统概述及布局分析.docx_第2页
第2页 / 共32页
JFS 文件系统概述及布局分析.docx_第3页
第3页 / 共32页
JFS 文件系统概述及布局分析.docx_第4页
第4页 / 共32页
JFS 文件系统概述及布局分析.docx_第5页
第5页 / 共32页
JFS 文件系统概述及布局分析.docx_第6页
第6页 / 共32页
JFS 文件系统概述及布局分析.docx_第7页
第7页 / 共32页
JFS 文件系统概述及布局分析.docx_第8页
第8页 / 共32页
JFS 文件系统概述及布局分析.docx_第9页
第9页 / 共32页
JFS 文件系统概述及布局分析.docx_第10页
第10页 / 共32页
JFS 文件系统概述及布局分析.docx_第11页
第11页 / 共32页
JFS 文件系统概述及布局分析.docx_第12页
第12页 / 共32页
JFS 文件系统概述及布局分析.docx_第13页
第13页 / 共32页
JFS 文件系统概述及布局分析.docx_第14页
第14页 / 共32页
JFS 文件系统概述及布局分析.docx_第15页
第15页 / 共32页
JFS 文件系统概述及布局分析.docx_第16页
第16页 / 共32页
JFS 文件系统概述及布局分析.docx_第17页
第17页 / 共32页
JFS 文件系统概述及布局分析.docx_第18页
第18页 / 共32页
JFS 文件系统概述及布局分析.docx_第19页
第19页 / 共32页
JFS 文件系统概述及布局分析.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JFS 文件系统概述及布局分析.docx

《JFS 文件系统概述及布局分析.docx》由会员分享,可在线阅读,更多相关《JFS 文件系统概述及布局分析.docx(32页珍藏版)》请在冰点文库上搜索。

JFS 文件系统概述及布局分析.docx

JFS文件系统概述及布局分析

JFS文件系统概述及布局分析

日志文件系统如何缩短系统重启时间

  如果发生系统崩溃,JFS提供了快速文件系统重启。

通过使用数据库日志技术,JFS能在几秒或几分钟之内把文件系统恢复到一致状态,而非日志文件系统却要花上几小时甚至几天才能完成。

本白皮书对JFS体系结构作了概述,并且描述了可在developerWorks网站上找到的JFS技术的设计特性、潜在限制以及管理实用程序。

  日志文件系统(JFS)提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。

它具有可伸缩性和健壮性,与非日志文件系统相比,它的优点是其快速重启能力:

JFS能够在几秒或几分钟内就把文件系统恢复到一致状态。

  虽然JFS主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,JFS还可用于想得到高性能和可靠性的客户机配置。

  体系结构和设计

  JFS体系结构可从磁盘布局特性的角度进行说明。

  逻辑卷

  所有文件系统讨论的基础是某种类型的逻辑卷。

这可以是一个物理磁盘,或物理磁盘空间的某个子集,例如:

一个FDISK分区。

逻辑卷也称为磁盘分区。

  聚集和文件集

  文件系统创建实用程序mkfs,创建了完全包含在分区内的聚集。

聚集是包含一种特定格式的磁盘块阵列,其格式包括超级块和分配映射表。

超级块将分区标识成JFS聚集,而分配映射表描述聚集内每个数据块的分配状态。

格式还包括描述它所必需的初始文件集和控制结构。

文件集是可安装的实体。

  文件、目录、inode与寻址结构

  文件集包含文件和目录。

文件和目录由inode持续表示;每个inode描述文件或目录的属性,并作为查找磁盘上文件或目录数据的起始点。

JFS还使用inode来表示其它文件系统对象,如描述文件集中每个inode的分配状态和磁盘位置的映射表。

  目录将用户特定的名称映射到为文件和目录所分配的inode上,并且形成传统的命名层次。

文件包含用户数据,用户数据中没有隐含任何限制或格式。

也就是说,JFS将用户数据看成是未解释的字节流。

根植于inode基于盘区的寻址结构用来将文件数据映射到磁盘。

聚集超级块和磁盘分配映射表、文件描述符和inode映射表、inode、目录以及寻址结构一起表示了JFS控制结构或元数据。

  日志

  在每个聚集中维护JFS日志,并且用来记录元数据的操作信息。

日志有一种同样由文件系统创建实用程序设置的格式。

聚集内多个安装的文件集可以同时使用一个日志。

  设计特性

  JFS从一开始就设计成完全集成了日志记录,而不是在现有文件系统上添加日志记录。

JFS的许多特性使之区别于其它文件系统。

  日志处理

  JFS提供了改进的结构化一致性和可恢复性,以及比非日志文件系统(例如:

HPFS、ext2和传统UNIX文件系统)快得多的系统重启时间。

发生系统故障时非日志文件系统容易崩溃,是由于一个逻辑写文件操作通常占用多个媒体I/O来完成,且在任何给定时间,可能没有完全反映在媒体上。

这些文件系统依靠重启实用程序(也就是fsck),fsck检查文件系统的所有元数据(例如:

目录和磁盘寻址结构)以检测和修复结构完整性问题。

这是一个耗时并且容易出错的过程,在最糟糕的情况下,它还可能丢失或放错数据。

  相反,JFS使用原来为数据库开发的技术,记录了文件系统元数据上执行的操作(即原子事务)信息。

如果发生系统故障,可通过重放日志并对适当的事务应用日志记录,来使文件系统恢复到一致状态。

由于重放实用程序只需检查文件系统最近活动所产生的运行记录,而不是检查所有文件系统的元数据,因此,与这种基于日志的方法相关的文件系统恢复时间要快得多。

  基于日志恢复的其它几个方面也值得注意。

首先,JFS只记录元数据上的操作,因此,重放这些日志只能恢复文件系统中结构关系和资源分配状态的一致性。

它没有记录文件数据,也没有将这些数据恢复到一致状态。

因此,恢复后某些文件数据可能丢失或失效,对数据一致性有关键性需求的用户应该使用同步I/O。

  面对媒体出错,日志记录不是特别有效。

特别地,在将日志或元数据写入磁盘的期间发生的I/O错误,意味着在系统崩溃后,要将文件系统恢复到一致状态,需要耗时并且有可能强加的全面完整性检查。

这暗示着,坏块重定位是任何驻留在JFS下的存储管理器或设备的一个关键特性。

  JFS日志记录的语义如下:

当涉及元数据更改的文件系统操作--例如,unlink()--返回成功执行的返回码时,操作的结果已经提交到文件系统,即使系统崩溃了也可以发现。

例如,一旦成功删除了文件,即使系统崩溃然后重启,它仍然是删除的并且不会再重新出现。

  日志记录风格将同步写入日志磁盘引入每个修改元数据的inode或vfs操作。

(对数据库专家而言,这是一种使用非剥夺缓冲区策略的仅重做的、物理残留映象、提前写的日志记录协议。

)在性能方面,与依赖(多个)谨慎的同步元数据写操作以获得一致性的许多非日志文件系统相比,这种方法较好。

但是,与其它日志文件系统相比,它在性能上处于劣势。

其它日志文件系统,如VeritasVxFS和TransarcEpisode,使用不同的日志风格并且缓慢地将日志数据写入磁盘。

在执行多个并行操作的服务器环境中,通过将多个同步写操作组合成单一写操作的组提交来减少这种性能损失。

JFS日志记录风格随着时间推移而得到不断改进,现在提供了异步日志记录,异步日志记录提高了文件系统的性能。

  基于盘区的寻址结构

  JFS使用基于盘区的寻址结构,连同主动的块分配策略,产生紧凑、高效、可伸缩的结构,以将文件中的逻辑偏移量映射成磁盘上的物理地址。

盘区是象一个单元那样分配给文件的相连块序列,可用一个由<逻辑偏移量,长度,物理地址>组成的三元组来描述。

寻址结构是一棵B+树,该树由盘区描述符(上面提到的三元组)填充,根在inode中,键为文件中的逻辑偏移量。

  可变的块尺寸

  按文件系统分,JFS支持512、1024、2048和4096字节的块尺寸,以允许用户根据应用环境优化空间利用率。

较小的块尺寸减少了文件和目录中内部存储碎片的数量,空间利用率更高。

但是,小块可能会增加路径长度,与使用大的块尺寸相比,小块的块分配活动可能更频繁发生。

因为服务器系统通常主要考虑的是性能,而不是空间利用率,所以缺省块尺寸为4096字节。

  动态磁盘inode分配

  JFS按需为磁盘inode动态地分配空间,同时释放不再需要的空间。

这一支持避开了在文件系统创建期间,为磁盘inode保留固定数量空间的传统方法,因此用户不再需要估计文件系统包含的文件和目录最大数目。

另外,这一支持使磁盘inode与固定磁盘位置分离。

  目录组织

  JFS提供两种不同的目录组织。

第一种组织用于小目录,并且在目录的inode内存储目录内容。

这就不再需要不同的目录块I/O,同时也不再需要分配不同的存储器。

最多可有8个项可直接存储在inode中,这些项不包括自己(.)和父(..)目录项,这两个项存储在inode中不同的区域内。

  第二种组织用于较大的目录,用按名字键控的B+树表示每个目录。

与传统无序的目录组织比较,它提供更快的目录查找、插入和删除能力。

  稀疏和密集文件

  按文件系统分,JFS既支持稀疏文件也支持密集文件。

  稀疏文件允许把数据写到一个文件的任意位置,而不要将以前未写的中间文件块实例化。

所报告的文件大小是已经写入的最高块位处,但是,在文件中任何给定块的实际分配,只有在该块进行写操作时才发生。

例如,假设在一个指定为稀疏文件的文件系统中创建一个新文件。

应用程序将数据块写到文件中第100块。

尽管磁盘空间只分配了1块给它,JFS将报告该文件的大小为100块。

如果应用程序下一步读取文件的第50块,JFS将返回填充了0的一个字节块。

假设应用程序然后将一块数据写到该文件的第50块,JFS仍然报告文件的大小为100块,而现在已经为它分配了两块磁盘空间。

稀疏文件适合需要大的逻辑空间但只使用这个空间的一个(少量)子集的应用程序。

对于密集文件,将分配相当于文件大小的磁盘资源。

在上例中,第一个写操作(将一块数据写到文件的第100块)将导致把100个块的磁盘空间分配给该文件。

在任何已经隐式写入的块上进行读操作,JFS将返回填充了0的字节块,正如稀疏文件的情况一样。

JFS内部(潜在)限制

  JFS是完全64位的文件系统。

所有JFS文件系统结构化字段都是64位大小。

这允许JFS同时支持大文件和大分区。

  文件系统大小

  JFS支持的最小文件系统是16M字节。

最大文件系统的大小是文件系统块尺寸和文件系统元数据结构支持的最大块数两者的乘积。

JFS将支持最大文件长度是512万亿字节(TB)(块尺寸是512字节)到4千万亿字节(PB)(块尺寸是4K字节)

  文件长度

  最大文件长度是主机支持的虚拟文件系统最大文件长度。

例如:

如果主机只支持32位,则这就限制了文件长度。

  可移动媒体

  JFS不支持把软盘作为基本文件系统设备。

  标准管理实用程序

  JFS提供创建和维护文件系统的标准管理实用程序。

  创建文件系统

  这个实用程序提供mkfs命令的JFS特定部分,用来在指定的驱动器上初始化JFS文件系统。

该实用程序在较低级别上操作,并假设文件系统所存在的任何卷的创建/初始化由更高级别的另一个实用程序处理。

  检查/修复文件系统

  这个实用程序提供fsck命令的JFS特定部分。

该命令检查文件系统的一致性,修复发现的问题。

它也重放日志,把提交的改动应用到文件系统元数据,如果由于日志重放而声明文件系统是干净的,就不会再采取进一步操作。

如果文件系统不认为是干净的,这意味着由于某种原因没有完整和正确地重放日志,或者文件系统不能单靠重放日志来恢复到一致状态,那么,就对文件系统执行一遍完整检查。

  当执行全部完整性检查时,检查/修复实用程序首要目的是要达到可靠的文件系统状态,以防止将来文件系统崩溃或故障,第二个目的就是面对崩溃时保存数据。

这意味着为了达到文件系统的一致性,实用程序可能丢弃数据。

具体而言,当实用程序在不做假设的情况下,无法获得所需信息以将结构上不一致的文件或目录恢复到一致状态时,就会废弃数据。

当遇到不一致的文件或目录时,就废弃整个文件或目录,而不再试图保存任何部分。

任何由删除受损目录所孤立起来的文件或子目录,都放在文件系统根下的lost+found目录中。

  文件系统检查/修复实用程序重点考虑的因素之一是所需虚存数量。

通常,这些实用程序所需的虚存数量由文件系统的大小决定,这是由于所需虚存主要用于跟踪文件系统中个别块的分配状态。

随着文件系统增大,块的数量增多,用来跟踪这些块所需的虚存数量也随之增加。

  JFS检查/修复实用程序的设计区别在于其虚存需求由文件系统中文件和目录的数量(而不是由块的数量)所决定。

对JFS检查/修复实用程序而言,每个文件或目录的虚存大约为每个文件或目录32字节,或者对于包含百万个文件和目录的文件系统而言,不论其文件系统大小,虚存需求都是大约32兆字节。

如同所有其它的文件系统,JFS实用程序需要跟踪块分配状态,但避免使用虚存方法,而是使用位于实际文件系统中的一小块保留工作区来实现。

  日志文件系统如何处理磁盘布局

  本文描述磁盘日志文件系统(JFS)布局,以及使用磁盘布局结构来实现可扩展性、可靠性和性能的机制。

还会了解用来操作这些结构的策略和算法,以及JFS是在哪里使用遍布文件系统的B+树来提高文件系统操作性能。

  JFS体系结构可通过其磁盘布局特性的上下文进行说明。

磁盘布局是JFS用来控制文件系统的格式。

本文讨论盘区的文件几何构造、目录格式、块分配映射表格式、inode和布局结构的其它特性。

本文还提供了文件布局使用的B+树数据结构的细节和示例。

选择B+树是为了提高读写盘区的性能,这是JFS执行的最普通操作。

  分区、聚集、分配组、文件集

  分区

  JFS文件系统建立在分区上,分区是由FDISK导出到JFS的抽象。

  分区有:

  固定分区块尺寸,其合法值为512、1024、2048或4096字节。

分区块尺寸定义了分区上支持的最小I/O单元。

这对应于组成分区的物理设备的基本磁盘扇区大小,最普遍的尺寸是512字节。

  大小为:

PART_NBlocks,是分区磁盘块数。

  分区磁盘块的抽象地址空间[0..PART_NBlocks-1]。

 

  聚集

  为了支持DCEDFS(分布式计算环境分布式文件系统),JFS将磁盘空间分配池(称为聚集)的概念,与可安装的文件系统子树(称为文件集)的概念分开。

本文中聚集和文件集的术语与其DFS用法一致。

每个分区刚好只有一个聚集;每个聚集可能有多个文件集。

在第一个发行版中,JFS仅支持每个聚集一个文件集;但是,所有元数据都已设计成适用于所有情况。

  聚集有:

  在此聚集的开始部分有32K保留区域。

  固定的聚集块尺寸,其合法值为512、1024、2048或4096字节,但不小于分区块尺寸。

聚集块尺寸定义了聚集上支持的最小空间分配单元。

不要把它与分区块尺寸混淆起来,后者定义的是I/O的最小单元。

  主聚集超级块和辅助聚集超级块。

超级块包含聚集方面的信息,例如:

聚集的大小、分配组的大小、聚集块的尺寸等等,辅助聚集超级块是主聚集超级块的直接副本。

如果主聚集超级块损坏,则使用辅助聚集超级块。

这些超级块位于固定位置。

这使得JFS不依赖任何其它信息,就能够找到它们。

超级块结构在jfs_superblock.h的structjfs_superblock中定义。

  聚集inode表,包含描述聚集范围的控制结构的inode。

聚集inode表逻辑上包含一个inode数组。

聚集无目录结构;在聚集或文件集名字空间中,任何地方都没有聚集inode。

  辅助聚集inode表,包含从聚集inode表复制的inode。

由于对任何文件系统信息的查找而言,聚集inode表中的inode都是至关重要的,所以它们每一个在辅助聚集inode表中都有备份。

当然,不会复制inode的实际数据,而只是复制可用来查找数据和inode本身的寻址结构。

  聚集inode映射表,描述聚集inode表。

聚集inode分配映射表包含聚集inode上及其磁盘位置上的分配状态信息。

 

  辅助聚集inode映射表,描述辅助聚集inode表。

由于必须复制聚集inode表本身,辅助聚集inode映射表实际上是与聚集inode分配映射表分开的映射结构。

  块分配映射表,描述在聚集内分配和释放聚集磁盘块的控制结构。

块分配映射表在聚集磁盘块内进行一对一映射。

  fsck工作区,它为fsck提供用来跟踪聚集块分配的空间。

因为JFS支持超大聚集,所以这一区域是必需的;当fsck运行时,可能没有足够的内存用来跟踪内存中的这些信息。

超级块描述了这一区域。

每个聚集块需要一位。

fsck工作区总是存在于聚集的末端。

  内嵌日志为记录聚集中的元数据更改提供了空间。

超级块描述了这一区域。

内嵌日志总是紧跟fsck工作空间后。

  初始情况下,在聚集创建时分配了第一个inode盘区。

按需要动态分配和释放其它inode盘区。

每个聚集inode描述聚集本身的某些方面,如下:

  保留聚集inode0。

  聚集inode1,即自身inode,描述包括聚集inode映射表的聚集磁盘块。

这是一种循环表示法,因为聚集inode1本身也在自己所描述的文件中。

可通过强制规定至少第一个聚集inode盘区要在众所周知的位置,即主聚集超级块后面4K的位置,来处理以上显而易见的循环表示法问题。

因此,JFS能轻而易举地找到聚集inode1,从聚集inode1,通过跟随inode1中的B+树,能找到聚集inode表的余下inode。

  要复制聚集inode表,JFS还需要找到聚集inode1的副本,以查找所复制表的其余部分。

超级块会包含一个盘区描述符,该描述符描述辅助聚集inode表的第一个inode盘区的位置。

JFS能够从中找到辅助聚集inode1,以及辅助聚集inode表的余下部分。

 

  聚集inode2描述块分配映射表。

  聚集inode3描述安装时的内嵌日志。

虽然分配了inode,但无数据存入磁盘。

  聚集inode4描述在聚集格式化期间发现的坏块。

在块映射表中这些标记成已分配。

该inode是数据为坏块的普通文件。

保留聚集inode5到15以备将来扩展。

  从聚集inode16开始,每个文件集有一个inode,即文件集分配映射表inode。

这个inode描述了表示文件集的控制结构。

当更多文件集添加到聚集中时,为了容纳更多的文件集inode,聚集inode表本身可能必须增大。

  分配组

  分配组(AG)把聚集中的空间分成大块,并且允许JFS资源分配策略使用众所周知的方法,来实现更好的JFSI/O性能。

首先,分配策略尝试将相关数据的磁盘块和磁盘inode集群起来,使磁盘实现好的局域性。

文件通常是顺序地读写,而目录中的文件通常一起访问。

其次,为了容纳局域性,分配策略尝试在整个聚集中分配不相关数据。

聚集内的分配组用从0开始的AG(分配组)索引。

即用AG标识。

  必须选择分配组大小,以使AG足够大以不断提供连续资源分配。

为了将聚集扩充或缩小时所需进行的更新数最小化,分配组必须限制最大组数128。

此外,JFS将对8192个聚集块的分配组大小规定其最小值。

分配组大小必须总是1个dmap页(1、2、4、8、...dmap页)描述的块数的2的幂次方。

分配组大小在聚集超级块中存储。

  大小不是分配组大小倍数的聚集将包含部分分配组;磁盘块没有完全覆盖聚集的最后一个分配组。

除了JFS将标记在块分配映射表中分配的却不存在的磁盘块之外,该部分分配组将被当作完整的分配组。

  文件集

  文件集是文件和目录的集合,这些文件和目录形成了可独立安装的子树。

文件集完全包含在一个聚集中。

请注意,一个聚集中可能有多个文件集;在那种情况下,所有文件集共享由聚集控制结构定义的空闲聚集磁盘块公共池。

  文件集有:

  文件集inode表,包含描述文件集范围的控制结构的inode。

文件集inode表逻辑上包含一个inode数组。

  文件集inode分配映射表,描述文件集inode表。

文件集inode分配映射表包含文件集inode上及其磁盘位置上的分配状态信息。

描述文件集分配映射表和其他文件集信息的超级inode,驻留前面所描述的聚集inode表中。

由于复制了聚集inode表,因此这个inode存在第二个版本,它指向同样的数据。

超级inode本身是一个文件。

当文件集一开始创建时,分配第一个inode盘区按需要动态分配和释放其它inode盘区。

  文件集中inode的分配如下所示:

  保留文件集inode0。

  文件集inode1包含附加的文件集信息,它们无法放入聚集inode表中的文件集分配映射表inode。

  文件集inode2是文件集的根目录inode。

注意,JFS保留了inode2是文件系统的根这一公共Unix约定。

  文件集inode3是文件集的ACL文件。

  从文件集inode4开始,文件集inode用于一般文件集对象、用户文件、目录和符号链接。

  盘区、inode、B+树

  盘区是当作单元分配给JFS对象的连续聚集块序列。

盘区完全包含在一个聚集(并且因此也是在一个分区)中;但是,大盘区可能跨多个分配组。

  每个JFS对象可用一个inode来表示。

inode包含预期的对象特定信息,例如:

时间戳和文件类型。

它们还包含记录盘区分配的B+树。

注意,所有JFS元数据结构(除超级块之外)都以文件表示。

通过重用这种数据的inode结构,数据格式(即磁盘布局)自然是可扩展的。

  盘区、B+树、inode在以下章节中详细描述。

  盘区

  文件是按盘区顺序分配的。

盘区是当作一个单元分配的聚集块的连续变长序列。

盘区的尺寸范围是1到2(24)-1个聚集块。

盘区可能跨越多个分配组(AG)。

为了在插入新盘区、定位特定盘区等操作方面有更优性能,这些盘区是按B+树索引的。

  定义一个盘区需要两个值,即其长度和其地址。

长度以聚集块尺寸为单位计算。

JFS使用24位值来表示盘区的长度,因此盘区的范围大小是1到2(24)-1个聚集块。

  对于512字节的聚集块尺寸(所允许的最小值),最大盘区是512*(2(24)-1)字节,(比8G稍小)。

对于4096字节的聚集块尺寸(所允许的最大值),盘区的最大长度是4096*(2(24)-1)字节,(比64G稍小)。

这些限制仅适用于一个的盘区;对整体文件大小没有限制作用。

地址指的是盘区中第一个块的地址。

地址同样以聚集块为单位:

它从聚集的开始处计算块偏移量。

  结合了用户特定聚集块尺寸的基于盘区的文件系统,允许JFS不需要单独支持内部存储碎片。

可配置聚集使用小的聚集块尺寸(例如,512字节),以使大量小尺寸文件的聚集内部存储碎片最小化。

  通常,JFS分配尝试通过分配最小数量的盘区策略,而使每个盘区尽可能大。

这就允许大的I/O传送,结果使得性能提高。

然而,对于特殊情况,不一定总有这种结果。

例如,一个段的写入时复制会造成连续盘区被分割成更小的连续盘区系列。

另一种情况是盘区大小的限制。

例如:

由于JFS必须把整个盘区读入内存,然后进行解压缩,所以压缩文件盘区大小是有限的。

由于JFS的可用内存数量有限,因此它必须保证有足够的空间用于解压缩盘区。

  提供了一个碎片整理实用程序,以减少动态分配/释放可变长盘区时出现的外部存储碎片。

这种分配和释放可能导致不相连的变长空闲盘区遍及整个聚集。

碎片整理实用程序会把多个小的空闲盘区合并成一个较大的盘区。

  inode

  JFS磁盘inode是512字节。

一个JFS磁盘inode包含4组基本信息。

第一组描述JFS对象的POSIX属性。

第二组描述JFS对象的其它属性;这些属性包括支持VFS必需的信息、操作系统环境特定的信息、以及B+树的头部。

第三组不是包含B+树根节点的盘区分配描述符就是包含内嵌数据。

第四组包含扩展属性、更多内嵌数据或附加的盘区分配描述符。

在jfs_dinode.h的structdinode中定义磁盘inode结构。

  JFS动态分配inode提供的好处如下:

  inode磁盘块可放在任

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2