Je connais bien le fonctionnement du système X11: les clients se connectent via un socket au processus serveur et envoient des opérations au serveur Windows pour effectuer certaines opérations en leur nom.
Mais je ne comprends pas (et je ne trouvais pas de bons documents) décrivant comment une application à interface graphique interagit avec le système de fenêtre sur Mac OS X. Certaines de mes questions incluent:
- Comment une application reçoit-elle les événements du système de fenêtrage?
- L'application doit-elle s'inscrire auprès du noyau ou d'un serveur système?
- Comment le système de fenêtrage demande-t-il qu'une application mette à jour son affichage?
- Comment une application déclenche-t-elle une opération de ré-affichage?
- Existe-t-il un protocole basé sur des sockets ou un autre système RPC pour le système Windows?
- Le système de fenêtrage, ou l'application, dispose-t-il d'un accès matériel direct?
- Quelles sont les opérations disponibles entre les applications client et le système de fenêtrage?
la source
Le "Qu'est-ce que le cacao?" La section du Guide des principes fondamentaux du cacao contient de nombreuses illustrations de l’architecture de bas en haut.
la source
La meilleure ressource pour les internes d'OS X est le logiciel Amit Singh's Internals . Il est étonnamment détaillé, mais ne couvre malheureusement que OS X jusqu’à 10.4. Google books a un aperçu .
La documentation d'Apple pour OS X est également une bonne ressource et est évidemment plus à jour.
la source
XQuartz est le projet open-source du système X.org X Window fonctionnant sous Mac OS X. Leur wiki de développeur et leur liste de diffusion devraient vous aider dans vos questions. Il semblerait que vous ayez besoin de quelqu'un de très impliqué dans le projet pour y répondre.
la source
Dans les versions antérieures de MacOS, le levage avait été effectué par QuickDraw; dans OS X, qui a été remplacé par Cocoa ...
Cependant, il ne se limite pas simplement à X11. Par exemple, X11 n'inclut pas l'audio, mais Cocoa.
la source