Izdanje operativnog sustava Redox OS 0.7 napisanog u Rustu

Nakon godinu i pol razvoja, objavljeno je izdanje operativnog sustava Redox 0.7, razvijenog korištenjem jezika Rust i koncepta mikrokernela. Razvoj projekta distribuira se pod besplatnom licencom MIT-a. Za testiranje Redox OS-a nudi se instalacija i Live slike veličine 75 MB. Sklopovi su generirani za x86_64 arhitekturu i dostupni su za sustave s UEFI i BIOS.

Prilikom pripreme novog izdanja glavni je fokus bio na tome da se osigura da radi na stvarnom hardveru. Glavne inovacije:

  • Bootloader je potpuno prepisan, u kojem je kod za dizanje na sustavima s BIOS-om i UEFI-jem objedinjen i uglavnom napisan u Rustu. Promjena bootloadera značajno je proširila raspon podržanog hardvera.
  • Uz ispravke grešaka, u kernelu se radilo na poboljšanju performansi i proširenju hardverske podrške. Varijable specifične za CPU pretvorene su za korištenje GS registra. Omogućena je refleksija (mapiranje) sve fizičke memorije, korištenje rekurzivnih memorijskih stranica je zaustavljeno. Asemblerski kod u inline umetcima je ponovno napisan kako bi se poboljšala kompatibilnost s budućim izdanjima prevoditelja.
  • Dodana početna podrška za AArch64 arhitekturu.
  • Izvršen je prijelaz na obradu svih staza datoteka u UTF-8 kodiranju.
  • Kod za rad s specifikacijom ACPI AML (ACPI Machine Language) - uefi.org premješten je iz kernela u acpid pozadinski proces koji se izvodi u korisničkom prostoru.
  • Initfs sadržaj je premješten u novu datoteku, što olakšava generiranje paketa.
  • RedoxFS datotečni sustav je ponovno napisan i prebačen na korištenje CoW (Copy-on-Write) mehanizma, u kojem promjene ne brišu informacije, već se spremaju na novu lokaciju, čime je značajno poboljšana pouzdanost. Nove značajke RedoxFS-a uključuju podršku za transakcijska ažuriranja, enkripciju podataka pomoću AES algoritma, kao i provjeru autentičnosti podataka i metapodataka s digitalnim potpisima. Dijeljenje FS koda u sustavu i bootloaderu je osigurano.
  • Nastavljeno je poboljšanje standardne C biblioteke Relibc razvijene projektom, koja može raditi ne samo u Redoxu, već iu distribucijama temeljenim na Linux kernelu. Promjene su olakšale prijenos raznih programa na Redox i riješile probleme s mnogim programima i bibliotekama napisanim u C-u.
  • Pripremljena je verzija rustc prevoditelja koja može raditi u Redoxu. Preostali zadaci uključuju optimizaciju performansi i prilagodbu upravitelja paketa tereta za rad u Redox okruženju.

Izdanje operativnog sustava Redox OS 0.7 napisanog u Rustu

Operativni sustav razvijen je u skladu s filozofijom Unixa i posuđuje neke ideje iz SeL4, Minixa i Plana 9. Redox koristi koncept mikrojezgre, u kojem se samo interakcija između procesa i upravljanje resursima osigurava na razini jezgre, a svi ostali funkcionalnost se nalazi u bibliotekama koje se mogu koristiti i za kernel i za korisničke aplikacije. Svi upravljački programi pokreću se u korisničkom prostoru u izoliranim sandbox okruženjima. Za kompatibilnost s postojećim aplikacijama osiguran je poseban POSIX sloj koji vam omogućuje pokretanje mnogih programa bez prijenosa.

Sustav koristi princip "sve je URL". Na primjer, URL “log://” može se koristiti za bilježenje, “bus://” za interakciju između procesa, “tcp://” za mrežnu interakciju itd. Moduli, koji se mogu implementirati u obliku upravljačkih programa, proširenja kernela i korisničkih aplikacija, mogu registrirati vlastite rukovatelje URL-ovima, na primjer, možete napisati I/O pristupni modul priključka i vezati ga na URL "port_io:// ", nakon čega ga možete koristiti za pristup portu 60 otvaranjem URL-a "port_io://60".

Korisničko okruženje u Redoxu izgrađeno je na temelju Orbitalove vlastite grafičke ljuske (ne smije se brkati s drugom Orbital ljuskom koja koristi Qt i Wayland) i OrbTk alata, koji pruža API sličan Flutteru, Reactu i Reduxu. Netsurf se koristi kao web preglednik. Projekt također razvija vlastiti upravitelj paketa, skup standardnih uslužnih programa (binutils, coreutils, netutils, extrautils), ionsku naredbenu ljusku, standardnu ​​C biblioteku relibc, uređivač teksta nalik na vim, mrežni stog i datoteku sustav. Konfiguracija je postavljena u Toml jeziku.

Izvor: opennet.ru

Dodajte komentar