Sakin Redox OS 0.7 tsarin aiki da aka rubuta a cikin Rust

ПослС ΠΏΠΎΠ»ΡƒΡ‚ΠΎΡ€Π° Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Redox 0.7, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ с использованиСм языка Rust ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ микроядра. Наработки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ свободной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. Для тСстирования Redox OS ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ установочныС ΠΈ Live-ΠΎΠ±Ρ€Π°Π·Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 75 ΠœΠ‘. Π‘Π±ΠΎΡ€ΠΊΠΈ сформированы для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86_64 ΠΈ доступны для систСм с UEFI ΠΈ BIOS.

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ выпуска основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ пСрСписан Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ прСимущСствСнно написан Π½Π° Rust ΠΊΠΎΠ΄ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° систСмах с BIOS ΠΈ UEFI. ИзмСнСниС Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ сущСствСнно Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ спСктр ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ оборудования.
  • Π’ ядрС ΠΏΠΎΠΌΠΈΠΌΠΎ исправлСния ошибок ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ оборудования. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½Ρ‹Π΅ для CPU ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° использованиС рСгистра GS. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΌΠ°ΠΏΠΈΠ½Π³) всСй физичСской памяти, ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ использованиС рСкурсивных страниц памяти. АссСмблСрный ΠΊΠΎΠ΄ Π² inline-вставках пСрСписан для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ совмСстимости с Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌΠΈ выпусками компилятора.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AArch64.
  • ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Ρ‘Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ всСх Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8.
  • Код для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ACPI AML (ACPI Machine Language) Specification β€” uefi.org пСрСнСсён ΠΈΠ· ядра Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс acpid, выполняСмый Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ пространствС.
  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Initfs пСрСнСсСно Π² Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ упростило Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².
  • Ѐайловая систСма RedoxFS пСрСписана ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π½Π° использованиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° CoW (Copy-on-Write), ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ измСнСния Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π½ΠΎΠ²ΠΎΠ΅ мСсто, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ сущСствСнного ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ надёТности. Из Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй RedoxFS отмСчаСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° AES, Π° Ρ‚Π°ΠΊΠΆΠ΅ завСрСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ совмСстноС использованиС ΠΊΠΎΠ΄Π° Π€Π‘ Π² систСмС ΠΈ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ΅.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Relibc, способной Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Redox, Π½ΠΎ ΠΈ Π² дистрибутивах Π½Π° Π±Π°Π·Π΅ ядра Linux. ВнСсённыС измСнСния упростили пСрСнос Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Redox ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, написанными Π½Π° языкС Π‘ΠΈ.
  • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° вСрсия компилятора rustc, способная Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Redox. Из ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡ отмСчаСтся оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ адаптация ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° cargo для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Redox.

Sakin Redox OS 0.7 tsarin aiki da aka rubuta a cikin Rust

An haΙ“aka tsarin aiki daidai da falsafar Unix kuma yana Ι—aukar wasu ra'ayoyi daga SeL4, Minix da Shirin 9. Redox yana amfani da manufar microkernel, wanda kawai ana ba da hulΙ—ar tsakanin matakai da sarrafa albarkatun a matakin kernel, da duk sauran abubuwa. Ana sanya ayyuka a cikin Ι—akunan karatu waΙ—anda za a iya amfani da su duka kernel da aikace-aikacen mai amfani. Duk direbobi suna gudana a cikin sarari mai amfani a keΙ“ance mahallin akwatin sandbox. Don dacewa da aikace-aikacen da ke akwai, an samar da wani Layer na POSIX na musamman, wanda ke ba ku damar gudanar da shirye-shirye da yawa ba tare da jigilar kaya ba.

Tsarin yana amfani da ka'idar "komai URL ne". Misali, ana iya amfani da URL β€œlog://” don shiga, β€œbas://” don mu’amala tsakanin matakai, β€œtcp://” don hulΙ—ar hanyar sadarwa, da sauransu. Modules, waΙ—anda za a iya aiwatar da su ta hanyar direbobi, kari na kernel, da aikace-aikacen masu amfani, na iya yin rajistar masu kula da URL na kansu, misali, zaku iya rubuta tsarin shiga tashar I/O kuma ku Ι—aure shi zuwa URL "port_io: // ", bayan haka zaku iya amfani da shi don samun damar tashar jiragen ruwa 60 ta buΙ—e URL" port_io: // 60".

Yanayin mai amfani a cikin Redox an gina shi akan harsashin hoto na Orbital (kada a ruΙ—e shi da wani harsashi na Orbital wanda ke amfani da Qt da Wayland) da kayan aikin OrbTk, wanda ke ba da API mai kama da Flutter, React da Redux. Ana amfani da Netsurf azaman mai binciken gidan yanar gizo. Har ila yau, aikin yana haΙ“aka manajan kunshin nasa, saitin daidaitattun kayan aiki (binutils, coreutils, netutils, extrautils), harsashi na ion, daidaitaccen Ι—akin karatu na C, madaidaicin editan rubutu na vim, sodium tari da fayil. tsarin. An saita saitin a cikin yaren Toml.

source: budenet.ru

Add a comment