【问题标题】:What kernel level operations are performed when editing a file?编辑文件时执行哪些内核级操作?
【发布时间】:2015-06-26 17:47:46
【问题描述】:

任何人都可以向我解释一下在编辑文件时执行了哪些内核级操作?我感到困惑的是,每次编辑文件时都会创建一个新的 inode。如果可能,请说明步骤。我已经搜索了互联网,但那里没有满意的答案。

提前致谢。

【问题讨论】:

  • 执行许多操作,例如轮询笔记本电脑电池。但是编辑器执行的实际操作(系统调用)可能会被strace工具捕获

标签: file-io linux-kernel filesystems kernel inode


【解决方案1】:

没有单一的通用答案,因为这取决于应用程序在编辑文件时执行的操作、运行的系统以及文件的存储位置。它可能正在创建新的临时文件,或者破坏和重写原始文件,或者使用内存映射,或者使用版​​本化文件系统功能,或者进行网络文件系统操作等。

与其试图抽象地回答这个问题,不如选择一个您感兴趣的开源编辑器,通读它的源代码并调试它以了解它具体在做什么。然后,如果您有任何疑问,可以阅读 API 文档以了解它调用的函数映射到或依赖的内核操作。

【讨论】:

  • 我用过 vim 和 gedit 之类的编辑器。他们都使用不同的inode。跟踪正在编辑的原始文件变得很困难。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多