Технические вопросы и ответы QA1120

IODeviceTree и Реестр I/O

Q: Что IODeviceTree является плоскостью в Mac OS X Реестр I/O?

A: Что IODeviceTree является плоскостью в Mac OS X Реестр I/O?

Реестр I/O имеет многократные плоскости, служащие для организации групп узлов Реестра I/O и их свойств согласно функции I/O. В настоящее время плоскость по умолчанию является плоскостью IOService с другими плоскостями, являющимися IOUSB, IOPower и IODeviceTree. Плоскостью может быть весь Реестр I/O как плоскость IOService или подмножество Реестра I/O для определенных функций I/O, таких как USB.

Некоторые из этих плоскостей являются динамичными. Динамическая плоскость является той, обновляющейся, когда устройство ввода-вывода присоединено или демонтировано. Например, когда USB-устройство присоединено или демонтировано, плоскость IOService обновляется путем добавления или удаления Ключа реестра I/O, представляющего то устройство.

С другой стороны, плоскость IODeviceTree статична. На основанном на PowerPC Macs плоскость IODeviceTree является прямой копией дерева устройств, создаваемого, Открывают Firmware во время начальной загрузки. На основанном на Intel Macs плоскость IODeviceTree создается вторичным футболистом из информации об устройстве, которую это получает от EFI.

Как только это копируется в Реестр I/O, плоскость IODeviceTree никогда не обновляется, даже если устройства приходят и уходят. Если Вы работаете с Набором I/O, и необходимо видеть, что устройство присоединено и/или удалено, использует плоскость IOService вместо плоскости IODeviceTree.

Обратите внимание на то, что не все возможные плоскости будут на каждом компьютере Macintosh. Например, плоскость IOFireWire только была бы на компьютерах с FireWire.



История версии документа


ДатаПримечания
18.09.2008

Модернизированный и внес незначительные редакционные изменения.

13.02.2002

Новый документ, описывающий плоскость IODeviceTree в Mac OS X Реестр I/O.