ฉันคุ้นเคยกับการทำงานของระบบ X11 ที่ซึ่งลูกค้าเชื่อมต่อผ่านซ็อกเก็ตไปยังกระบวนการเซิร์ฟเวอร์และส่งการดำเนินการไปยังเซิร์ฟเวอร์หน้าต่างเพื่อดำเนินการบางอย่างในนามของพวกเขา
แต่ฉันไม่เข้าใจ (และฉันไม่สามารถหาเอกสารที่ดี) อธิบายว่าแอปพลิเคชัน GUI โต้ตอบกับระบบหน้าต่างบน Mac OS X ได้อย่างไรคำถามบางข้อที่ฉันมี:
- แอพรับเหตุการณ์จากระบบหน้าต่างได้อย่างไร
- แอปจำเป็นต้องลงทะเบียนกับเคอร์เนลหรือเซิร์ฟเวอร์ระบบเซิร์ฟเวอร์บางตัวหรือไม่?
- ระบบ windowing ร้องขอให้แอปอัปเดตจอแสดงผลอย่างไร
- แอพเรียกใช้การดำเนินการแสดงซ้ำอย่างไร
- มีโปรโตคอลแบบซ็อกเก็ตหรือระบบ RPC อื่น ๆ ไปยังระบบหน้าต่างหรือไม่?
- ระบบหน้าต่างหรือแอพพลิเคชั่นมีการเข้าถึงฮาร์ดแวร์โดยตรงหรือไม่?
- การดำเนินการระหว่างแอพไคลเอ็นต์กับระบบหน้าต่างคืออะไร