9 ΡΠ½Π²Π°ΡΡ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ Π½ΠΎΠ²ΠΎΡΡΠ½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU Hurd Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ Π·Π° 3 ΠΊΠ²Π°ΡΡΠ°Π» 2023 Π³ΠΎΠ΄Π°:
- Π‘ΡΠΌΡΡΠ» Π’ΠΈΠ±ΠΎ (Samuel Thibault) ΠΈΡΠΏΡΠ°Π²ΠΈΠ» default PIE Hurd ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ gcc ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ static PIE. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» whatis-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΡΠ΄ΡΠ° GNU Mach, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π½Π° ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π°Π΄ΡΠ΅Ρ (ΡΡΠ΅ΠΊ? ΠΏΠΎΡΡ? kalloc?…). ΠΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° hurd-amd64 Π² GCC.
- Π’Π°ΠΊΠΆΠ΅ Π‘ΡΠΌΡΡΠ» ΠΏΠΎΠΏΡΠΎΡΠΈΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρ Hurd ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ (continuous integration) — ΡΡΠΎΠ±Ρ Π² ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²Π½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄, ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ»ΠΎΠΌΠ°Π»ΠΈ.
«ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, Hurd ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π΄: 32 Π±ΠΈΡ, 64 Π±ΠΈΡ, 32 Π½Π° 64 Π±ΠΈΡ, ACPI, Π½Π΅-ACPI, SMP, Π½Π΅-SMP, Xen ΠΈ Ρ. Π΄. Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Hurd Π€Π»Π°Π²ΠΈΠΎ (Flavio) ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ CI, Π½ΠΎ ΠΎΠ½ Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ Debian ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ Hurd Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ CI, ΡΠ²ΡΠΆΠΈΡΠ΅ΡΡ Ρ Π½Π°ΠΌΠΈ!»
- ΠΡΠΊΠ° ΠΠ°ΡΠΈΡ (Luca Dariz) ΡΠ°Π±ΠΎΡΠ°Π» Π½Π°Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΡΡΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° GNU Mach. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ MiG, ΠΌΠ°ΡΠΈΠ½Π° GNU/Linux ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make check ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° GNU Mach, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΡΠΈΡ qemu, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ 32-Π±ΠΈΡΠ½ΡΠΉ (PAE ΠΈ Π½Π΅-PAE), 32-Π±ΠΈΡΠ½ΡΠΉ Π½Π° 64-Π±ΠΈΡΠ½ΠΎΠΌ ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ 64-Π±ΠΈΡΠ½ΡΠΉ GNU Mach ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° GNU/Linux, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ qemu Π² Hurd Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ.
- ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ x86_64 Π±ΠΈΡ Π² Hurd. Π‘ΡΠΌΡΡΠ» ΡΠΎΠΎΠ±ΡΠΈΠ» ΠΎ ΡΠΎΠΌ, ΡΡΠΎ 64-Π±ΠΈΡΠ½ΡΠΉ ΠΏΠΎΡΡ GNU Hurd ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² Π°ΡΡ
ΠΈΠ²Π΅ debian-ports, ΡΡΠΎΠ±Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ chroot. ΠΠ΅ΠΌΠΎΠ½ ΡΠ±ΠΎΡΠΊΠΈ 64-Π±ΠΈΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Debian + GNU Hurd Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π²Π΅Π΄ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅. Π’ΠΈΠ±ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΠ»:
«Π‘Π±ΠΎΡΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°. Π― ΠΏΡΡΠ°ΡΡΡ ΡΠΎΠ±ΡΠ°ΡΡ gcc-13 ΡΠΆΠ΅ ΠΏΠ°ΡΡ Π½Π΅Π΄Π΅Π»Ρ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ±ΠΎΠΈ, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ΅ libtool, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. Π‘ΠΏΠΎΡΠΎΠ± Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ libtool, ΠΈ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ±ΠΎΡ.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ, Ρ ΠΎΡΡ buildd ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ², ΠΌΠ½Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ, Π·Π½Π°Ρ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΠΎ. ΠΠΎΠ³Π΄Π° Ρ ΡΠΎΠ±ΡΠ°Π» ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ debian-ΠΏΠΎΡΡΠΎΠ² (~100 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²), Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ Π³Π΄Π΅-ΡΠΎ 5-10 ΡΠ°ΠΊΠΈΡ ΡΠ±ΠΎΠ΅Π², ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ:/» - Π€Π»Π°Π²ΠΈΠΎ ΠΡΡΠ· (Flavio Cruz) ΡΠ»ΡΡΡΠΈΠ» IPC GNU Mach, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ mach_msg_type_t Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π±Π°ΠΉΡΠ°ΠΌ msgt_name ΠΈ msgt_size. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π» ΡΠ΅ΡΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ x86_64. ΠΠ½ ΡΠ΄Π°Π»ΠΈΠ» Π½Π΅ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Mach RPC:
«GNU Mach ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ IPC. Hurd ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ, ΡΠ°ΠΊ ΠΈ Π½Π΅ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ², Π½ΠΎ, ΠΏΠΎΡ ΠΎΠΆΠ΅, Hurd ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ RPC. ΠΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ Π½Π΅ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ RPC.»
- Π‘Π΅ΡΠ³Π΅ΠΉ ΠΡΠ³Π°Π΅Π² (Sergey Bugaev) Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ GNU Mach. Mach Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠ³ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π΅ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΡΠ΄ΠΎΠΌ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ, ΡΡΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ»ΠΎ ΡΠ°Π±ΠΎΡΡ ext2, bash ΠΈ Ρ.Π΄. Π‘Π΅ΡΠ³Π΅ΠΉ ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» GNU Mach ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ , ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ext2fs.
- Π’Π°ΠΊΠΆΠ΅ Π‘Π΅ΡΠ³Π΅ΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ° Ladybird ΠΏΠΎΠ΄ Hurd. ΠΠ²ΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ° (ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ Π½Π° gnu.org — ΠΏΡΠΈΠΌ.ΡΠ΅Π΄.) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ netsurf ΠΏΠΎΠ΄ Hurd, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΏΡΠΎΡΡΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°Ρ (ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ), Π½ΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ JavaScript, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡΡ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π‘Π΅ΡΠ³Π΅Ρ ΡΠ΄Π°ΡΡΡΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Ladybird, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Hurd ΡΠΌΠΎΠ³ΡΡ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠ°ΠΊ Github! Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΏΠΎΡΡ Firefox.
- ΠΡΡ ΠΡΠ³Π°Π΅Π² Π½Π°ΡΠ°Π» ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Hurd Π½Π° AArch64! Π Ρ ΠΎΡΡ ΠΏΠΎΡΡ Π½Π° RISC-V ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ, ΡΡΠΎΠΈΡ Π²ΡΡ ΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠΎ, ΡΡΠΎ AArch64 Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½. Π§ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π‘Π΅ΡΠ³Π΅ΠΉ ΡΠΆΠ΅ ΡΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ Hurd Π΄Π»Ρ AArch64! ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ GNU Mach Π½Π° AArch64, Π½ΠΎ ΠΊ ΡΡΠ°ΡΡΡΡ Π΄Π»Ρ Π½Π°Ρ, ΠΎΠ½ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΡΡ ΠΊ GDB ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ Π·Π°ΠΏΡΡΡΠΈΠ» Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Hurd AArch64 «Hello World» Π² Linux! ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π΅ΠΌΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΎΠΊΠ° ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ABI ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΏΠΎΡΡ GNU Mach, Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ!
- Π’ΠΎΠ±ΠΈΠ°Ρ ΠΠ»Π°ΡΠ΅Π½ (Tobias Platen) Π½Π°ΡΠ°Π» ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ GNU Mach Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Power9.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Ρ ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π»ΡΠ±ΠΈΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎΠ΄ Hurd ΠΈ ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ GNU Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΡΡΠ³Π° Π»ΡΠ΄Π΅ΠΉ — ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠ°ΡΡΠΈΡ.
ΠΠ»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ: GNU Hurd (ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Hurd) — ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ΅Π»ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½Π° ΡΠ΄ΡΠ° Unix Π΄Π»Ρ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Hurd Π²Π΅Π΄ΡΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ 1990 Π³ΠΎΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ GNU ΠΈ Π€ΠΎΠ½Π΄ΠΎΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ΅ΡΡ Π²Π΅Π΄ΡΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Linux — ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΄ΡΠ°ΠΌ Unix-ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ Π² ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU Hurd.
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ GNU Mach — ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΄ΡΠ° Mach, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ GNU Hurd.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru