Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Haiku Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΡ€Ρ‚Ρ‹ для RISC-V ΠΈ ARM

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Haiku приступили ΠΊ созданию ΠΏΠΎΡ€Ρ‚ΠΎΠ² для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ RISC-V ΠΈ ARM. Для ARM ΡƒΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ собраны Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ bootstrap-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для запуска минимального Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ окруТСния. Π’ ΠΏΠΎΡ€Ρ‚Π΅ для RISC-V Ρ€Π°Π±ΠΎΡ‚Π° сосрСдоточСна Π½Π° обСспСчСнии совмСстимости Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ libc (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΈΠΏΠ° «long double», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ для ARM, x86, Sparc ΠΈ RISC-V). Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ Π² основной ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ вСрсий GCC 8 ΠΈ binutils 2.32. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‚Ρ€Ρ‚ΠΎΠ² Haiku для RISC-V ΠΈ ARM ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости.

Π’Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ успСхи Π² области ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы распрСдСлСния памяти rpmalloc. ВнСсённыС Π² rpmalloc измСнСния ΠΈ задСйствованиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ кэша ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π΅Ρ‚Π°-выпуска ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Haiku смоТСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° систСмы с 256 Мб ΠžΠ—Π£, Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π΅Ρ‰Ρ‘ мСньшС. ΠΠ°Ρ‡Π°Π»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ ΠΏΠΎ Π°ΡƒΠ΄ΠΈΡ‚Ρƒ ΠΈ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡŽ доступа ΠΊ API (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ root).

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

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Haiku Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΡ€Ρ‚Ρ‹ для RISC-V ΠΈ ARM

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