Kutolewa kwa mfumo wa uendeshaji wa Redox OS 0.8 ulioandikwa kwa Rust

Kutolewa kwa mfumo wa uendeshaji wa Redox 0.8, uliotengenezwa kwa kutumia lugha ya Rust na dhana ya microkernel, imechapishwa. Maendeleo ya mradi huo yanasambazwa chini ya leseni ya bure ya MIT. Kwa kupima Redox OS, makusanyiko ya demo ya 768 MB kwa ukubwa hutolewa, pamoja na picha zilizo na mazingira ya msingi ya picha (256 MB) na zana za console kwa mifumo ya seva (256 MB). Makusanyiko yanazalishwa kwa usanifu wa x86_64 na yanapatikana kwa mifumo yenye UEFI na BIOS. Kando na mazingira ya picha ya Orbital, picha ya onyesho inajumuisha kiigaji cha DOSBox, uteuzi wa michezo (DOOM, Neverball, Neverputt, sopwith, syobonaction), mafunzo, kicheza muziki cha rodioplay na kihariri maandishi cha Sodium.

Mfumo wa uendeshaji unatengenezwa kwa mujibu wa falsafa ya Unix na hukopa baadhi ya mawazo kutoka kwa SeL4, Minix na Mpango wa 9. Redox hutumia dhana ya microkernel, ambayo tu mwingiliano kati ya michakato na usimamizi wa rasilimali hutolewa katika ngazi ya kernel, na mengine yote. utendakazi huwekwa katika maktaba zinazoweza kutumika kernel na matumizi ya mtumiaji. Viendeshi vyote huendeshwa katika nafasi ya mtumiaji katika mazingira ya pekee ya kisanduku cha mchanga. Kwa utangamano na programu zilizopo, safu maalum ya POSIX hutolewa, ambayo inakuwezesha kuendesha programu nyingi bila porting.

Mfumo hutumia kanuni ya "kila kitu ni URL". Kwa mfano, URL ya β€œlogi://” inaweza kutumika kuweka kumbukumbu, β€œbasi://” kwa mwingiliano kati ya michakato, β€œtcp://” kwa mwingiliano wa mtandao, n.k. Moduli, ambazo zinaweza kutekelezwa kwa njia ya viendeshi, viendelezi vya kernel, na programu za mtumiaji, zinaweza kusajili vidhibiti vyao vya URL, kwa mfano, unaweza kuandika moduli ya ufikiaji wa mlango wa I/O na kuifunga kwa URL "port_io:// ", baada ya hapo unaweza kuitumia kufikia mlango wa 60 kwa kufungua URL "port_io://60".

Mazingira ya mtumiaji katika Redox yamejengwa kwa msingi wa ganda la picha la Orbital (lisichanganywe na ganda lingine la Orbital linalotumia Qt na Wayland) na zana ya zana ya OrbTk, ambayo hutoa API sawa na Flutter, React na Redux. Netsurf inatumika kama kivinjari. Mradi pia unaunda meneja wake wa kifurushi, seti ya huduma za kawaida (binutils, coreutils, netutils, extrautils), ganda la amri ya ion, relibc ya kawaida ya maktaba ya C, sodiamu ya mhariri wa maandishi kama vim, safu ya mtandao na faili. mfumo. Usanidi umewekwa katika lugha ya Toml.

Toleo jipya linaendelea kufanya kazi ili kuhakikisha kuwa linafanya kazi kwenye maunzi halisi. Mbali na usanifu wa x86_64, uwezo wa kufanya kazi kwenye mifumo ya 32-bit x86 (i686, Pentium II na mpya zaidi) imeongezwa. Uhamishaji hadi ARM64 CPU (aarch64) unaendelea. Uendeshaji wa maunzi halisi ya ARM bado hautumiki, lakini kupakia kwa uigaji wa ARM64 katika QEMU kunawezekana. Kwa chaguo-msingi, mfumo mdogo wa sauti umewashwa na usaidizi wa awali wa usanidi wa vidhibiti vingi hutolewa (kwenye mifumo iliyo na fremu ya UEFI). Vifaa vinavyotumika katika Redox OS ni pamoja na AC'97 na Intel HD Chipu za sauti za Sauti, pato la michoro kupitia VESA BIOS au UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), vifaa vya kuingiza (kibodi, panya, viguso) , SATA (AHCI, IDE) na NVMe. Usaidizi wa Wi-Fi na USB bado haujawa tayari (USB inafanya kazi katika QEMU pekee).

Ubunifu mwingine:

  • Picha za Boot kwa mifumo iliyo na BIOS na EFI zimeunganishwa.
  • Utekelezaji wa simu za mfumo wa clone na exec umehamishwa hadi kwenye nafasi ya mtumiaji.
  • Mchakato wa upakiaji umerahisishwa. Mpango wa bootstrap umetekelezwa, ambao huzinduliwa na kernel na hutoa upakiaji zaidi wa faili za ELF, kama vile mchakato wa init.
  • Imeongeza programu iliyoongezeka ili kusaidia programu za setuid kama vile sudo.
  • Ili kurahisisha uundaji na usakinishaji wa michakato ya usuli, kifurushi cha kreti ya redox-daemon kimependekezwa.
  • Mfumo wa kusanyiko umeundwa upya, na kuifanya iwezekanavyo kujenga kwa usanifu tofauti katika mti mmoja wa chanzo. Ili kurahisisha mkusanyiko wa usanidi tofauti, hati ya build.sh inapendekezwa. Usaidizi ulioongezwa wa kujenga kwa kutumia zana ya zana za podman. Mkusanyiko wa kernel, bootloader na initfs imeunganishwa na vifurushi vingine.
  • Imeongeza usanidi wa onyesho la programu za mfano za ujenzi ambazo hazijajumuishwa kwenye picha ya msingi ya kuwasha iliyo na mazingira ya picha.
  • Usaidizi wa udhibiti wa sauti wa programu umeongezwa kwenye mfumo mdogo wa sauti za sauti.
  • Kiendeshaji kimeongezwa cha vichipu vya sauti kulingana na AC'97. Kiendeshaji kilichoboreshwa cha chips za Sauti za Intel HD.
  • Kiendeshi kimeongezwa kwa vidhibiti vya IDE.
  • Usaidizi ulioboreshwa wa viendeshi vya NVMe.
  • PCI iliyoboreshwa, PS/2, RTL8168, USB HID, viendeshaji vya VESA.
  • Mchakato wa usakinishaji umeundwa upya: bootloader, bootstrap, kernel na initfs sasa ziko kwenye saraka ya /boot.
  • Kernel imerahisisha usimamizi wa kumbukumbu na kuongeza uwezo wa kudhibiti nafasi za anwani kutoka kwa kiwango cha mtumiaji.
  • Katika shell ya picha ya Orbital, usaidizi wa mifumo ya ufuatiliaji mbalimbali umeongezwa, usindikaji wa mshale wa panya umeboreshwa, na kiashiria kimeongezwa kwa kubadilisha kiasi. Menyu ina uwezo wa kugawa programu katika kategoria.

Chanzo: opennet.ru

Kuongeza maoni