我实际上正在大学参加操作系统类(class)。 教授向我们介绍了 fread()、fwrite() ... C 函数和 read()、write() ... 系统调用。 当我必须定义 block 的大小和 block 的数量时,我产生了疑问。正如文档所述,该函数返回红色或写入的 block 的确切数量。 所以我的问题是:硬盘上是否有可能有一个小于一个字节的文件,或者是否有可能有一个维度不是Byte的倍数的文件?
提前谢谢您。
编辑:正如有人建议的那样,我没有发布实际示例。这就是我正在做的练习。这只是一个克隆文件的程序 https://gitlab.com/clementefnc/laboratori_so/blob/master/Lab01/Es4/Es4p4.c
最佳答案
Is it possible to have a file on the hard disk smaller than one byte, or is possible to have a file which dimension is not a multiple of Byte?
是的,理论上这是完全可能的。 "file"是一种抽象,没有什么可以阻止具有不同限制或完全不同的"file"抽象的操作系统的存在。事实上,硬件支持的最小单元通常是许多字节的 block (例如 512 字节扇区),并且操作系统已经提供了“小于硬件支持的最小大小”的抽象。
实际上,没有操作系统支持这一点;并且很难看到它的用例(因此将来任何操作系统都不太可能支持它)。
关于c - 在类 UNIX 操作系统上,二进制文件的最少内存使用量是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52860903/