Vydanie operačného systému Redox OS 0.8 napísaného v jazyku Rust

Bolo zverejnené vydanie operačného systému Redox 0.8 vyvinutého pomocou jazyka Rust a konceptu mikrojadra. Vývoj projektu je distribuovaný pod bezplatnou licenciou MIT. Na testovanie OS Redox sú ponúkané demo zostavy s veľkosťou 768 MB, ako aj obrázky so základným grafickým prostredím (256 MB) a konzolové nástroje pre serverové systémy (256 MB). Zostavy sú generované pre architektúru x86_64 a sú dostupné pre systémy s UEFI a BIOS. Okrem grafického prostredia Orbital obsahuje demo obrázok emulátor DOSBox, výber hier (DOOM, Neverball, Neverputt, sopwith, syobonaction), tutoriály, hudobný prehrávač rodioplay a textový editor Sodium.

Operačný systém je vyvinutý v súlade s filozofiou Unixu a preberá niektoré myšlienky zo SeL4, Minix a Plan 9. Redox využíva koncept mikrojadra, v ktorom je zabezpečená iba interakcia medzi procesmi a riadením zdrojov na úrovni jadra a všetky ostatné funkcionalita je umiestnená v knižniciach, ktoré je možné použiť ako jadro, tak aj používateľské aplikácie. Všetky ovládače bežia v používateľskom priestore v izolovaných prostrediach karantény. Pre kompatibilitu s existujúcimi aplikáciami je k dispozícii špeciálna vrstva POSIX, ktorá vám umožňuje spúšťať veľa programov bez portovania.

Systém využíva princíp „všetko je URL“. Napríklad URL „log://“ možno použiť na protokolovanie, „bus://“ na interakciu medzi procesmi, „tcp://“ na sieťovú interakciu atď. Moduly, ktoré môžu byť implementované vo forme ovládačov, rozšírení jadra a používateľských aplikácií, môžu zaregistrovať svoje vlastné obslužné programy URL, napríklad môžete napísať modul prístupu k I/O portu a naviazať ho na adresu URL „port_io:// “, potom ho môžete použiť na prístup k portu 60 otvorením adresy URL „port_io://60“.

Používateľské prostredie v Redox je postavené na základe vlastného grafického shellu Orbital (nezamieňať s iným Orbital shell, ktorý používa Qt a Wayland) a sady nástrojov OrbTk, ktorá poskytuje API podobné ako Flutter, React a Redux. Netsurf sa používa ako webový prehliadač. Projekt tiež vyvíja vlastného správcu balíkov, sadu štandardných nástrojov (binutils, coreutils, netutils, extrautils), shell príkazov ion, štandardnú knižnicu C relibc, textový editor sodík podobný vim, sieťový zásobník a súbor systém. Konfigurácia je nastavená v jazyku Toml.

Nové vydanie pokračuje v práci, aby sa zabezpečilo, že bude fungovať na skutočnom hardvéri. Okrem architektúry x86_64 pribudla aj možnosť práce na 32-bitových x86 systémoch (i686, Pentium II a novšie). Prebieha portovanie na CPU ARM64 (aarch64). Spustenie na skutočnom hardvéri ARM zatiaľ nie je podporované, ale načítanie s emuláciou ARM64 v QEMU je možné. V predvolenom nastavení je zvukový subsystém aktivovaný a poskytuje sa počiatočná podpora pre konfigurácie viacerých monitorov (na systémoch s framebufferom UEFI). Výbava podporovaná v OS Redox zahŕňa zvukové čipy AC'97 a Intel HD Audio, grafický výstup cez VESA BIOS API alebo UEFI GOP, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), vstupné zariadenia (klávesnice, myši, touchpady), SATA (AHCI, IDE) a NVMe. Podpora pre Wi-Fi a USB ešte nie je pripravená (USB funguje len v QEMU).

Ďalšie inovácie:

  • Zavádzacie obrazy pre systémy s BIOS a EFI boli zlúčené.
  • Implementácia systémových volaní clone a exec bola presunutá do užívateľského priestoru.
  • Proces sťahovania bol zjednodušený. Bol implementovaný bootstrap program, ktorý spúšťa jadro a zabezpečuje ďalšie načítanie súborov ELF, ako je napríklad proces init.
  • Pridaný eskalovaný program na podporu programov setuid, ako je sudo.
  • Na zjednodušenie vytvárania a inštalácie procesov na pozadí bol navrhnutý balík redox-daemon crate.
  • Systém montáže bol prepracovaný, čo umožňuje zostavovať pre rôzne architektúry v jednom zdrojovom strome. Na zjednodušenie zostavovania rôznych konfigurácií je navrhnutý skript build.sh. Pridaná podpora pre stavanie pomocou súpravy nástrojov podman. Zostavenie jadra, zavádzača a initfs je zjednotené s ostatnými balíkmi.
  • Pridaná demo konfigurácia na zostavovanie vzorových programov, ktoré nie sú zahrnuté v základnom zavádzacom obraze s grafickým prostredím.
  • Do zvukového zvukového subsystému bola pridaná podpora softvérového ovládania hlasitosti.
  • Pridaný ovládač pre zvukové čipy založené na AC'97. Vylepšený ovládač pre čipy Intel HD Audio.
  • Pridaný ovládač pre radiče IDE.
  • Vylepšená podpora pre disky NVMe.
  • Vylepšené ovládače PCI, PS/2, RTL8168, USB HID, VESA.
  • Inštalačný proces bol prepracovaný: bootloader, bootstrap, kernel a initfs sú teraz umiestnené v adresári /boot.
  • Jadro zjednodušilo správu pamäte a pridalo možnosť manipulovať s adresnými priestormi z užívateľskej úrovne.
  • V grafickom shelle Orbital pribudla podpora pre systémy s viacerými monitormi, vylepšené bolo spracovanie kurzora myši a pribudol indikátor pre zmenu hlasitosti. Menu má možnosť rozdeliť aplikácie do kategórií.

Zdroj: opennet.ru

Pridať komentár