首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SquashFS如何处理解压缩?

SquashFS如何处理解压缩?
EN

Unix & Linux用户
提问于 2022-08-08 06:37:08
回答 2查看 305关注 0票数 0

SquashFS如何处理解压缩?我对LZ4在SquashFS文件系统上的开销感兴趣。我的理论是,SquashFS文件系统中的文件在读取过程中会被解压缩。目录列表呢?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2022-08-08 08:06:01

SquashFS在在内核文档中中有一些详细的文档。SquashFS文件系统的所有内容都可以被压缩,包括inode和目录条目;inode和目录条目也被专门布置以改进压缩。

这意味着从文件系统读取的任何数据或元数据都需要解压缩;但是,开销在一定程度上减少了使用缓存

  • 文件数据被解压到页面缓存中,因此同一页中的多次读取不需要多次解压缩数据;
  • 元数据和片段(尾端打包块)被解压缩为小的、特定的元数据和片段缓存,因此对相同元数据块的多次读取(例如,列出目录的内容时)不需要多次解压缩相同的块。

还有各种查找表,以加快涉及各种索引(块、用户和组标识符以及片段)的操作。

票数 2
EN

Unix & Linux用户

发布于 2022-08-08 07:36:44

来自man mksquashfs (重点雷):

quashfs是一个高度压缩的Linux只读文件系统。它使用gzip/xz/lzo/xz 4/zstd压缩来压缩文件、inode和目录。

因此,它还压缩目录内容。

顺便说一句,您可以控制inode、uid/gid表、数据或数据片段块以及扩展属性是否使用-no{I,Id,D,F,X}标志进行压缩。

Re:开销:在许多系统上,解压缩比从永久存储读取要快得多,因此在速度方面的开销实际上是负的。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/712819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档