Для ОБ Haiku ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ слой совмСстимости с Xlib/X11

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Haiku, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‰Π΅ΠΉ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈΠ΄Π΅ΠΉ BeOS, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ прослойки для ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ совмСстимости с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Xlib, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ X11-прилоТСния Π² Haiku Π±Π΅Π· использования X-сСрвСра. ΠŸΡ€ΠΎΡΠ»ΠΎΠΉΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‡Π΅Ρ€Π΅Π· ΡΠΌΡƒΠ»ΡΡ†ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Xlib ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ трансляции Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² высокоуровнСвый графичСский API Haiku.

Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ прослойкой прСдоставляСтся большая Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… интСрфСйсов Xlib, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΠΎΠΊΠ° ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ. ΠŸΡ€ΠΎΡΠ»ΠΎΠΉΠΊΠ° позволяСт ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прилоТСния Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ GTK, Π½ΠΎ качСство ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ элСмСнтов Π² ΠΎΠΊΠ½Π°Ρ… Π΅Ρ‰Ρ‘ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π²ΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΌΡ‹ΡˆΡŒΡŽ ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π²ΠΈΠ΄Π° (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° события двиТСния ΠΌΡ‹ΡˆΠΈ).

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Qt Π² Haiku Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ создания Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° Qt, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ… API Haiku. Но для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ GTK использованиС эмуляции X11 рассматриваСтся ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ внутрСнности GTK Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ абстрагированы ΠΈ созданиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ GTK-бэкСнда для Haiku ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. Как Π²Ρ‹Ρ…ΠΎΠ΄ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»Π°ΡΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания ΠΏΠΎΡ€Ρ‚Π° X11-сСрвСра для Haiku, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠ·Π½Π°Π½ нСцСлСсообразным Π² условиях, ΠΊΠΎΠ³Π΄Π° API X11 ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСпосрСдствСнно ΠΏΠΎΠ²Π΅Ρ€Ρ… API Haiku. X11 Π²Ρ‹Π±Ρ€Π°Π½ ΠΊΠ°ΠΊ Π΄Π°Π²Π½ΠΎ стабилизированный ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ с Wayland Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ΡΡ экспСримСнты, трСбуСтся созданиС собствСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвСра ΠΈ Π½Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Ρ‹.

Для ОБ Haiku ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ слой совмСстимости с Xlib/X11

ΠŸΡ€ΠΈ запускС Ρ‡Π΅Ρ€Π΅Π· прослойку Π±ΠΎΠ»Π΅Π΅ простых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Tcl/Tk ΠΈ wxWidgets Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ внСшний Π²ΠΈΠ΄ ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ:

Для ОБ Haiku ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ слой совмСстимости с Xlib/X11
Для ОБ Haiku ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ слой совмСстимости с Xlib/X11
Для ОБ Haiku ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ слой совмСстимости с Xlib/X11

Напомним, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Haiku Π±Ρ‹Π» создан Π² 2001 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ рСакция Π½Π° сворачиваниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ОБ BeOS ΠΈ развивался ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ OpenBeOS, Π½ΠΎ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² 2004 Π³ΠΎΠ΄Ρƒ ΠΈΠ·-Π·Π° ΠΏΡ€Π΅Ρ‚Π΅Π½Π·ΠΈΠΉ, связанных с использованиСм Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΉ ΠΌΠ°Ρ€ΠΊΠΈ BeOS. БистСма Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ базируСтся Π½Π° тСхнологиях BeOS 5 ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с прилоТСниями для Π΄Π°Π½Π½ΠΎΠΉ ОБ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты большСй части ОБ Haiku Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ свободной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΌΠ΅Π΄ΠΈΠ°-ΠΊΠΎΠ΄Π΅ΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, заимствованныС ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

БистСма ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ собствСнноС ядро, построСнноС Π½Π° основС Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ для высокой отзывчивости Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ эффСктивного выполнСния ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ качСствС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ OpenBFS, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, 64-разрядныС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ хранСния ΠΌΠ΅Ρ‚Π°-тэгов (для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ»ΡŽΡ‡=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π€Π‘ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ Π½Π° Π‘Π”) ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… индСксов для ускорСния Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ Π½ΠΈΠΌ. Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ структуры Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ «B+ tree» Π΄Π΅Ρ€Π΅Π²ΡŒΡ. Из ΠΊΠΎΠ΄Π° BeOS Π² состав Haiku Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Tracker ΠΈ панСль Deskbar, исходныС тСксты ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ послС прСкращСния развития BeOS.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ