Wiem, jak działa system X11, w którym klienci łączą się za pośrednictwem gniazda z procesem serwera i wysyłają operacje do serwera okien w celu wykonania pewnych operacji w ich imieniu.
Ale nie rozumiem (i nie mogłem znaleźć dobrych dokumentów) opisujących interakcję aplikacji GUI z systemem okien w Mac OS X. Niektóre z moich pytań obejmują:
- W jaki sposób aplikacja odbiera zdarzenia z systemu okien?
- Czy aplikacja musi się zarejestrować w jądrze lub na serwerze systemu okienkowego?
- W jaki sposób system okienkowy żąda, aby aplikacja zaktualizowała swój ekran?
- W jaki sposób aplikacja wyzwala operację ponownego wyświetlania?
- Czy istnieje system oparty na gniazdach lub inny system RPC w systemie okienkowym?
- Czy system okien lub aplikacja ma bezpośredni dostęp do sprzętu?
- Jakie operacje są dostępne między aplikacjami klienckimi a systemem okienkowym?
źródło
„Co to jest kakao?” sekcja Przewodnika po podstawach kakao zawiera kilka świetnych ilustracji architektury od podstaw.
źródło
Najlepszym źródłem wewnętrznych elementów systemu operacyjnego OS X jest system wewnętrzny Mac OS X firmy Amit Singh . Jest zadziwiająco szczegółowy, ale niestety obejmuje tylko OS X do 10.4. Książki Google mają podgląd .
Dokumentacja Apple dotycząca systemu OS X jest również dobrym zasobem i jest oczywiście bardziej aktualna.
źródło
XQuartz to projekt open source X.org X Window System działający na Mac OS X. Ich wiki programistów i lista mailingowa powinny pomóc ci w zadawaniu pytań, wydaje się, że potrzebujesz kogoś głęboko zaangażowanego w projekt, aby na nie odpowiedzieć.
źródło
We wcześniejszych wersjach MacOS podnoszenie odbywało się za pomocą QuickDraw; w OS X, który został zastąpiony przez Cocoa ...
Jednak nie jest to po prostu równoległy X11. Na przykład X11 nie zawiera dźwięku, ale Cocoa tak.
źródło