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

Baada ya mwaka na nusu ya maendeleo, kutolewa kwa mfumo wa uendeshaji wa Redox 0.7, 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, usakinishaji na picha za Moja kwa moja za ukubwa wa MB 75 hutolewa. Makusanyiko yanazalishwa kwa usanifu wa x86_64 na yanapatikana kwa mifumo yenye UEFI na BIOS.

Wakati wa kuandaa toleo jipya, lengo kuu lilikuwa katika kuhakikisha kuwa inafanya kazi kwenye vifaa halisi. Ubunifu kuu:

  • Bootloader imeandikwa upya kabisa, ambayo msimbo wa booting kwenye mifumo na BIOS na UEFI ni umoja na hasa imeandikwa katika Rust. Kubadilisha bootloader kumepanua kwa kiasi kikubwa anuwai ya maunzi yanayotumika.
  • Kando na kurekebisha hitilafu, kazi imefanywa kwenye kernel ili kuboresha utendaji na kupanua usaidizi wa maunzi. Vigezo maalum vya CPU vimebadilishwa ili kutumia sajili ya GS. Tafakari (kuchora ramani) ya kumbukumbu zote za kimwili hutolewa, matumizi ya kurasa za kumbukumbu zinazorudiwa zimesimamishwa. Msimbo wa kusanyiko katika vichochezi vya ndani umeandikwa upya ili kuboresha upatanifu na matoleo ya baadaye ya mkusanyaji.
  • Aliongeza msaada wa awali kwa usanifu wa AArch64.
  • Mpito umefanywa ili kuchakata njia zote za faili katika usimbaji wa UTF-8.
  • Nambari ya kuthibitisha ya kufanya kazi na ACPI AML (Lugha ya Mashine ya ACPI) - uefi.org imehamishwa kutoka kwenye kernel hadi kwenye mchakato wa usuli wa acpid unaoendeshwa katika nafasi ya mtumiaji.
  • Yaliyomo kwenye Initfs yamehamishwa hadi kwenye faili mpya, na kuifanya iwe rahisi kutengeneza vifurushi.
  • Mfumo wa faili wa RedoxFS umeandikwa tena na kubadilishwa kwa kutumia utaratibu wa CoW (Copy-on-Write), ambayo mabadiliko hayana kufuta habari, lakini huhifadhiwa kwenye eneo jipya, ambalo limeboresha kwa kiasi kikubwa kuaminika. Vipengele vipya vya RedoxFS ni pamoja na usaidizi wa masasisho ya shughuli, usimbaji fiche wa data kwa kutumia algoriti ya AES, pamoja na uthibitishaji wa data na metadata kwa saini za dijiti. Kushiriki msimbo wa FS katika mfumo na bootloader ni kuhakikisha.
  • Uboreshaji wa maktaba ya kawaida ya C ya Relibc iliyotengenezwa na mradi huo, yenye uwezo wa kufanya kazi sio tu katika Redox, lakini pia katika usambazaji kulingana na kernel ya Linux, imeendelea. Mabadiliko hayo yalifanya iwe rahisi kusambaza programu mbalimbali kwa Redox na kutatua matatizo na programu nyingi na maktaba zilizoandikwa katika C.
  • Toleo la mkusanyaji wa rustc limetayarishwa ambalo linaweza kufanya kazi katika Redox. Kazi zilizobaki ni pamoja na kuboresha utendaji na kurekebisha meneja wa kifurushi cha mizigo kufanya kazi katika mazingira ya Redox.

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

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.

Chanzo: opennet.ru

Kuongeza maoni