Lansarea sistemului de operare Redox OS 0.8, scris în limbajul Rust

A fost publicată versiunea sistemului de operare Redox 0.8, dezvoltată folosind limbajul Rust și conceptul de microkernel. Proiectul este distribuit sub licența liberă MIT. Pentru testarea Redox OS, sunt disponibile versiuni demo de 768 MB, precum și imagini cu un mediu grafic de bază (256 MB) și un set de instrumente de consolă pentru sisteme server (256 MB). Versiunile sunt formate pentru arhitectura x86_64 și sunt disponibile pentru sisteme cu UEFI și BIOS. Imaginea demo, pe lângă mediul grafic Orbital, include emulatorul DOSBox, o selecție de jocuri (DOOM, Neverball, Neverputt, sopwith, syobonaction), programe educaționale, un player muzical rodioplay și un editor de text Sodium.

Sistemul de operare se dezvoltă conform filosofiei Unix și împrumută unele idei din SeL4, Minix și Plan 9. Redox utilizează conceptul de microkernel, în care la nivelul nucleului se asigură doar interacțiunea între procese și gestionarea resurselor, iar toate celelalte funcționalități sunt externalizate în biblioteci care pot fi utilizate atât de nucleu, cât și de aplicațiile utilizatorului. Toate driverele rulează în spațiul utilizatorului în medii sandbox izolate. Pentru compatibilitatea cu aplicațiile existente, este oferită o interfață POSIX specială care permite rularea multor programe fără portare.

În sistem se aplică principiul „totul este URL”. De exemplu, pentru a scrie în jurnal poate fi folosit URL-ul „log://”, pentru interacțiunea între procese „bus://”, pentru interacțiuni de rețea „tcp://” etc. Modulele care pot fi implementate sub formă de drivere, extensii de kernel și aplicații utilizator pot înregistra handler-i URL, de exemplu, se poate scrie un modul pentru accesarea porturilor de intrare/ieșire și se poate lega de URL-ul „port_io://”, după care poate fi folosit pentru accesarea portului 60 prin deschiderea URL-ului „port_io://60”.

Mediul utilizatorului în Redox este construit pe baza unei interfețe grafice proprii, Orbital (nu trebuie confundat cu altă interfață Orbital, care folosește Qt și Wayland) și toolkit-ul OrbTk, care oferă un API similar cu Flutter, React și Redux. Ca browser web, se folosește Netsurf. Proiectul dezvoltă de asemenea un manager propriu de pachete, un set de utilitare standard (binutils, coreutils, netutils, extrautils), shell-ul de comandă ion, biblioteca standard C relibc, un editor de text similar cu vim numit sodium, un stack de rețea și un sistem de fișiere. Configurația este specificată în limbajul Toml.

În noua versiune continuă lucrul pentru a asigura funcționarea pe hardware real. Pe lângă arhitectura x86_64, a fost adăugată capacitatea de a rula pe sisteme de 32 de biți x86 (i686, Pentium II și mai recente). Se efectuează portarea pe CPU ARM64 (aarch64). Funcționarea pe hardware ARM real nu este încă suportată, dar este posibilă încărcarea prin emulația ARM64 în QEMU. Subsistemul audio este activat din default și s-a asigurat suport inițial pentru configurații multi-monitor (pe sisteme cu framebuffer UEFI). Din hardware-ul suportat în Redox OS, sunt menționate cipurile audio AC'97 și Intel HD Audio, ieșirea grafică prin API VESA BIOS sau UEFI GOP, 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 este încă pregătit (USB funcționează doar în QEMU).

Alte noutăți:

  • Au fost combinate imaginile de boot pentru sistemele cu BIOS și EFI.
  • Implementarea apelurilor de sistem clone și exec a fost mutată în spațiul utilizatorului.
  • Procesul de boot a fost simplificat. A fost introdus programul bootstrap, care este lansat de nucleu și asigură încărcarea ulterioară a fișierelor ELF, cum ar fi procesul init.
  • A fost adăugat programul escalated pentru a permite funcționarea programelor setuid, cum ar fi sudo.
  • Pentru a simplifica crearea și instalarea proceselor de fundal, a fost propus pachetul crate redox-daemon.
  • Sistemul de construire a fost reconfigurat, având acum posibilitatea de a construi pentru diferite arhitecturi într-un singur arbore de cod sursă. Pentru a simplifica construirea diferitelor configurații, a fost propus scriptul build.sh. A fost adăugat suportul pentru construcția folosind instrumentele podman. Construirea nucleului, a bootloader-ului și a initfs-ului a fost unificată cu celelalte pachete.
  • A fost adăugată o configurație demo pentru compilarea exemplelor de programe care nu sunt incluse în imaginea de bază de încărcare cu interfață grafică.
  • Subsystemul audio audiod a adăugat suport pentru controlul software al volumului.
  • A fost adăugat un driver pentru cipurile audio bazate pe AC’97. Driverul pentru cipurile Intel HD Audio a fost îmbunătățit.
  • A fost adăugat un driver pentru controlerele IDE.
  • Suportul pentru unitățile NVMe a fost îmbunătățit.
  • Driverele PCI, PS/2, RTL8168, USB HID, VESA au fost îmbunătățite.
  • Organizarea procesului de instalare a fost rescrisă: bootloader-ul, bootstrap-ul, kernelul și initfs sunt acum plasate în directorul /boot.
  • Funcționarea gestionării memoriei în kernel a fost simplificată, a fost adăugată capacitatea de manipulare a spațiilor de adrese din nivelul utilizator.
  • Interfața grafică Orbital a adăugat suport pentru sisteme cu mai multe monitoare, a îmbunătățit gestionarea cursorului mouse-ului, a fost adăugat un indicator pentru ajustarea volumului. În meniu a fost implementată posibilitatea de a împărți aplicațiile pe categorii.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster