Estoy familiarizado con el funcionamiento del sistema X11, donde los clientes se conectan mediante un socket al proceso del servidor y envían operaciones al servidor de Windows para realizar ciertas operaciones en su nombre.
Pero no entiendo (y no pude encontrar buenos documentos) que describa cómo una aplicación GUI interactúa con el sistema de ventanas en Mac OS X. Algunas de las preguntas que tengo incluyen:
- ¿Cómo recibe una aplicación eventos del sistema de ventanas?
- ¿La aplicación necesita registrarse con el kernel o con algún servidor del sistema de ventanas?
- ¿Cómo solicita el sistema de ventanas que una aplicación actualice su pantalla?
- ¿Cómo desencadena una aplicación una operación de re-visualización?
- ¿Existe un protocolo basado en socket o algún otro sistema RPC para el sistema de ventanas?
- ¿El sistema de ventanas o la aplicación tienen acceso directo al hardware?
- ¿Cuáles son las operaciones disponibles entre las aplicaciones cliente y el sistema de ventanas?