Lansarea sistemului de operare Redox OS 0.8 scris în Rust

A fost publicată lansarea sistemului de operare Redox 0.8, dezvoltat folosind limbajul Rust și conceptul de microkernel. Dezvoltarile proiectului sunt distribuite sub licenta gratuita MIT. Pentru testarea sistemului de operare Redox, sunt oferite versiuni demo de 768 MB, precum și imagini cu un mediu grafic de bază (256 MB) și instrumente de consolă pentru sistemele server (256 MB). Ansamblurile sunt generate pentru arhitectura x86_64 și sunt disponibile pentru sistemele cu UEFI și BIOS. Imaginea demo, pe lângă mediul grafic Orbital, include un emulator DOSBox, o selecție de jocuri (DOOM, Neverball, Neverputt, sopwith, syobonaction), tutoriale, un player muzical rodioplay și un editor de text Sodium.

Sistemul de operare se dezvoltă în conformitate cu filozofia Unix și împrumută câteva idei din SeL4, Minix și Plan 9. Redox folosește conceptul de microkernel, în care doar comunicarea între procese și managementul resurselor este asigurată la nivel de kernel, iar toate celelalte funcționalități sunt plasate. în biblioteci care pot fi folosite atât aplicații kernel, cât și aplicații utilizator. Toate driverele rulează în spațiul utilizatorului în medii izolate sandbox. Pentru compatibilitate cu aplicațiile existente, este prevăzut un strat POSIX special care permite rularea multor programe fără portare.

Sistemul aplică principiul „totul este un URL”. De exemplu, adresa URL „log://” poate fi folosită pentru înregistrare, „bus://” pentru comunicarea între procese, „tcp://” pentru comunicarea în rețea și așa mai departe. Modulele, care pot fi implementate ca drivere, extensii de kernel și aplicații personalizate, își pot înregistra propriile lor gestionare URL, de exemplu, puteți scrie un modul de acces I/O și îl puteți lega la adresa URL „port_io://”, după care îl puteți folosi pentru a accesa portul 60 deschizând adresa URL „port_io://60”.

Mediul de utilizator din Redox este construit în jurul propriului shell grafic al Orbital (a nu fi confundat cu celălalt shell Orbital care folosește Qt și Wayland) și setul de instrumente OrbTk, care oferă un API similar cu Flutter, React și Redux. Netsurf este folosit ca browser web. Proiectul dezvoltă, de asemenea, propriul manager de pachete, un set de utilitare standard (binutils, coreutils, netutils, extrautils), shell-ul de comandă ionică, biblioteca standard C relibc, editorul de text sodium vim, stiva de rețea și fișierul sistem. Configurația este setată în limba Toml.

Noua versiune continuă munca pentru asigurarea lucrului pe hardware real. Pe lângă arhitectura x86_64, a fost adăugată și capacitatea de a lucra pe sisteme x32 pe 86 de biți (i686, Pentium II și mai noi). Portarea la CPU ARM64 (aarch64) este în curs. Lucrul pe hardware-ul ARM real nu este încă acceptat, dar este posibil să porniți atunci când emulați ARM64 în QEMU. În mod implicit, subsistemul audio este activat și este furnizat suport inițial pentru configurațiile cu mai multe monitoare (pe sisteme cu un framebuffer UEFI). Printre echipamentele suportate de Redox OS se numără cipurile de sunet AC'97 și Intel HD Audio, ieșirea grafică prin VESA BIOS sau UEFI GOP API, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), dispozitive de intrare (tastaturi, mouse-uri, touchpad-uri). ), SATA (AHCI, IDE) și NVMe. Suportul pentru Wi-Fi și USB nu a fost încă pregătit (USB funcționează numai în QEMU).

Alte inovații:

  • Imagini de pornire îmbinate pentru sistemele BIOS și EFI.
  • Implementarea apelurilor de sistem clone și exec mutate în spațiul utilizatorului.
  • Proces simplificat de descărcare. A fost introdus un program de bootstrap care este rulat de kernel și oferă încărcare ulterioară a fișierelor ELF, cum ar fi procesul de inițializare.
  • S-a adăugat program escaladat pentru a permite programelor setuid, cum ar fi sudo, să funcționeze.
  • Pentru a simplifica crearea și instalarea proceselor de fundal, a fost propus pachetul redox-daemon crate.
  • Sistemul de construcție a fost reproiectat, în care a devenit posibilă construirea pentru arhitecturi diferite în același arbore sursă. Pentru a simplifica asamblarea diferitelor configurații, este propus scriptul build.sh. S-a adăugat suport pentru construirea folosind setul de instrumente podman. Ansamblul nucleului, bootloader-ului și initfs este unificat cu alte pachete.
  • S-a adăugat o configurație demo pentru construirea de programe exemple care nu sunt incluse în imaginea de pornire de bază cu un mediu grafic.
  • Suport pentru controlul programatic al volumului a fost adăugat subsistemului audiod audio.
  • S-a adăugat driver pentru cipuri de sunet bazat pe AC'97. Driver îmbunătățit pentru cipurile Intel HD Audio.
  • S-a adăugat driver pentru controlerele IDE.
  • Suport îmbunătățit pentru unitățile NVMe.
  • Drivere PCI îmbunătățite, PS/2, RTL8168, USB HID, VESA.
  • Organizarea procesului de instalare a fost reproiectată: bootloader-ul, bootstrap, kernel-ul și initfs sunt acum localizate în directorul /boot.
  • Nucleul a simplificat lucrul cu memoria, a adăugat capacitatea de a manipula spațiile de adrese de la nivelul utilizatorului.
  • Suport pentru sisteme cu mai multe monitoare a fost adăugat la shell-ul grafic Orbital, procesarea cursorului mouse-ului a fost îmbunătățită și a fost adăugat un indicator pentru a schimba volumul. Meniul are capacitatea de a împărți aplicațiile în categorii.

Sursa: opennet.ru

Adauga un comentariu