是否存在具有低级前置操作的文件系统?

2024-02-29

在最低级别,大多数操作系统文件操作包括打开、关闭、读取、写入、删除以及查找和追加操作,但没有前置操作。

出现这个问题是因为我的一位同事正在处理他生成的大型(数千兆字节)数据日志,他意识到他没有将文件头写入日志文件。尽管他只需要在文件的前面添加一百个字节,但我们看不到任何方法可以在不进入块/扇区文件分配表级别的情况下做到这一点。

是否存在任何历史或技术原因导致前置操作不存在,或者比类似的附加操作更昂贵?


我只知道一篇研究论文描述了这样的事情:“支持条带并行文件系统中的插入和删除 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.5777”从 1992 年开始。 摘要是

并行计算机处理速率的显着提高正在将许多计算密集型作业转变为 IO 密集型作业。并行文件系统被提出来更好地匹配 IO 吞吐量和处理能力。许多并行文件系统将文件跨多个磁盘进行条带化;每个磁盘都有自己的控制器。条带文件可以附加(或前置)并维持其结构。但是,无法在文件中间插入或删除块,因为这样做会破坏文件的常规条带结构。在本文中,我们提出了一种分布式文件结构,该结构在消息传递多处理器上维护索引条带范围内的文件。这种方法允许高度并行的随机和顺序读取,并且还允许在文件中间插入和删除。

您可以在论文中找到更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否存在具有低级前置操作的文件系统? 的相关文章

  • 将数据写入文本文件

    我有一个简单的程序 将 7 个数字中的 6 个写入文本文件 从逻辑上讲 一切似乎都很好 但是 数字并未按预期写入文件 Random random new Random Console WriteLine Please enter the n
  • 在 Python 中使用 glob.glob 和带有 unicode 文件名的正则表达式的独立于文件系统的方式

    我正在开发一个库 我想保持平台 文件系统和 Python2 x 3 x 的独立性 但是 我不知道如何以独立于平台 文件系统的方式全局查找文件并将文件名与正则表达式进行匹配 例如 在 Mac 上 使用 IPython Python 2 7 I
  • 逐列读取 CSV 文件

    我想从多列 csv 文件中读取特定列 并使用 Java 在其他 csv 文件中打印这些列 有什么帮助吗 以下是我逐行打印每个标记的代码 但我希望只打印多列 csv 中的几列 import java io BufferedReader imp
  • 如何从 ext2/ext3 文件系统上的稀疏文件中删除一些块

    当您写入稀疏文件时 ext2 ext3 文件系统会自动分配块 但是当我不再需要其中的某些块时 我发现没有办法做到这一点 感觉就像使用 malloc 而不使用 free 是否可以 释放 稀疏文件的某些块 如果是的话 怎么样 不要告诉我将其复制
  • 如何在 C++ 中检查文件是否已被另一个应用程序打开?

    我知道 有is open C 中的函数 但我希望一个程序检查文件是否尚未被另一个应用程序打开 有没有办法使用标准库来做到这一点 编辑 在答案中澄清这是针对 Linux 应用程序的 不仅标准库没有这个功能 一般来说也是不可能的 你可以 在li
  • Java PrintWriter 不工作

    我只是想将我的二维数组 拼图 写入文件 我有一个双 for 循环 它读取数组中的每个 char 值 并将它们写入文件 我似乎无法在我的代码中找到错误 该文件说当我运行程序时它已被修改 但它仍然是空白的 多谢你们 public void wr
  • 在Python中的自定义类中实现“with object() as f”的使用

    我必须在 python 中打开一个类似文件的对象 它是通过 dev 的串行连接 然后关闭它 在我的班级的几种方法中 这已经完成了好几次 我的做法是在构造函数中打开文件 然后在析构函数中关闭它 不过 我遇到了奇怪的错误 我认为这与垃圾收集器有
  • 在java中读取文本文件[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当每行都包含整数 字符串和双精度数时 如何在 Java 中读取 txt 文件并将每一行放入数组中 每行都有不同数量的单词 数字 Try
  • Google 文件系统中的块大小问题

    谷歌文件系统论文 http labs google com papers gfs html 块大小是关键设计之一 参数 我们选择了64MB 这比典型文件大得多 系统块大小 每个块 副本存储为普通 Linux 文件放在 chunkserver
  • 如何在书架中取出整数钥匙?

    我想在架子上存储一个整数密钥 但是当我尝试将整数密钥存储在搁置中时 它给了我一个错误 Traceback most recent call last File write py line 12 in data id Id id Name n
  • 无法写入文本文件

    我正在运行一些测试并需要写入文件 当我运行测试时open file r 不写入文件 测试脚本如下 class GetDetailsIP TestGet def runTest self self category PTZ try This
  • 如何利用磁盘 IO 队列

    我需要从 3 7 GB 文件中读取小数据序列 我需要阅读的职位是不相邻 但我可以命令 IO 以便从头到尾读取文件 该文件存储在 iSCSI SAN 上 该 SAN 应该能够处理 优化排队 IO 问题是 如何一次性请求我需要的所有数据 位置
  • 从 PDF 等二进制文件中读取文本

    我在 C 中读取二进制文件时遇到问题 目前我的代码是这样的 FILE s fopen source rb fseek s 0 SEEK END size file size ftell s rewind s char sbuffer cha
  • java IO将一个文件复制到另一个文件

    我有两个 Java io File 对象 file1 和 file2 我想将 file1 的内容复制到 file2 有没有一种标准方法可以做到这一点 而无需我创建一个读取 file1 并写入 file2 的方法 不 没有内置方法可以做到这一
  • 为什么文件更新时“如果较新则复制”不复制文件?

    我在 Visual Studio Express 中有一个解决方案 如下所示 The LogicSchemaC 中的类 将在运行时解析指定的 XML 文件 以下是在main的方法Program cs LogicSchema ls new L
  • 在 C++ 中创建大文件的最快方法?

    使用 C 创建大约 50 100 MB 的平面文本文件 内容 添加第一行 应该被插入到文件中 400 万次 使用旧式文件 io fopen用于写入的文件 fseek到所需的文件大小 1 fwrite一个字节 fclose文件
  • 读取混合(即文本和二进制)数据的最佳方法是什么?

    我需要能够读取混合二进制和非二进制数据的文件格式 假设我知道输入是好的 那么最好的方法是什么 作为示例 我们以一个文件为例 该文件的第一行是 double 换行符 0x0D 0x0A 后面是十个字节的二进制数据 当然 我可以计算换行符的位置
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 使用 FileInputStream 时如何确定理想的缓冲区大小?

    我有一个从文件创建 MessageDigest 哈希 的方法 我需要对很多文件 gt 100 000 执行此操作 用于读取文件的缓冲区应该设置多大才能最大限度地提高性能 大多数人都熟悉基本代码 为了以防万一 我将在这里重复一遍 Messag
  • 使用 ifstream 在大文件中查找

    我正在使用 ifstream 在 C 中实现一个程序 该程序必须在大文件 1TB 中查找 然而 读取2GB后就失败了 有没有办法获取文件位置 即使是大文件 我为 32 位 Windows 机器进行编译 std ifstream f f op

随机推荐