Izdaja operacijskega sistema Redox OS 0.8, napisanega v Rustu

Objavljena je bila izdaja operacijskega sistema Redox 0.8, razvitega z uporabo jezika Rust in koncepta mikrojedra. Razvoj projekta se distribuira pod brezplačno licenco MIT. Za testiranje Redox OS so na voljo predstavitveni sklopi velikosti 768 MB, slike z osnovnim grafičnim okoljem (256 MB) in konzolna orodja za strežniške sisteme (256 MB). Sklopi so ustvarjeni za arhitekturo x86_64 in so na voljo za sisteme z UEFI in BIOS. Demo slika poleg grafičnega okolja Orbital vključuje emulator DOSBox, izbor iger (DOOM, Neverball, Neverputt, sopwith, syobonaction), vadnice, predvajalnik glasbe rodioplay in urejevalnik besedil Sodium.

Operacijski sistem je razvit v skladu s filozofijo Unixa in si izposoja nekaj idej iz SeL4, Minixa in Plana 9. Redox uporablja koncept mikrojedra, v katerem je na ravni jedra zagotovljena le interakcija med procesi in upravljanje virov, vsi drugi funkcionalnost je postavljena v knjižnice, ki jih je mogoče uporabljati tako v jedru kot v uporabniških aplikacijah. Vsi gonilniki se izvajajo v uporabniškem prostoru v izoliranih okoljih peskovnika. Za združljivost z obstoječimi aplikacijami je na voljo posebna plast POSIX, ki omogoča zagon številnih programov brez prenosa.

Sistem uporablja načelo »vse je URL«. Na primer, URL "log://" se lahko uporablja za beleženje, "bus://" za interakcijo med procesi, "tcp://" za omrežno interakcijo itd. Moduli, ki jih je mogoče implementirati v obliki gonilnikov, razširitev jedra in uporabniških aplikacij, lahko registrirajo lastne upravljalnike URL-jev, na primer, lahko napišete modul za dostop do V/I vrat in ga povežete z URL-jem "port_io:// ", nato pa ga lahko uporabite za dostop do vrat 60 tako, da odprete URL "port_io://60".

Uporabniško okolje v Redoxu je zgrajeno na podlagi Orbitalove lastne grafične lupine (ne sme se zamenjevati z drugo orbitalno lupino, ki uporablja Qt in Wayland) in orodij OrbTk, ki ponuja API, podoben Flutterju, Reactu in Reduxu. Netsurf se uporablja kot spletni brskalnik. Projekt razvija tudi lastnega upravitelja paketov, nabor standardnih pripomočkov (binutils, coreutils, netutils, extrautils), ukazno lupino ion, standardno knjižnico C relibc, vimu podoben urejevalnik besedil sodium, omrežni sklad in datoteko sistem. Konfiguracija je nastavljena v jeziku Toml.

Nova izdaja nadaljuje delo za zagotavljanje delovanja na resnični strojni opremi. Poleg arhitekture x86_64 je dodana možnost delovanja na 32-bitnih sistemih x86 (i686, Pentium II in novejši). Prenos na CPE ARM64 (aarch64) je v teku. Zagon na pravi strojni opremi ARM še ni podprt, vendar je možno nalaganje z emulacijo ARM64 v QEMU. Zvočni podsistem je privzeto aktiviran in zagotovljena je začetna podpora za konfiguracije z več monitorji (v sistemih z medpomnilnikom okvirjev UEFI). Oprema, ki jo podpira Redox OS, vključuje zvočne čipe AC'97 in Intel HD Audio, grafični izhod prek API-ja VESA BIOS ali UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), vhodne naprave (tipkovnice, miške, sledilne ploščice) , SATA (AHCI, IDE) in NVMe. Podpora za Wi-Fi in USB še ni pripravljena (USB deluje samo v QEMU).

Druge novosti:

  • Zagonske slike za sisteme z BIOS-om in EFI so bile združene.
  • Implementacija sistemskih klicev clone in exec je bila premaknjena v uporabniški prostor.
  • Postopek prenosa je poenostavljen. Implementiran je bil zagonski program, ki ga zažene jedro in omogoča nadaljnje nalaganje datotek ELF, kot je na primer init proces.
  • Dodan eskalirani program za podporo programom setuid, kot je sudo.
  • Za poenostavitev ustvarjanja in namestitve procesov v ozadju je bil predlagan paket redox-daemon crate.
  • Sistem sestavljanja je bil preoblikovan, kar omogoča gradnjo za različne arhitekture v enem izvornem drevesu. Za poenostavitev sestavljanja različnih konfiguracij je predlagan skript build.sh. Dodana podpora za gradnjo s kompletom orodij podman. Sestav jedra, zagonskega nalagalnika in initfs je poenoten z drugimi paketi.
  • Dodana predstavitvena konfiguracija za gradnjo primerov programov, ki niso vključeni v osnovno zagonsko sliko z grafičnim okoljem.
  • Zvočnemu podsistemu audiod je dodana podpora za programsko upravljanje glasnosti.
  • Dodan gonilnik za zvočne čipe, ki temeljijo na AC'97. Izboljšan gonilnik za čipe Intel HD Audio.
  • Dodan gonilnik za krmilnike IDE.
  • Izboljšana podpora za pogone NVMe.
  • Izboljšani gonilniki PCI, PS/2, RTL8168, USB HID, VESA.
  • Postopek namestitve je bil preoblikovan: zagonski nalagalnik, zagonski program, jedro in initfs se zdaj nahajajo v imeniku /boot.
  • Jedro je poenostavilo upravljanje pomnilnika in dodalo možnost manipulacije naslovnih prostorov z uporabniške ravni.
  • V grafični lupini Orbital je dodana podpora za sisteme z več monitorji, izboljšana obdelava kazalca miške in dodan indikator za spreminjanje glasnosti. Meni ima možnost razdelitve aplikacij v kategorije.

Vir: opennet.ru

Dodaj komentar