【问题标题】:How does the OS calculate file sizes?操作系统如何计算文件大小?
【发布时间】:2013-07-29 00:29:24
【问题描述】:

我想知道操作系统上的文件大小是如何计算的?

我最好的猜测是操作系统以某种方式跟踪文件列表和它们占用的所有相关磁盘块,并简单地将(磁盘块计数 * 块大小)相乘,但这不会给出确切的文件大小,因为一个块中可能有未使用的空间,那么我想它可以循环遍历最后一个块的所有字节,直到找到一个空终止字符。

我想这取决于操作系统,但我只是想了解整体情况,否则我正在寻找与 unix 相关的答案:)

【问题讨论】:

标签: unix operating-system filesystems


【解决方案1】:

在 Linux 和其他类 Unix 操作系统上,inode 存储文件的所有信息,但文件名和数据内容除外。创建文件时,会为其分配一个名称和一个 inode 编号,该编号是一个在文件系统中唯一的整数。

inode 结构包括文件模式(确定权限和文件类型)、所有者 ID、组 ID、系统和用户标志、大小、时间戳(创建/访问/修改时间)、链接计数、设备 ID(在为了识别包含文件的设备),以及指向存储文件实际内容的磁盘块的指针。

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 2013-12-05
    • 2020-01-16
    • 2016-09-10
    • 2022-01-07
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    相关资源
    最近更新 更多