Estou familiarizado com o funcionamento do sistema X11, no qual os clientes se conectam por meio de um soquete ao processo do servidor e enviam operações ao servidor de janelas para executar determinadas operações em seu nome.
Mas não entendo (e não consegui encontrar bons documentos) descrevendo como um aplicativo GUI interage com o sistema de janelas no Mac OS X. Algumas das perguntas que tenho incluem:
- Como um aplicativo recebe eventos do sistema de janelas?
- O aplicativo precisa se registrar no kernel ou em algum servidor de sistema com janelas?
- Como o sistema de janelas solicita que um aplicativo atualize sua exibição?
- Como um aplicativo aciona uma operação de reexibição?
- Existe um protocolo baseado em soquete ou algum outro sistema RPC no sistema de janelas?
- O sistema de janelas, ou o aplicativo, tem acesso direto ao hardware?
- Quais são as operações disponíveis entre aplicativos clientes e o sistema de janelas?