Глоссарий
- базовый класс
В C++, классе, от которого наследовался другой класс (подкласс). Это может также использоваться для указания класса, из которого все классы в иерархии в конечном счете происходят (также известный как корневой класс).
- BSD
Распределение программного обеспечения Беркли. Раньше известный как версия Беркли UNIX, BSD теперь просто вызывают операционной системой BSD. Часть BSD Дарвина основывается 4.4BSD Облегченные 2 и FreeBSD, разновидность 4.4BSD.
- пакет
Каталог в файловой системе, обычно хранящей исполняемый код и программные ресурсы, связанные с тем кодом. (Пакет может сохранить только ресурсы.) Приложения, плагины, платформы и расширения ядра являются типами пакетов. За исключением платформ, пакеты являются пакетами файла, представленными Средством поиска как единственный файл вместо папки. См. также расширение ядра
- CFM
Менеджер по Фрагменту кода, менеджер библиотеки и загрузчик кода для процессов на основе PEF (Предпочтительный Формат исполняемых файлов) объектные файлы (Углерод).
- клиент
Объект драйвера, использующий службы некоторого вида, предоставленного его провайдером. В штабеле драйвера клиент в провайдере/связях с потребителями более далек от Эксперта по Платформе. См. также провайдера.
- логический элемент команды
Механизм, управляющий доступом к блокировке цикла работы, таким образом сериализируя доступ к данным, вовлеченным в запросы I/O. Логический элемент команды не требует, чтобы контекстное переключение потока гарантировало однопоточный доступ. Объекты источника события IOCommandGate представляют логические элементы команды в Наборе I/O.
- перекрестный граничный I/O
Транспорт данных через границу между ядром и пространством пользователя. В OS X перекрестный граничный I/O может быть выполнен с помощью интерфейсов устройства семьи I/O Kit, POSIX APIs, свойства I/O Registry или пользовательские пользовательские клиенты.
- Дарвин
Другое имя для операционной системы ядра OS X или среда ядра. Дарвинская среда ядра эквивалентна ядру OS X плюс библиотеки BSD и команды, важные для среды Команд BSD. Дарвин является технологией С открытым исходным кодом.
- DMA
(Прямой доступ к памяти) возможность некоторых шинных архитектур, позволяющая контроллеру шины передать данные непосредственно между устройством (таким как дисковод) и устройством с физически адресуемой памятью, такой как это на системной плате компьютера. Микропроцессор освобожден от участия в передаче данных, таким образом ускорив полную компьютерную работу.
- устройство
Компьютерное оборудование, обычно, исключая память ЦП и системную память, которой можно управлять и может отправить и получить данные. Примеры устройств включают мониторы, дисководы, шины и клавиатуры.
- драйвер устройства
Компонент операционной системы, имеющей дело с получением данных к и от устройства, а также управления того устройства. Драйвер, записанный с Набором I/O, является объектом, реализующим надлежащие абстракции Набора I/O для управления аппаратными средствами.
- файл устройств
В BSD файл устройств является специальным файлом, расположенным в
/dev
это представляет блочное устройство или устройство посимвольного ввода-вывода, такое как терминал, дисковод или принтер. Если программа знает имя файла устройств, это может использовать функции POSIX, чтобы получить доступ и управлять связанным устройством. Программа может получить имя устройства (который не является персистентным через перезагрузки или удаление устройства) от Набора I/O. - интерфейс устройства
В Наборе I/O, механизм, использующий сменную архитектуру, чтобы позволить программе в пространстве пользователя связываться с куском в ядре, которое является надлежащим типу устройства, которым программа хочет управлять. Через кусок программа получает доступ к службам I/O Kit и к самому устройству. С точки зрения ядра появляется интерфейс устройства, как объект драйвера вызвал пользовательский клиент.
- соответствие устройства
В Наборе I/O, процессе, которым приложение находит, что загружается надлежащее устройство. Приложение вызывает специальную функцию Набора I/O, использующую “соответствующий словарь” для поиска Реестра I/O. Функция возвращается, один или несколько соответствующих драйверов возражают, что приложение может тогда использовать для загрузки надлежащего интерфейса устройства. Также называемый обнаружением устройств.
- драйвер
Посмотрите драйвер устройства.
- соответствие драйвера
В Наборе I/O, процессе, в котором кусок, после обнаружения определенного устройства, ищет драйвер или драйверы большинство подходящее для того устройства. Соответствие требует, чтобы драйвер имел одно или более лиц, указывающих, является ли это кандидатом на определенное устройство. Драйвер, соответствующий, является отнимающим процессом, включающим три фазы: соответствие класса, пассивное соответствие и активное соответствие. См. также индивидуальность.
- штабель драйвера
В соединении I/O, серии объектов драйвера (драйверы и куски) в отношениях клиента/провайдера друг с другом. Штабель драйвера часто относится ко всему набору программного обеспечения между устройством и его клиентским приложением (или приложения).
- источник события
Объект I/O, соответствующий типу события, которое драйвер устройства, как могут ожидать, обработает; существуют в настоящее время источники событий для аппаратных прерываний, событий таймера и команд I/O. Набор I/O определяет класс для каждых из этих типов событий, соответственно IOInterruptEventSource, IOTimerEventSource и IOCommandGate.
- семья
Набор абстракций программного обеспечения, которые характерны для всех устройств определенной категории. Семьи обеспечивают функциональность и службы к драйверам. Примеры семей включают семейства протокола (такие как SCSI, USB и Firewire), семейства систем хранения (дисководы), сетевые семьи и семьи, описывающие устройства интерфейса пользователя (мышь и клавиатура).
- платформа
Тип пакета, упаковывающего динамическую совместно используемую библиотеку с ресурсами, которых библиотека требует, включая заголовочные файлы и справочную документацию.
Обратите внимание на то, что платформа Ядра (который содержит заголовки Набора I/O) не содержит динамической совместно используемой библиотеки. Весь тип библиотеки, соединяющийся для платформы Ядра, сделан с помощью
mach_kernel
сам файл и расширения ядра. Это соединение фактически статично (с vtable взлетами патча) в реализации - gdb
gdb является Отладчик GNU, мощный отладчик исходного уровня с интерфейсом командной строки. Используемый в сочетании с kdp для выполнения отладки с двумя машинами. См. также kdp.
- главный компьютер
Также названный компьютером разработки, главный компьютер выполняет отладчик в сценарии отладки с двумя машинами. Чаще всего главный компьютер является также компьютером, на котором разрабатывается KEXT. См. также отладку с двумя машинами; целевой компьютер.
- информационный список свойств
Список свойств, содержащий существенную конфигурационную информацию для пакетов, таких как расширения ядра. Файл называют
Info.plist
(или специфичный для платформы вариант того имени файла), содержит информационный список свойств и упаковывается в пакете. - интернационализация
Проект или модификация программного продукта, включая онлайн-справку и документацию, для упрощения локализации. Интернационализация программного обеспечения обычно включает запись или изменение кода для использования осведомленных о локали служб операционной системы для надлежащего локализованного ввода текста, дисплея, форматирования и манипулирования. См. также локализацию.
- прерывание
Асинхронное событие, приостанавливающее в настоящее время запланированный процесс и временно отклоняющее поток управления через подпрограмму обработчика прерываний. Прерывания могут быть вызваны обоими аппаратными средствами (I/O, таймер, машинный контроль) и программное обеспечение (супервизор, системный вызов или инструкция прерывания).
- обработчик прерываний
Когда прерывание происходит, подпрограмма выполнилась. Обработчики прерываний обычно имеют дело с низкоуровневыми событиями в аппаратных средствах компьютерной системы, такими как символ, достигая последовательного порта или галочки час реального времени.
- Набор I/O
Резидентный объект ядра, объектно-ориентированная среда в Дарвине, обеспечивающем модель оборудования системы. Каждый тип службы или устройства представлен одним или более классами C++ в семье; каждая доступная служба или устройство представлены экземпляром (объект) того класса.
- Платформа Набора I/O
Платформа, включающая IOKitLib и делающая Реестр I/O, пользовательские клиентские плагины и другие службы I/O Kit доступными от пространства пользователя. Это позволяет приложениям и другому доступу пользовательских процессов общие типы объектов Набора I/O и службы. См. также платформу.
- kdp
(Протокол отладчика ядра), контейнер ядра используется для связи с удаленным отладчиком. См. также gdb.
- Реестр I/O
База динамических данных, описывающая набор объектов драйвера, каждый из которых представляет объект Набора I/O. Поскольку аппаратные средства добавлены к или удалены из системы, реестр изменяется для размещения дополнения или удаления.
- ядро
Полная среда операционных систем ядра OS X, включающая Маха, BSD, Набор I/O, драйверы, файловые системы и сетевые компоненты. Ядро находится в своем собственном защищенном разделе памяти. Ядро включает весь код, выполняемый в задачу ядра, состоящую из файла
mach_kernel
(в корне файловой системы) и все загруженные расширения ядра. Также названный средой ядра. - расширение ядра
(KEXT) динамично загруженный пакет, расширяющий функциональность ядра. KEXT может содержать нуль или модули ядра, а также другой (sub) KEXTs, каждый из которых может содержать нуль или модули ядра. Набор I/O, файловая система и сетевые компоненты Дарвина могут быть расширены KEXTs. См. также модуль ядра.
- модуль ядра
(KMOD) двоичный файл в Мужественном формате, упаковывающемся в расширении ядра. KMOD является минимальным модулем кода, который может быть загружен в ядро. См. также расширение ядра.
- локализация
Адаптация программного продукта, включая онлайн-справку и документацию, для использования в одной или более областях мира, в дополнение к области, для которой создавался исходный продукт. Локализация программного обеспечения может включать перевод текста пользовательского интерфейса, изменение размеров связанных с текстом графических элементов, и замену или модификацию изображений пользовательского интерфейса и звука. См. также интернационализацию.
- блокировка
Структура данных раньше синхронизировала доступ к совместно используемому ресурсу. Наиболее популярный способ использования блокировки находится в многопоточных программах, где многократным потокам нужен доступ к глобальным данным. Только один поток может содержать блокировку за один раз; условно, этот поток является единственным, который может изменить данные в течение этого периода.
- Мах
Центральный компонент ядра, предоставляющего такие базовые услуги и абстракции как потоки, задачи, порты, межпроцессное взаимодействие (IPC), планирование, физическое адресное пространство и управление виртуальным адресным пространством, виртуальная память и таймеры.
- Мужественный
Формат объектных файлов Маха. Мужественный предпочтительный формат объектных файлов для OS X. См. также PEF.
- карта
Переводить диапазон памяти в одном адресном пространстве (физический или виртуальный) к диапазону в другом адресном пространстве. Диспетчер виртуальной памяти выполняет это путем приведения его таблиц VM в соответствие с ядром и пользовательскими процессами.
- соответствие
Посмотрите, что устройство соответствует и соответствие драйвера.
- дескриптор памяти
Описывающий объект, как поток данных, в зависимости от направления, должен или быть положен в память или извлечен из памяти. Это представляет сегмент памяти, содержащей данные, вовлеченные в передачу I/O, и указано как один или несколько диапазонов физических адресов или диапазоны виртуальных адресов. Объект получен из класса IOMemoryDescriptor. См. также DMA.
- утечка памяти
Ошибка в программе, препятствующей тому, чтобы он освободил отброшенную память, и заставляющей его использовать увеличивающиеся объемы памяти. KEXT, испытывающий утечку памяти, может не быть в состоянии разгрузиться.
- защита памяти
Система управления памятью, в котором программы предотвращены от способности изменить или повредить раздел памяти другой программы. Несмотря на то, что OS X имеет защиту памяти, Mac OS 8 и 9 не делают.
- NMI
(Немаскируемое прерывание) прерывание, произведенное определенной последовательностью клавиатуры или кнопкой. Это может использоваться, чтобы прервать подвешенную систему и, в отладке с двумя машинами, заскочить в отладчик.
- уведомление
Программируемый механизм для предупреждения заинтересованных получателей (иногда называемый наблюдателями), который имело место событие.
- кусок
Объект Набора I/O, представляющий обнаруженный, управляемый объект, такой как устройство или логическая служба. Кусок может представлять шину, диск, графический адаптер или любое число подобных объектов. Кусок поддерживает динамическую конфигурацию путем обеспечения моста между двумя драйверами (и, расширением, между двумя семьями). См. также устройство; драйвер.
- nvram
(Энергонезависимый RAM) хранение RAM, сохраняющее его состояние, даже когда питание выключено.
- страница
(1) Самый маленький модуль (в байтах) информации, которую система виртуальной памяти может передать между физической памятью и запоминающим устройством. В Дарвине страница в настоящее время - 4 килобайта. (2) Как глагол, страница относится к передаче страниц между физической памятью и запоминающим устройством. Обратитесь к
Kernel.framework/Headers/mach/machine/vm_params.h
для специфических особенностей. См. также виртуальную память. - паника
Неисправимый системный отказ обнаруживается ядром.
- PEF
Предпочтительный Формат исполняемых файлов. Формат исполняемых файлов понял Code Fragment Manager (CFM). См. также Мужественный.
- индивидуальность
Ряд свойств, указывающих виды устройств драйвер, может поддерживать. Эта информация хранится в XML соответствие словаря, определенного в информационном списке свойств (
Info.plist
) в водительском пакете KEXT. Единственный драйвер может представить одно или более лиц для соответствия; каждая индивидуальность указывает класс для инстанцирования. Такие экземпляры передаются ссылка на словарь индивидуальности в инициализации. - физическая память
Электронная схема, содержавшаяся в микросхемах оперативной памяти (RAM), используемых для временного содержания информации во время выполнения. Адреса в виртуальной памяти процесса отображаются на адресах в физической памяти. См. также виртуальную память.
- PIO
(Запрограммированный ввод/вывод) способ переместить данные между устройством и системной памятью, в которой каждый байт передается под управлением главного процессора. См. также DMA.
- плоскость
Подмножество драйвера (или служба) возражает в Реестре I/O, которые имеют определенный тип провайдера/связей с потребителями, соединяющего их. Самая общая плоскость является плоскостью Службы, выводящей на экран объекты в той же иерархии, в которой они присоединяются во время конструкции Реестра. Существует также Аудио, Питание, Дерево устройств, FireWire и плоскости USB.
- Эксперт по платформе
Объект драйвера для определенной системной платы, знающей тип платформы система, работает. Эксперт по Платформе служит корнем дерева Реестра I/O.
- плагин
Модуль, который может быть динамично добавлен к рабочая система или приложение. Базовые Службы Плагина Основы используют загружающее абсолютный код средство Core Foundation Bundle Services для обеспечения стандартной сменной архитектуры, известной как архитектура CFPlugIn, для приложений Mac OS. Расширение ядра является типом плагина ядра.
- влиятельный политик
Объект управления питанием, решающий, когда изменить состояние электропитания устройства и дает контроллеру мощности команду для устройства выполнять это изменение. Влиятельный политик использует факторы, такие как безделье устройства и агрессивность для принятия ее решения. См. также контроллер мощности.
- порт
В большой степени перегруженный срок, у которого в Дарвине есть два определенных значения: (1) В Махе, безопасном однонаправленном канале для коммуникации между задачами, работающими на единой системе; (2) В транспортных протоколах IP, целочисленный идентификатор, используемый, чтобы выбрать получатель для входящего пакета или указать отправителя исходящего пакета.
- POSIX
Интерфейс Переносимой информационной системы. Работа по стандартизации интерфейса операционной системы, поддерживаемая ISO/IEC, IEEE и Open Group.
- контроллер мощности
Объект управления питанием, который знает о различных состояниях электропитания устройства и может переключить устройство между ними. Контроллер мощности изменяет состояние электропитания устройства только на инструкцию от его влиятельного политика. См. также влиятельного политика.
- домен питания
Переключаемый источник питания в системе, обеспечивая питание для одного или более устройств, которые считают элементами домена. Домены питания вкладываются иерархически с корневым питанием управления домена питания ко всей системе.
- зонд
Фаза активного соответствия, в котором драйвер кандидата связывается с устройством и проверяет, может ли это управлять им. Водительское
probe
функция членства вызывается для начинания этой фазы. Драйвер возвращает тестовый счет, отражающий его возможность управлять устройством. См. также соответствие драйвера. - процесс
Абстракция BSD для рабочей программы. Ресурсы процесса включают виртуальное адресное пространство, потоки и дескрипторы файлов. В OS X процесс основывается на одной задаче Маха и одном или более потоках Маха.
- провайдер
Объект драйвера, предоставляющий услуги некоторого вида его клиенту. В штабеле драйвера провайдер в провайдере/связях с потребителями ближе к Эксперту по Платформе. См. также клиент.
- выпуск
Постепенное уменьшение подсчета ссылок объекта. Когда подсчет ссылок объекта достигает нуля, он освобожден. Когда Ваш код больше не должен ссылаться на сохраненный объект, он должен выпустить его. Некоторый APIs автоматически выполняет выпуск от имени вызывающей стороны, особенно в случаях, куда «передается» рассматриваемый объект. Сохраняет и выпуски должны быть тщательно сбалансированы; слишком много выпусков могут вызвать панику и другие неожиданные отказы вследствие доступов освобожденной памяти. См. также сохраняют.
- сохранить
Постепенное увеличение подсчета ссылок объекта. Объект с положительным подсчетом ссылок не освобожден. (Недавно созданный объект имеет подсчет ссылок одного.) Драйверы могут гарантировать персистентность объекта вне существующего объема путем сохранения его. Много APIs автоматически выполняют сохранение от имени вызывающей стороны, особенно APIs раньше создавал или получал доступ к объектам. Сохраняет и выпуски должны быть тщательно сбалансированы; слишком многие сохраняют, приведет к соединенной проводом утечке памяти. См. также выпуск.
- планировщик
Та часть Маха, определяющего когда каждая программа (или поток программы) выполнения, включая присвоение времен запуска. Приоритет потока программы может влиять на свое планирование. См. также задачу; поток.
- служба
Служба является объектом Набора I/O, на основе подкласса IOService, опубликованного с
registerService
метод и обеспечивает определенные возможности для других объектов Набора I/O. В многоуровневой архитектуре Набора I/O каждый уровень является клиентом уровня ниже его и провайдера служб к уровню выше его. Тип службы идентифицируется соответствующим словарем, описывающим свойства службы. Кусок или драйвер могут предоставить услуги другим объектам Набора I/O. - целевой компьютер
В отладке с двумя машинами, компьютере, на котором KEXT выполняется быть отлаженным. Целевой компьютер должен иметь копию KEXT быть отлаженным. См. также отладку с двумя машинами; главный компьютер.
- задача
Абстракция Маха, состоящая из виртуального адресного пространства и пространства имен порта. Сама задача не выполняет вычисления; скорее это - контекст, в котором работают потоки. См. также процесс; поток.
- поток
В Махе, модуле загрузки ЦП. Поток состоит из счетчика команд, ряд регистров и указателя вершины стека. См. также задачу.
- таймер
Ресурс ядра, инициировавший событие в указанном интервале. Событие может иметь место только один раз или может повторяться. Таймер является примером источника события для цикла работы.
- отладка с двумя машинами
Процесс отладки, в котором один компьютер (узел) выполняет отладчик (часто gdb) и другой компьютер (цель) выполняет отлаживаемую программу. KEXTs отладки требует отладки с двумя машинами, потому что ошибочный KEXT будет часто пугать систему, лишая возможности выполнять отладчик на том компьютере. См. также главный компьютер; целевой компьютер.
- пользовательский клиент
Интерфейс, предоставленный семьей I/O Kit, включающей пользовательский процесс (который не может вызвать резидентный ядром драйвер или другую службу непосредственно) к аппаратным средствам доступа. В ядре появляется этот интерфейс, как объект драйвера вызвал пользовательский клиент; в пространстве пользователя это вызывают интерфейсом устройства и реализуют как Базовый Плагин Основы Службы (CFPlugin) объект. См. также интерфейс устройства.
- пространство пользователя
Виртуальная память вне защищенного раздела, в котором находится ядро. Приложения, плагины и другие типы модулей обычно работают в пространстве пользователя.
- виртуальный адрес
Адрес памяти, который применим программным обеспечением. Каждая задача имеет свой собственный диапазон виртуальных адресов, начинающийся в нуле адреса. Операционная система Маха заставляет аппаратные средства CPU отобразить эти адреса на физическую память только при необходимости, с помощью памяти на дисках в других случаях.
- виртуальная память
Использование раздела диска или файла на диске для предоставления тех же услуг, обычно предоставленных RAM. Кормушка виртуальной памяти в OS X обеспечивает 32-разрядное (минимальное) защищенное адресное пространство для каждой задачи и упрощает эффективное совместное использование того адресного пространства.
- виртуальная таблица
Часто называемый vtable, виртуальная таблица является структурой в заголовке каждого объекта класса, содержащего указатели на методы реализации класса.
- vram
(Видеопамять) специальная форма RAM раньше хранила данные изображения для экрана компьютера. К Vram можно получить доступ для экранных обновлений одновременно, видеопроцессор предоставляет новые данные.
- соединенная проводом память
Диапазон памяти, которую система виртуальной памяти не разобьет на страницы или перемещение. Память, вовлеченная в передачу I/O, должна быть соединена проводом вниз для предотвращения физического перемещения данных, получаемых доступ аппаратными средствами. В I/O соединена проводом память набора, когда дескриптор памяти, описывающий память, подготавливает память к I/O (который происходит когда
prepare
метод вызывается). - цикл работы
Механизм пропускания, гарантирующий однопоточный доступ к структурам данных и аппаратным регистрам, используемым драйвером. Цикл работы обычно имеет несколько источников событий, присоединенных к нему; они используют цикл работы для обеспечения защищенного, запертого контекста для обработки событий. См. также источник события.
- XML
(Расширяемый язык разметки) упрощенный диалект SGML (Стандартный обобщенный язык разметки), обеспечивающий метаязык, содержащий правила для построения специализированных языков разметки.