【问题标题】:Is there something like filter driver for Mac OS X?是否有类似 Mac OS X 的过滤器驱动程序?
【发布时间】:2010-08-06 13:04:40
【问题描述】:

Windows 允许您开发过滤器驱动程序来捕获 VFS 上的文件 I/O。但我似乎无法为 Mac 找到类似的东西。它确实有一些称为过滤器方案的东西,但那些是针对 HFS+ 的。有谁知道我是否有办法在不使用 MacFUSE 之类的程序的情况下拦截 Mac 上的文件 I/O?

【问题讨论】:

标签: macos filter driver


【解决方案1】:

我发现 Mac OS X 根本不允许过滤驱动程序。

“堆叠文件系统(有时称为过滤文件系统)位于另一个文件系统之上,并以某种方式修改其行为。堆叠文件系统的典型示例是加密文件系统。您可以将此文件系统堆叠在任何现有文件系统之上以提供加密支持。苹果不支持在 Mac OS X 上开发堆叠 VFS 插件”(http://developer.apple.com/mac/library/qa/qa2001/qa1242.html)

【讨论】:

    【解决方案2】:

    kauth(在 OS X 10.4 中引入)是最接近 FS 过滤器驱动程序的东西。
    这是一篇关于 Mac OS X 上存在的各种 API 的精彩文章。它应该是一个很好的起点。 http://osxbook.com/blog/2008/07/23/extending-hfsdebug/

    【讨论】:

      【解决方案3】:

      我完全不熟悉您提到的 Windows 技术,但听起来您可能正在寻找 FSEvents。

      http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/FSEvents_ProgGuide/Introduction/Introduction.html

      文件系统事件 API 提供了一个 您的申请要求的方式 当一个内容的通知 目录层次结构被修改。为了 例如,您的应用程序可以使用它 快速检测用户何时 修改项目中的文件 使用另一个应用程序捆绑。

      它还提供了一种轻量级的方式 判断一个内容是否 目录层次结构已经改变 您的应用程序上次检查了它们。 例如,备份应用程序可以 使用它来确定哪些文件有 自给定时间戳或 给定事件 ID。

      如果您的 应用程序适用于大量 文件——特别是如果您的 应用程序适用于大型 文件的层次结构。

      【讨论】:

      • 这些是变更通知机制。我想知道是否可以实际编写一个驱动程序来自己处理文件 I/O。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多