Какова архитектура системы управления окнами Mac OS X?

/usr/local/bin показывает корни UNIX-esque последнего Mac OS (его BSD, базирующийся под там).

  • "usr" обозначает Системные ресурсы UNIX. Это - местоположение, что системные программы и библиотеки хранятся.
  • "локальный" представляет ресурсы, которые не поставлялись со стандартным распределением и, обычно, компилировались и сохранялись на на основание сайта.
  • "мусорное ведро" представляет скомпилированные исполняемые файлы двоичного файла.

Это превратилось начиная с ранних реализаций UNIX к Linux и BSD, но конвенция осталась. Теперь, /usr/bin был бы для "основных" или базовых программ и библиотек где /usr/local/bin был бы для дополнительных и некритических программ и библиотек.

34
12.02.2013, 20:48
5 ответов

Это - то, что я смог собрать до сих пор:

Приложения связываются по своего рода частному API с процессом WindowServer, процесс WindowServer является тем, который на самом деле получает аппаратные события (мышь, клавиатура) и диспетчеризирует тех, которые к клиентским приложениям. (это - все еще нерешенный вопрос: какой протокол делают они используют если таковые имеются, делают они используют порты Маха и МиГ или некоторый Основанный на сокете API, не уверенный).

Некоторая информация здесь:

https://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/OSX_Technology_Overview/GraphicsTechnologies/GraphicsTechnolog ies.html#//apple_ref/doc/uid/TP40001067-CH273-SW1

WindowServer является Кварцевым Наборщиком. Обычно приложения используют Quartz2D API, который выставил в CoreGraphics API (CGXXX funtions). Приложения создают CoreGraphics "Контексты" (CGContext) и тянут там. Продвинут ли контекст, когда он сделан как большой битовый массив, или если операции отправляются на сервер как, они находятся на X11, все еще нерешенный вопрос.

Существует ограниченный API, выставленный для управления определенными аспектами процесса WindowServer, вид параметров конфигурации, которые обычно делаются из приложения Настроек, но нет никакой документации относительно того, как приложения на самом деле передают графические запросы или качают сообщения из сервера кроме выставленных API Углерода/Какао.

14
27.01.2020, 19:37

Раздел "What is Cocoa?" Руководства Основных принципов Какао имеет набор замечательных иллюстраций архитектуры с самого начала.

3
27.01.2020, 19:37
  • 1
    (извините, еще не может отправить примечания): Кварц или Базовая Графика являются рисунком и системой управления окнами в OS X (заменяющий QuickDraw). Базовая Графика является одной частью Какао (Какао, в целом являющееся более сопоставимым со всем Win32 API, а не GDI, Direct2D или X) –  KellyClowers 22.08.2010, 00:57

Лучшим ресурсом для внутренностей OS X являются Внутренности Mac OS X Amit Singh. Это удивительно детализировано, но к сожалению только покрывает OS X до 10,4. Книги Google имеют предварительный просмотр.

Документация Apple для OS X является также хорошим ресурсом и очевидно более актуальна.

2
27.01.2020, 19:37

XQuartz является проектом с открытым исходным кодом X-оконной системы X.org, которая работает на Mac OS X. Их разработчик Wiki и список рассылки должны помочь Вам с Вашими вопросами, кажется, что Вам нужен кто-то глубоко вовлеченный в проект ответить на них.

1
27.01.2020, 19:37
  • 1
    , но который только покрывает XQuartz, который является просто программой, которая говорит с их реальной системой управления окнами. Вопрос был о том, как делают приложения как XQuarts или Средство поиска говорят с этой системой управления окнами –  miguel.de.icaza 17.08.2010, 05:34

В предшествующих версиях MacOS подъем был сделан QuickDraw; в OS X, который был заменен Какао...

Это не просто параллельно X11 все же. Например, X11 не включает аудио, но Какао делает.

1
27.01.2020, 19:37

Теги

Похожие вопросы