【问题标题】:Find the byte offset 8,62,000 (the UNIX v7 file system) using fseek使用 fseek 查找字节偏移量 8,62,000(UNIX v7 文件系统)
【发布时间】:2018-10-12 14:50:20
【问题描述】:

假设它有4kb的磁盘块大小,这个文件的i-node在图中给出:

  1. 找出您将在哪个特定块中获得此偏移量?

  2. 特定磁盘块中的字节偏移量是多少?

【问题讨论】:

  • 你已经尝试了什么?
  • @Dominique 我计算出 862000/4096 将为我提供逻辑块偏移 = 210 块编号,从定义 i 节点的位置开始。我还发现不能使用直接块和单个间接块.我也不能使用双重间接因为那么最大逻辑块没有偏移量将是109(或110不确定),这意味着字节偏移量8,62,000必须通过三重间接寻址来获取。进一步我发现磁盘块没有是 4092 并且在该磁盘块 862000%4096 = 1840 内是字节偏移量。因此文件的第 862000 个字节是块 4092 的字节 1840。如果我错了,请纠正我。

标签: unix operating-system filesystems fseek inode


【解决方案1】:

我计算出 862000/4096 将为我提供逻辑块偏移 = 210 块编号,从定义 i 节点的位置开始。另外我发现不能使用直接块和单间接。我也不能使用双间接因为那么最大逻辑块没有偏移量将是109(或110不确定),这意味着必须通过三重间接寻址来获取字节偏移量8,62,000。进一步我发现磁盘块编号为4092并且在该磁盘块内862000%4096 = 1840 是字节偏移量。因此文件的第 862000 个字节是块 4092 的字节 1840。

【讨论】:

  • 回答了吗?然后接受它。如果不是,而您只是想为您的问题分享更多数据,那么您应该在问题本身中分享它
猜你喜欢
  • 1970-01-01
  • 2020-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多