Saya akrab dengan cara kerja sistem X11, di mana klien terhubung melalui soket ke proses server dan mengirim operasi ke server jendela untuk melakukan operasi tertentu atas nama mereka.
Tetapi saya tidak mengerti (dan saya tidak dapat menemukan dokumen yang bagus) yang menjelaskan bagaimana aplikasi GUI berinteraksi dengan sistem jendela pada Mac OS X. Beberapa pertanyaan yang saya miliki meliputi:
- Bagaimana cara aplikasi menerima acara dari sistem windowing?
- Apakah aplikasi perlu mendaftar dengan kernel, atau server sistem windowing?
- Bagaimana sistem windowing meminta aplikasi memperbarui tampilannya?
- Bagaimana cara aplikasi memicu operasi tampilan ulang?
- Apakah ada protokol berbasis soket, atau sistem RPC lain ke sistem windowing?
- Apakah sistem windowing, atau aplikasi, memiliki akses perangkat keras langsung?
- Apa operasi yang tersedia antara aplikasi klien dan sistem windowing?
sumber
"Apa itu Kakao?" bagian dari Panduan Dasar-Dasar Kakao memiliki banyak ilustrasi hebat arsitektur dari bawah ke atas.
sumber
Sumber daya terbaik untuk internal OS X adalah Amit Singh's Mac OS X Internals . Ini sangat detail, tetapi sayangnya hanya mencakup OS X hingga 10.4. Buku Google memiliki pratinjau .
Dokumentasi Apple untuk OS X juga merupakan sumber yang bagus, dan jelas lebih mutakhir.
sumber
XQuartz adalah proyek sumber terbuka dari X.org X Window System yang berjalan pada Mac OS X. Wiki dan milis pengembang mereka akan membantu Anda dengan pertanyaan Anda, sepertinya Anda memerlukan seseorang yang sangat terlibat dalam proyek untuk menjawabnya.
sumber
Dalam versi MacOS sebelumnya, pengangkatan dilakukan oleh QuickDraw; di OS X, yang telah digantikan oleh Cocoa ...
Itu tidak hanya paralel X11 sekalipun. Misalnya, X11 tidak termasuk audio, tetapi Cocoa.
sumber