Liberigo de la Redox OS 0.8 operaciumo skribita en Rust

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Redox 0.8, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ с использованиСм языка Rust ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ микроядра. Наработки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ свободной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. Для тСстирования Redox OS ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ дСмонстрационныС сборки Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 768 ΠœΠ‘, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ графичСским ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ (256 ΠœΠ‘) ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΌ инструмСнтариСм для сСрвСрных систСм (256 ΠœΠ‘). Π‘Π±ΠΎΡ€ΠΊΠΈ сформированы для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86_64 ΠΈ доступны для систСм с UEFI ΠΈ BIOS. ДСмонстрационный ΠΎΠ±Ρ€Π°Π· ΠΊΡ€ΠΎΠΌΠ΅ графичСского окруТСния Orbital Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ эмулятор DOSBox, ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ³Ρ€ (DOOM, Neverball, Neverputt, sopwith, syobonaction), ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ rodioplay ΠΈ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Sodium.

La operaciumo estas evoluigita laΕ­ la Unix-filozofio kaj pruntas kelkajn ideojn de SeL4, Minix kaj Plan 9. Redox uzas la koncepton de mikrokerno, en kiu nur interagado inter procezoj kaj administrado de rimedoj estas disponigitaj sur la kernnivelo, kaj Δ‰iuj aliaj. funkcieco estas metita en bibliotekojn kiuj povas esti uzataj kaj la kerno kaj uzantaplikoj. Ĉiuj ŝoforoj funkcias en uzantspaco en izolitaj sablokesto-medioj. Por kongruo kun ekzistantaj aplikoj, speciala POSIX-tavolo estas provizita, kiu ebligas al vi ruli multajn programojn sen porti.

La sistemo uzas la principon "Δ‰io estas URL". Ekzemple, la URL "log://" povas esti uzata por registri, "bus://" por interagado inter procezoj, "tcp://" por retinterago, ktp. Moduloj, kiuj povas esti efektivigitaj en la formo de ŝoforoj, kernaj etendaΔ΅oj kaj uzantaj aplikaΔ΅oj, povas registri siajn proprajn URL-traktistojn, ekzemple, vi povas skribi I/O-pordan alirmodulon kaj ligi ĝin al la URL "port_io://". ", post kio vi povas uzi ĝin por aliri pordon 60 malfermante la URL "port_io://60".

La uzantmedio en Redox estas konstruita surbaze de la propra grafika ŝelo de Orbital (malsama al alia Orbital-ŝelo kiu uzas Qt kaj Wayland) kaj la ilaro OrbTk, kiu disponigas API similan al Flutter, React kaj Redux. Netsurf estas uzata kiel retumilo. La projekto ankaŭ disvolvas sian propran pakaġadministrilon, aron da normaj iloj (binutils, coreutils, netutils, ekstrautils), la ion komandan ŝelon, la norman C-bibliotekon relibc, la vim-similan tekstredaktilon natrion, retan stakon kaj dosieron. sistemo. La agordo estas agordita en la lingvo Toml.

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ. Помимо Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86_64 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° 32-разрядных систСмах x86 (i686, Pentium II ΠΈ Π½ΠΎΠ²Π΅Π΅). ВСдётся ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° CPU ARM64 (aarch64). Π Π°Π±ΠΎΡ‚Π° Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ARM-ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ поддСрТиваСтся, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΡ€ΠΈ эмуляции ARM64 Π² QEMU. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π° звуковая подсистСма ΠΈ обСспСчСна Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ (Π½Π° систСмах с Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€ΠΎΠΌ UEFI). Из оборудования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ поддСрТиваСтся Π² Redox OS, Π½Π°Π·Π²Π°Π½Ρ‹ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Ρ‡ΠΈΠΏΡ‹ AC’97 ΠΈ Intel HD Audio, Π²Ρ‹Π²ΠΎΠ΄ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· API VESA BIOS ΠΈΠ»ΠΈ UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), устройства Π²Π²ΠΎΠ΄Π° (ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΌΡ‹ΡˆΠΈ, Ρ‚Π°Ρ‡ΠΏΠ°Π΄Ρ‹), SATA (AHCI, IDE) ΠΈ NVMe. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Wi-Fi ΠΈ USB ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ готовности (USB Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² QEMU).

Aliaj novigoj:

  • ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ для систСм с BIOS ΠΈ EFI.
  • РСализация систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² clone ΠΈ exec пСрСнСсСна Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Π£ΠΏΡ€ΠΎΡ‰Ρ‘Π½ процСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π’Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° bootstrap, запускаСмая ядром ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ELF-Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ процСсс init.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° escalated для обСспСчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ setuid-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ sudo.
  • Для упрощСния создания ΠΈ установки Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… процСссов ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ crate-ΠΏΠ°ΠΊΠ΅Ρ‚ redox-daemon.
  • ΠŸΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Π° сборочная систСма, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки для Ρ€Π°Π·Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ исходных тСкстов. Для упрощСния сборки Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ скрипт build.sh. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки с использованиСм инструмСнтария podman. Π‘Π±ΠΎΡ€ΠΊΠ° ядра, Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° ΠΈ initfs ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° дСмонстрационная конфигурация для сборки ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π΅ входящих Π² Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· с графичСским ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
  • Π’ Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ подсистСму audiod Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ управлСния Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒΡŽ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ² Π½Π° Π±Π°Π·Π΅ AC’97. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для Ρ‡ΠΈΠΏΠΎΠ² Intel HD Audio.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для IDE-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ NVMe.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ PCI, PS/2, RTL8168, USB HID, VESA.
  • ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° организация процСсса установки: Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, bootstrap, ядро ΠΈ initfs Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /boot.
  • Π’ ядрС ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ манипуляции с адрСсными пространствами ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ уровня.
  • Π’ графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Оrbital Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π½Ρ‹Ρ… систСм, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° курсора ΠΌΡ‹ΡˆΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для измСнСния громкости. Π’ мСню Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ раздСлСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ катСгориям.

fonto: opennet.ru

Aldoni komenton