3

我想知道在 OSx 内核的睡眠和唤醒过程中发生了什么。

内核扩展是否接收到新的地址空间并重新开始其初始化过程,或者内核只是将扩展放回相同的地址空间?

内部内核扩展(例如 IOKit 驱动程序)的行为是否也相同?也许它们被加载到内存中的不同位置?

基本上问题是:我的驱动程序获得了 IOService 的接口,是否能够在睡眠后毫无问题地使用它的地址。

4

1 回答 1

1

在睡眠时,记忆被“冻结”,而在恢复时,它恢复到原来的状态。因此,除非您积极参与电源管理,否则您的 kext 不会注意到任何变化。但是,如果您直接处理硬件,则必须关心电源管理,因为您的设备将重新启动并需要重新初始化。

于 2013-11-20T04:31:29.010 回答