【发布时间】:2014-07-16 22:03:31
【问题描述】:
如何与自制的 OSX 内核扩展交互?
我找到了以下关于创建扩展的教程:https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptKEXT/kext_tutorial.html 效果很好,但我找不到如何向我的扩展发送命令的方法。
如果有人能给我举个例子,那就太好了:)
或者甚至发布一个最小的例子:)
我为什么要问?
我知道几乎所有东西都在用户空间内工作。由于夏天快到了,我屋顶下的房间里的温度越来越高,看到我的 MacBook Air 慢慢沸腾,我真的很伤心。但是我偶然发现了这个 github.com/nanoant/DisableTurboBoost.kext。它似乎工作。但是除了手动加载和卸载 kext 之外,没有其他方法可以按需启用或禁用。我真的很想有一个小应用程序向我的扩展发送命令以设置或取消设置 Turbo Boost 位。
在爬取http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf 之后,我发现了很多有趣的功能可以使用。但我不知道如何从我的扩展程序中收集信息......你能给我举个例子吗?还是有用的书?
而且由于只有 kext 可以使用内核框架,我没有其他选择直接写入 CPU 寄存器...或者我有吗?你能给我举个例子吗?还是有用的书?
【问题讨论】:
-
你想用内核扩展做什么?
-
我在原帖中添加了我想要的内容:)
-
有实例吗?或者在线阅读的东西?
标签: c macos kernel communication inter-process-communicat