Ho familiarità con il funzionamento del sistema X11, in cui i client si connettono tramite un socket al processo del server e inviano operazioni al server della finestra per eseguire determinate operazioni per loro conto.
Ma non capisco (e non sono riuscito a trovare buoni documenti) che descrivono come un'applicazione GUI interagisce con il sistema a finestre su Mac OS X. Alcune delle domande che ho includono:
- In che modo un'app riceve eventi dal sistema a finestre?
- L'app deve registrarsi con il kernel o un server di sistema a finestre?
- In che modo il sistema a finestre richiede che un'app aggiorni il display?
- In che modo un'app attiva un'operazione di riesposizione?
- Esiste un protocollo basato su socket o qualche altro sistema RPC per il sistema a finestre?
- Il sistema a finestre o l'applicazione ha accesso diretto all'hardware?
- Quali sono le operazioni disponibili tra le app client e il sistema a finestre?