αž‚αž˜αŸ’αžšαŸ„αž„ Genode αž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ Sculpt 19.07 General Purpose OS

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ микроядСрной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Genode OS Framework сформировали αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžšαžΌαž”αž…αž˜αŸ’αž›αžΆαž€αŸ‹ 19.07. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Sculpt Π½Π° Π±Π°Π·Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Genode развиваСтся опСрационная систСма ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, которая смоТСт Π±Ρ‹Ρ‚ΡŒ использована ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ для выполнСния повсСднСвных Π·Π°Π΄Π°Ρ‡. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° αž€αžΆαžšβ€‹αž†αŸ’αž›αž„β€‹αžšαžΆαž›αžŠαžΆαž› αž˜αžΆαž“αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαž€αŸ’αžšαŸ„αž˜ AGPLv3. αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αžΆαž‰αž™αž€ αžšαžΌαž”αž—αžΆαž– LiveUSB, αž‘αŸ†αž αŸ† 24 MB αŸ” αž‚αžΆαŸ†αž‘αŸ’αžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Intel αž“αž·αž„αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αž‡αžΆαž˜αž½αž™αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ VT-d αž“αž·αž„ VT-x αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αŸ”

αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸαŸ‡αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€ Leitzentrale αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž„αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž’αž˜αŸ’αž˜αžαžΆαŸ” αž‡αŸ’αžšαž»αž„αžαžΆαž„αž†αŸ’αžœαŸαž„αžαžΆαž„αž›αžΎαž“αŸƒ GUI αž”αž„αŸ’αž αžΆαž‰αž˜αŸ‰αžΊαž“αž»αž™αžŠαŸ‚αž›αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž—αŸ’αž‡αžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€ αž“αž·αž„αžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž”αžŽαŸ’αžαžΆαž‰αŸ” αž“αŸ…αž€αžŽαŸ’αžαžΆαž›αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαž”αŸ†αž–αŸαž‰αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’, αžŠαŸ‚αž› αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“ αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž€αŸ’αžšαžΆαž αŸ’αžœαžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαžœαžΆαž„αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜β€‹αžŠαŸ„αž™β€‹αž”αŸ†αž–αžΆαž“ αž¬β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αžŸαž˜αžΆαžŸαž—αžΆαž‚ αžŠαŸ„αž™β€‹αž€αŸ†αžŽαžαŸ‹β€‹αžŸαž˜αžΆαžŸαž—αžΆαž–β€‹αž”αžšαž·αžŸαŸ’αžαžΆαž“β€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž¬β€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž“αž·αž˜αŸ’αž˜αž·αžαŸ”

αž‚αž˜αŸ’αžšαŸ„αž„ Genode αž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ Sculpt 19.07 General Purpose OS

αž“αŸ…αž–αŸαž›αžŽαžΆαž˜αž½αž™ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αžΆαž…αž”αŸ’αžαžΌαžšαž‘αŸ…αžšαž”αŸ€αž”αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž»αž„αžŸαžΌαž› αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αŸ” αž•αŸ’αž‘αŸƒαžαž»αž”αŸ‚αž”αž”αŸ’αžšαž–αŸƒαžŽαžΈαž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžŠαŸ„αž™αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ TinyCore Linux αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž›αžΈαž“αž»αž…αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž“αŸαŸ‡ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž Firefox αž“αž·αž„ Aurora αžŠαŸ‚αž›αž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’αž’αžαŸ’αžαž”αž‘αž•αŸ’αž’αŸ‚αž€αž›αžΎ Qt αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αžŸαŸαž„αŸ—αž˜αžΆαž“αŸ” αž”αžšαž·αžŸαŸ’αžαžΆαž“ noux αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ”

αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαŸ” αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αŸ’αžαžΆαžšαžαž˜αŸ’αž”αŸ€αžαžαŸ’αž‘αžΆαžŸαŸ‹ для копирования ΠΈ вставки тСкста ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ, графичСскими прилоТСниями Π½Π° Π±Π°Π·Π΅ Qt5 ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ отзывчивости интСрфСйса. ЗадСйствованы ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, прСдставлСнныС Π² майском ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
Genode, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ нСзависимый ΠΎΡ‚ ядра интСрфСйс Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AARCH64, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° использованиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ стандарта C++17, Π½ΠΎΠ²Ρ‹ΠΉ инструмСнтарий Π½Π° Π±Π°Π·Π΅ GCC 8.3 ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ runtime Π½Π° основС libc ΠΈΠ· FreeBSD 12.

αž…αžΌαžšαž™αžΎαž„αžšαŸ†αž›αžΉαž€αž’αŸ’αž“αž€αžαžΆ Genode αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“ αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αž„αŸ’αžšαž½αž”αž”αž„αŸ’αžšαž½αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž›αžΎαž“αŸƒαžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž… (32 αž“αž·αž„ 64 αž”αŸŠαžΈαž) ឬ αž˜αžΈαž€αŸ’αžšαžΌαžαžΊαžŽαŸ‚αž› NOVA (x86 αž‡αžΆαž˜αž½αž™αž“αž·αž˜αŸ’αž˜αž·αž), seL4 (x86_32, x86_64, ARM), Muen (x86_64), Fiasco.OC (x86_32, x86_64, ARM), L4ka::Pistachio (IA32, PowerPC), OKL4, L4/Fiasco (IA32, AMD64, ARM) αž“αž·αž„αžαžΊαžŽαŸ‚αž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆ ARM αž“αž·αž„ RISC-V αŸ” αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž… paravirtualized L4Linux αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒ Fiasco.OC microkernel αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž›αžΈαž“αž»αž…αž’αž˜αŸ’αž˜αžαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Genode αŸ” αžαžΊαžŽαŸ‚αž› L4Linux αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ Genode αžαžΆαž˜αžšαž™αŸˆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž“αž·αž˜αŸ’αž˜αž·αžαŸ”

αžŸαž˜αžΆαžŸαž’αžΆαžαž» Linux αž“αž·αž„ BSD αž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Genode, Gallium3D αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš, Qt, GCC αž“αž·αž„ WebKit αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› αž αžΎαž™αž”αžšαž·αžŸαŸ’αžαžΆαž“ Linux/Genode αž€αžΌαž“αž€αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ” αž…αŸ’αžšαž€ VirtualBox αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒ NOVA microkernel αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒ microkernel αž“αž·αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“ Noux αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž€αž˜αŸ’αžšαž·αž OS αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž…αŸ’αžšαž€ αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž”αžšαž·αžŸαŸ’αžαžΆαž“αž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αžΈαž˜αž½αž™αŸ— αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž›αžΈαž“αž»αž…αž“αž·αž˜αŸ’αž˜αž·αžαžŠαŸ„αž™αž”αŸ’αžšαžΎ paravirtualization αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹