在Mac上使用KEXT进行文件I / O.

时间:2012-05-18 14:27:46

标签: macos bsd kernel-extension

观察到有vn_xxx apis对文件执行操作,例如vn_rdwr(...)。从网络搜索来看,似乎不建议使用vn_rdwr(...)。

几乎没有相同的查询:

  • 这个vn_xxx apis在Mac OS X版本中是不兼容的吗?
  • 使用它不安全吗?有没有我可以参考的例子,看看如何使用vn_rdwr?
  • 除了将文件I / O分解为守护进程外,还有其他选择吗?

如果有人可以提供评论\建议会很棒吗?

1 个答案:

答案 0 :(得分:4)

我相信vn_rdwr()是安全的并且保证兼容。

一般不推荐它的原因是它的水平非常低。通过使用它,您可以有效地解决任何FS文件权限,避免调用通过KAuth API注册的回调(例如聚光灯没有看到这样的更改)等。在大多数情况下,您应该在用户空间中执行I / O(例如一些守护进程)

只有在你有充分理由这样做的情况下,才能使用KExt中的I / O.如果您已经使用vn_rdwr()

相关问题