I/O Kit

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

I/O Kit (в исходном коде, а иногда и в других местах пишется как IOKit ) - это фреймворк с открытым исходным кодом в ядре XNU, который помогает разработчикам писать драйверы устройств для операционных систем Apple MacOS и iOS. Платформа I/O Kit была разработана на основе комплекта драйверов NeXTSTEP и не имела общих черт с инфраструктурой драйверов устройств Mac OS 9 или BSD.

Фреймворк I/O Kit реализован в подмножестве C++, в котором пропущены возможности, которые Apple считает небезопасными для использования в многопоточном ядре (исключения, множественное наследование, шаблоны, информация о типах во время выполнения).[1] Встраиваемый C++ был выбран отчасти потому, что Apple считала, что разработчикам будет удобнее писать драйверы на более распространенном языке, чем Objective-C, и в то же время, предоставляющим объектно-ориентированную среду, позволяющую разработчикам драйверов устройств сосредоточиться на функциях кодирования, специфичных для их аппаратного обеспечения, вместо переопределения функций, общих для любого устройства.[2]

Помимо предоставления общего кода для драйверов устройств, этот фреймворк также предоставляет управление питанием , стекирование драйверов, автоматическую настройку и динамическую загрузку драйверов.

Примечания[править | править код]

  1. IOKit Device Driver Design Guidelines, 2009, The libkern C++ Runtime.
  2. IOKit Fundamentals, 2014, Language Choice: «C++ was chosen for several reasons...».

Ссылки[править | править код]