Я знаком с тем, как работает система X11, когда клиенты подключаются через сокет к процессу сервера и отправляют операции на сервер окна для выполнения определенных операций от их имени.
Но я не понимаю (и не смог найти хороших документов), описывающих, как приложение с графическим интерфейсом взаимодействует с оконной системой в Mac OS X. Вот некоторые из вопросов, которые у меня есть:
- Как приложение получает события от оконной системы?
- Нужно ли приложению регистрироваться в ядре или на каком-либо сервере оконной системы?
- Как система управления окнами запрашивает обновление приложения?
- Как приложение запускает операцию повторного отображения?
- Есть ли в оконной системе протокол на основе сокетов или какая-то другая система RPC?
- Имеет ли оконная система или приложение прямой аппаратный доступ?
- Какие операции доступны между клиентскими приложениями и оконной системой?
источник
Что такое какао? раздел Руководства по основам какао содержит множество великолепных иллюстраций архитектуры снизу вверх.
источник
Лучший ресурс для внутренних компонентов OS X - Mac OS X Internals от Амит Сингх . Это удивительно подробно, но, к сожалению, распространяется только на OS X до 10.4. У Google книг есть предварительный просмотр .
Документация Apple по OS X также является хорошим ресурсом и, очевидно, более современной.
источник
XQuartz - это проект с открытым исходным кодом системы X.org X Window, работающий на Mac OS X. Их вики-разработчик и список рассылки должны помочь вам с вашими вопросами, похоже, вам нужен кто-то, кто глубоко вовлечен в проект, чтобы ответить на них.
источник
В предыдущих версиях MacOS снятие было выполнено QuickDraw; в OS X, который был заменен Какао ...
Это не просто параллель X11, хотя. Например, X11 не включает аудио, но Какао делает.
источник