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

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

Помимо предоставления общего кода для драйверов устройств, этот фреймворк также предоставляет управление питанием, стекирование драйверов, автоматическую настройку и динамическую загрузку драйверов.
Q271680
фреймворк
Concept
Q9662
ядре
Concept
Q14583
XNU
MISC
Q9135
операционных систем
Concept
Q312
Apple
ORG
Q14116
MacOS
MISC
Q48493
iOS
MEDIA
Q831367
NeXTSTEP
MISC
Q904519
Mac OS 9
MISC
Q34264
BSD
ORG
Q2407
C++
MEDIA
Q471748
исключения
Concept
Q1070739
множественное наследование
Concept
Q1411845
шаблоны
Concept
Q684223
информация о типах во время выполнения
Concept
Q1334967
Встраиваемый C++
ORG
Q188531
Objective-C
MEDIA
Q1739331
динамическую загрузку
Concept
Q5968145
I/O Kit
UNK
Q5968145
I/O Kit
UNK
Q5968145
I/O Kit
UNK
+9^^http://www.w3.org/2001/XMLSchema#decimal
9
NUMBER
instance of
developer
part of
part of
instance of
developer
based on
developer
part of