【问题标题】:How does a file system like FastFile work?像 FastFile 这样的文件系统是如何工作的?
【发布时间】:2020-05-30 19:52:29
【问题描述】:

关于此文件系统使用的节点数组,我有 2 个问题,其中有 i 节点来保存文件。

每个i-node 由

组成
  • 用户 ID(2 个字节)
  • 三个时间戳(每个 4 个字节)
  • 保护位(2 个字节)
  • 引用计数(2 个字节)
  • 一种文件类型(2 个字节)
  • 大小(4 字节)

另外,node-i包含

  • 13 个直接索引
  • 一级索引表的索引
  • 二级索引表的索引
  • 3 级索引表的索引

系统还将每个文件的前 436 个字节存储在 node-i 上。

所以,问题是:

  1. 假设磁盘的一个扇区有 512 字节,任何一个辅助索引表占用一整个扇区,那么这个系统中文件的最大大小是多少?
  2. 将文件的前 436 个字节存储在 node-i 上是否有任何好处?

【问题讨论】:

标签: memory-management operating-system nodes fastfile


【解决方案1】:

将文件的第一个字节存储在 inode 中可以加快读取完全适合 inode 本身的文件的速度。这称为inlining

因为您提到为文件大小保留 4 个字节(32 位),所以我希望 2^32 - 1 是文件中的最大扇区数。

来自 OpenBSD 中的man newfs

FFS 文件系统的最大大小为 2,147,483,647 (2^31 - 1) 个 512 字节块,略小于 1 TB。 FFS2 文件系统最大可达 64 PB。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-14
    • 2012-03-03
    • 2021-03-12
    • 2012-10-30
    • 2010-12-30
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多