ΠΡΠΎΠ΅ΠΊΡ NetBSD
ΠΠ΅Π½ΠΈΠ΄ΠΆΡΡΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ twm ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π² NetBSD ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 20 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π°ΡΡ Π°ΠΈΡΠ½ΠΎ Π² Π΄Π½Π΅ΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π°. ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠ΅Π°ΠΊΡΠΈΡ Π½Π° Ρ ΠΎΡΠ°ΡΠ° ΠΊΡΠΌ twm ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠ΅ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎ-ΠΌΠΎΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ CTWM, Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π°Ρ Π±Π»Π°Π³ΠΎΠΏΡΠΈΡΡΠ½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Ρ ΠΎΠΏΠΈΡ Π² Π΄ΡΡΠ³ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
CTWM ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π΄Π΅ΡΠΊΡΠΎΠΏΠΈ, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ NetBSD. ΠΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° CTWM, Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΎ ΠΌΠ΅Π½Ρ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π·Π° ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π±Π΅Π· ΠΌΠΈΡΠΊΠ°, Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΠΈ Π½Π° Π΅ΠΊΡΠ°Π½Π° (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ HiDPI ΡΠ»Π΅Π΄ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΠΈΡΡΠΎΠ²Π΅), Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΊΠ°ΠΊΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½ΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ».
ΠΠ΅ΡΠ΅:
Π‘ΡΠ°Π½Π°:
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°
ΠΠ΄Π½Π° ΠΎΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° Wayland, ΠΊΠΎΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ΡΠΎ ΠΊΡΠΌ NetBSD, Π΅ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° ΠΠ‘ ΠΊΠΎΠ΄ Π² ΡΡΡΡΠ°Π²Π½ΠΈΡΠ΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΅ΠΊΡΠ°Π½Π°, Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅. Wayland Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π³ΠΎΡΠΎΠ²ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ Π΅ΠΊΡΠ°Π½Π½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ, Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠ·ΠΎΡΡΠ°Π²Π° ΠΎΡ X ΡΡΡΠ²ΡΡΠ° Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡ, ΠΌΠΎΠ΄ΡΠ»Π½ΠΎΡΡ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ ΠΈΠ»ΠΈ ΡΡΠ΅Π· Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. Π Π΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΡΡΡΠ²ΡΡ Π½Π° Weston Π΅ ΡΠΈΠ»Π½ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ API Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΠΊΡΠΌ I/O ΠΌΡΠ»ΡΠΈΠΏΠ»Π΅ΠΊΡΠ½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π½Π° epoll ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° kqueue. ΠΠ°ΡΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° kqueue Π²Π΅ΡΠ΅ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° BSD ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ Π² ΠΌΠ°ΡΠΎΠ²ΠΈΡ ΠΏΠΎΡΠΎΠΊ.
ΠΠΎΠ΄ΡΡ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΡΡΡΠ²ΡΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΎΠ³Π»Π΅Π΄ ΡΠ°ΠΌΠΎ Π½Π° Linux ΠΈ Π½Π΅ Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄ΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° β#include " ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ libinput). FreeBSD Π²Π½Π΅Π΄ΡΡΠ²Π° ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ Π½Π° API Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Linux, Π½ΠΎ NetBSD ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ API Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅, wscons. ΠΠΎΠ½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° wscons Π²Π΅ΡΠ΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ swc ΠΈ Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π° Π·Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ ΠΊΡΠΌ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° NetBSD Π²ΡΠ·Π½Π°ΠΌΠ΅ΡΡΠ²Π°Ρ Π΄Π° ΡΠ±Π΅Π΄ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Wayland Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ²ΡΡΠ΄Π° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ epoll, Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΊΡΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½ ΡΠ»ΠΎΠΉ ΠΊΠ°ΡΠΎ libevent. ΠΠ»Π°Π½ΠΈΡΠ°Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΡΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ° DRM/KMS Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° NetBSD ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΠΎΠΌΠ½ΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΈ, Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° DRM ΠΈ Glamour API (Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ X11 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ xwayland). ΠΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅ΡΠΈ ΠΊΡΠΌ Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡ Π½Π° Wayland ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΡΡΡΠ²ΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru