Kutulutsidwa kwa makina opangira a Redox OS 0.7, olembedwa m'chinenero cha Rust

Pambuyo pa chaka ndi theka cha chitukuko, kutulutsidwa kwa makina opangira Redox 0.7, opangidwa pogwiritsa ntchito chinenero cha Rust ndi lingaliro la microkernel, lasindikizidwa. Zomwe polojekitiyi ikuchita zimagawidwa pansi pa layisensi ya MIT yaulere. Poyesa Redox OS, kukhazikitsa ndi Live zithunzi za 75 MB kukula zimaperekedwa. Misonkhanoyi imapangidwira kamangidwe ka x86_64 ndipo imapezeka pamakina omwe ali ndi UEFI ndi BIOS.

Pokonzekera kumasulidwa kwatsopano, cholinga chachikulu chinali kuonetsetsa kuti chikugwira ntchito pa hardware yeniyeni. Zatsopano zazikulu:

  • Bootloader yalembedwanso kwathunthu, momwe code yoyambira pamakina okhala ndi BIOS ndi UEFI ndi yolumikizana ndipo makamaka yolembedwa mu Rust. Kusintha kwa bootloader kwakulitsa kwambiri kuchuluka kwa zida zothandizira.
  • Kuphatikiza pa kukonza zolakwika, ntchito yachitika mu kernel kukonza magwiridwe antchito ndikukulitsa chithandizo cha Hardware. Zosintha za CPU-zasinthidwa kuti zigwiritse ntchito regista ya GS. Kuwonetsera (mapu) kwa kukumbukira konse kwakuthupi kumaperekedwa, kugwiritsa ntchito masamba obwerezabwereza kumayimitsidwa. Khodi ya msonkhano muzoyika zamkati yalembedwanso kuti igwirizane ndi zotulutsa zamtsogolo.
  • Anawonjezera chithandizo choyambirira cha zomangamanga za AArch64.
  • Kusintha kwapangidwa pokonza njira zonse zamafayilo mu UTF-8 encoding.
  • Khodi yogwira ntchito ndi ACPI AML (ACPI Machine Language) Specification - uefi.org yasunthidwa kuchokera ku kernel kupita ku acpid background process yomwe ikuyenda mu malo ogwiritsa ntchito.
  • Zomwe zili mu Initfs zasunthidwa ku fayilo yatsopano, kupangitsa kuti ikhale yosavuta kupanga mapaketi.
  • Dongosolo la fayilo la RedoxFS lalembedwanso ndikusinthidwa kuti ligwiritse ntchito njira ya CoW (Copy-on-Write), momwe zosintha sizilemba zambiri, koma zimasungidwa kumalo atsopano, zomwe zasintha kwambiri kudalirika. Zatsopano za RedoxFS zikuphatikiza kuthandizira zosintha zamakina, kubisa kwa data pogwiritsa ntchito algorithm ya AES, komanso kutsimikizika kwa data ndi metadata yokhala ndi siginecha ya digito. Kugawana khodi ya FS mu dongosolo ndi bootloader kumatsimikiziridwa.
  • Kusintha kwa laibulale ya C ya Relibc yopangidwa ndi pulojekitiyi, yomwe imatha kugwira ntchito osati mu Redox yokha, komanso yogawa motengera kernel ya Linux, yapitilira. Zosinthazi zidapangitsa kuti zikhale zosavuta kutumiza mapulogalamu osiyanasiyana ku Redox ndikuthetsa mavuto ndi mapulogalamu ambiri ndi malaibulale olembedwa mu C.
  • Mtundu wa compiler ya rustc yakonzedwa yomwe imatha kuthamanga mu Redox. Ntchito zotsalira zikuphatikiza kukhathamiritsa magwiridwe antchito ndikusintha woyang'anira phukusi lonyamula katundu kuti azigwira ntchito m'malo a Redox.

Kutulutsidwa kwa makina opangira a Redox OS 0.7, olembedwa m'chinenero cha Rust

Njira yogwiritsira ntchito imapangidwa motsatira filosofi ya Unix ndipo imabwereka malingaliro ena kuchokera ku SeL4, Minix ndi Plan 9. Redox amagwiritsa ntchito lingaliro la microkernel, momwe kuyanjana kokha pakati pa ndondomeko ndi kayendetsedwe kazinthu kumaperekedwa pa mlingo wa kernel, ndi zina zonse. magwiridwe antchito amayikidwa m'malaibulale omwe angagwiritsidwe ntchito pa kernel ndi ogwiritsa ntchito. Madalaivala onse amayendetsa malo ogwiritsira ntchito m'malo a sandbox akutali. Kuti mugwirizane ndi mapulogalamu omwe alipo, gawo lapadera la POSIX limaperekedwa, lomwe limakupatsani mwayi woyendetsa mapulogalamu ambiri popanda kunyamula.

Dongosololi limagwiritsa ntchito mfundo ya "chilichonse ndi URL". Mwachitsanzo, ulalo wa “log://” utha kugwiritsidwa ntchito podula mitengo, “basi://” polumikizana pakati pa njira, “tcp://” polumikizana ndi netiweki, ndi zina zambiri. Ma module, omwe amatha kukhazikitsidwa ngati madalaivala, zowonjezera za kernel, ndi kugwiritsa ntchito kwa ogwiritsa ntchito, amatha kulembetsa ma URL awo, mwachitsanzo, mutha kulemba gawo la I/O polowa ndikumanga ku URL "port_io: // ", pambuyo pake mutha kuyigwiritsa ntchito kuti mupeze doko 60 potsegula ulalo "port_io://60".

Malo ogwiritsira ntchito ku Redox amamangidwa pamaziko a chipolopolo cha Orbital (chosasokonezedwa ndi chipolopolo china cha Orbital chomwe chimagwiritsa ntchito Qt ndi Wayland) ndi zida za OrbTk, zomwe zimapereka API yofanana ndi Flutter, React ndi Redux. Netsurf imagwiritsidwa ntchito ngati msakatuli. Pulojekitiyi ikupanganso woyang'anira phukusi lake, zida zofunikira (binutils, coreutils, netutils, extrautils), ion command shell, standard C library relibc, vim-like text editor sodium, network stack and file. dongosolo. Kukonzekera kumayikidwa muchilankhulo cha Toml.

Source: opennet.ru

Kuwonjezera ndemanga