Базовый уровень OS

Технологии и платформы в уровне Core OS предоставляют низкоуровневые услуги, связанные с аппаратными средствами и сетями. Эти службы основываются на средствах в уровне Kernel и Device Drivers.

../art/osx_architecture-core_os_2x.png

Высокоуровневые функции

Уровень Core OS реализует опции, связанные с безопасностью приложения.

Привратник

Привратник, позволяет пользователям блокировать установку программного обеспечения, не прибывающего из App Store Mac и идентифицированных разработчиков. Если Ваше приложение не будет подписано с Разработчиком сертификат ID, выпущенный Apple, то это не запустится в системах, которым выбрали этот параметр безопасности. Если Вы планируете распределить свое приложение за пределами App Store Mac, несомненно, протестируют установку Вашего приложения во включенной системе Привратника так, чтобы можно было обеспечить хороший пользовательский опыт.

XCode поддерживает большинство задач, которые необходимо выполнить для получения Разработчика сертификат ID и элемент кода приложение. Чтобы изучить, как подчиниться, Ваше приложение к App Store Mac — или установка тестового приложения на Привратнике включило систему — Руководство по Потоку операций Инструментов чтения для Mac.

Тестовая среда приложения

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

  • Тестовая среда приложения позволяет Вам описать, как Ваше приложение взаимодействует с системой. Система тогда предоставляет Вашему приложению только доступ, это должно было сделать свое задание, и не больше.

  • Тестовая среда приложения позволяет пользователю прозрачно предоставлять Вашему приложению дополнительный доступ при помощи Открытого и Сохранять диалоговые окна, перетаскивание и другое знакомое взаимодействие с пользователем.

Вы описываете взаимодействие своего приложения с системой путем установки прав в XCode. Для получения дополнительной информации на всех правах, доступных в OS X, посмотрите Дающую право Ключевую Ссылку.

При принятии Тестовой среды приложения Вы должны элемент кода Ваше приложение (для получения дополнительной информации, видеть Подписывание кода). Это вызвано тем, что права, включая специальное право, включающее Тестовую среду приложения, встроены в подпись кода приложения.

Для полного объяснения Тестовой среды приложения и как использовать его, считайте Руководство по проектированию Тестовой среды приложения.

Подписывание кода

OS X использует технологию безопасности, которая, как известно как подписывание кода, позволила Вам сертифицировать, что Ваше приложение действительно создавалось Вами. После того, как приложение является подписанным кодом, система может обнаружить любое изменение в приложении — представлено ли изменение случайно или вредоносным кодом. Различные технологии безопасности, включая Тестовую среду приложения и родительский контроль, зависят от подписывания кода.

В большинстве случаев можно полагаться на XCode автоматическое подписывание кода, требующее только, чтобы Вы указали идентификационные данные подписывания кода в настройках сборки для Вашего проекта. Шаги для взятия описаны в Подписывании кода Приложение в Руководстве по Потоку операций Инструментов для Mac. Если необходимо включить подписывание кода в автоматизированную систему сборки или если Вы соединяете свое приложение против сторонних платформ, обратитесь к процедурам, описанным в Руководстве по Подписыванию кода.

Для полного объяснения подписывания кода в контексте Тестовой среды приложения считайте Тестовую среду приложения подробно в Руководстве по проектированию Тестовой среды приложения.

Базовые платформы OS

Следующие технологии и платформы находятся в уровне Core OS OS X:

Ускориться

Ускорять платформа (Accelerate.framework) содержит APIs, помогающий Вам ускорить сложные операции — и потенциально улучшить производительность — при помощи доступного векторного модуля. Основанные на аппаратных средствах векторные модули повышают производительность любого приложения, использующего параллелизм данных, такой как те, которые выполняют 3D графическую обработку изображений, обработку изображений, обработку видеоданных, сжатие аудио и основанную на программном обеспечении телефонию ячейки. (Поскольку Кварц и Набор QuickTime включают векторные возможности, любое приложение, использующее этот APIs, может насладиться это аппаратное ускорение, не внося изменений.)

Ускорять платформа является платформой зонтика, обертывающей vecLib и vImage платформы в единственный пакет. vecLib платформа содержит оптимизированные вектором подпрограммы для того, чтобы сделать цифровую обработку сигналов, линейную алгебру и другие в вычислительном отношении дорогие математические операции. vImage поддержка платформы визуальная область, добавляя подпрограммы для того, чтобы превратиться, обработка альфа-канала и другие буферные изображением манипуляции.

Для получения информации о том, как использовать компоненты Ускорять платформы, см. vImage Руководство по программированию, vImage Ссылочный Набор и vecLib Ссылка. Дополнительные сведения см. в Обзоре производительности.

Дисковый арбитраж

Дисковая Арбитражная платформа (DiskArbitration.framework) когда локальные и удаленные объемы смонтированы и размонтированы, уведомляет Ваше приложение. Это также предоставляет другие обновления на состоянии удаленной и локальной информации о монтировании и возвратах о смонтированных объемах. Например, если Вы служите основой с дисковым идентификатором BSD объема, можно получить путь точки монтирования объема.

Для получения дополнительной информации о Дисковом Арбитраже посмотрите Дисковую Арбитражную Ссылку Платформы.

OpenCL

Открыть Computing Language (OpenCL) делает высокоэффективное питание параллельной обработки GPUs доступным для вычислений общего назначения. Язык OpenCL является языком универсального компьютера, не в частности графическим языком, что краткие обзоры подробные данные низшего уровня должны были выполнить параллельные задачи вычисления данных на GPUs и CPUs. Используя OpenCL, Вы создаете, вычисляют ядра, тогда разгруженные на видеокарту или CPU для обработки. Многократные экземпляры вычислить ядра могут быть выполнены параллельно на одном или более GPU или ядрах CPU, и можно соединиться с Вашим вычислять ядра из Какао, C, или приложения C++.

Для задач, включающих параллельную обработку данных на больших наборах данных, OpenCL может привести к значительному увеличению производительности. Существует много приложений, которые идеальны для ускоряющего использования OpenCL, таковы как обработка сигналов, обработка изображения и моделирование конечного элемента. Язык OpenCL имеет богатый словарь векторных и скалярных операторов и возможности воздействовать на многомерные массивы параллельно.

Для получения информации о OpenCL и как записать, вычислите ядра, см. Руководство по программированию OpenCL для Mac.

Откройте Directory (Directory Services)

Откройте Directory является архитектурой служб каталогов, обеспечивающей централизованный способ получить информацию, хранившую в локальных базах данных или сетевых базах данных. Службы каталогов обычно обеспечивают доступ к собранной информации о пользователях, группах, компьютерах, принтерах и другой информации, существующей в сетевом окружении (несмотря на то, что они могут также хранить информацию о локальной системе). Вы используете, Открывать Directory для получения информации от этих локальных баз данных или сетевых баз данных. Например, если Вы пишете почтовое приложение, можно использовать, Открывать Directory, чтобы соединиться с корпоративным сервером LDAP и получить список частного лица и адресов электронной почты группы для компании.

Откройте Directory использует сменную архитектуру для поддержки множества протоколов извлечения. OS X обеспечивает плагины для поддержки LDAPv2, LDAPv3, NetInfo, AppleTalk, SLP, SMB, DNS, Microsoft Active Directory, и Добрый день протоколов, среди других. Можно также записать собственные плагины для поддержки дополнительных протоколов.

Платформа Служб каталогов (DirectoryServices.framework) публикует программируемый интерфейс для доступа к Открытым Службам каталогов.

Для получения дополнительной информации об этой технологии посмотрите, Открывают Directory Programming Guide. Для получения информации о том, как записать, Открывать плагины Directory, видят, Открывают Directory Plug-in Programming Guide.

Конфигурация системы

Конфигурация системы (SystemConfiguration.framework) платформа, помогающая приложениям сконфигурировать сети и определить, могут ли сети быть достигнуты до соединения с ними. Платформа включает требования пользовательского опыта при взаимодействии с присоединенной сетью. (Присоединенная сеть, такая как общедоступная горячая точка Wi-Fi, требует взаимодействия с пользователем прежде, чем обеспечить доступ в Интернет.)

Используйте Конфигурацию системы APIs, чтобы определить и установить параметры конфигурации и реагировать динамично на изменения в той информации. Можно также использовать этот APIs, чтобы помочь Вам определить, достижим ли удаленный узел и, если это, для запроса сетевого соединения, таким образом, это может предоставить содержание своим пользователям. Для помощи в этом Конфигурация системы делает следующее:

  • Это обеспечивает доступ к текущей информации о конфигурации сети.

  • Это позволяет приложениям определять достижимость удаленных узлов и запускать основанные на PPP соединения.

  • Когда существуют изменения в состоянии сети и конфигурации сети, это уведомляет приложения.

  • Это обеспечивает гибкую схему для определения и доступа к сохраненным предпочтениям и текущей конфигурации сети.

Для узнавания больше о Конфигурации системы посмотрите, что Конфигурация системы Программирует Инструкции.