Решение, создать ли расширение ядра

Часто существуют более безопасные, более простые альтернативы созданию расширения ядра (kext). Важно удостовериться, создавая kext, абсолютно необходимо прежде, чем сделать так.

Удостоверьтесь, что Ваш код должен работать в пространстве ядра

Единственная причина записать kext вместо приложения пользовательского уровня или плагина состоит в том, чтобы использовать функциональность, которая уникальна для пространства ядра. Следующие случаи требуют резидентного ядром кода:

Если Ваш код не удовлетворяет ни одного из вышеупомянутых критериев, не пишите kext. Используйте одно из следующих решений пользовательского уровня вместо этого:

Соблюсти осторожность

Если Вы решили, что kext является надлежащим решением для Вашей проблемы, имейте в виду, что разработка kext является более опасной и более трудной, чем разработка приложения пользовательского уровня по многим причинам, включая следующее: