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

După un an și jumătate de dezvoltare, a fost publicată lansarea sistemului de operare Redox 0.7, dezvoltat folosind limbajul Rust și conceptul de microkernel. Lucrările proiectului sunt distribuite sub licența liberă MIT. Pentru testarea Redox OS sunt disponibile imagini de instalare și Live, având dimensiunea de 75 MB. Versiunile sunt formate pentru arhitectura x86_64 și sunt disponibile pentru sisteme cu UEFI și BIOS.

În pregătirea noului release, atenția principală a fost asupra asigurării funcționării pe echipamente reale. Principalele noutăți:

  • Bootloaderul a fost complet rescris, analogic unificat și predominant scris în Rust pentru încărcare pe sisteme cu BIOS și UEFI. Modificarea bootloaderului a permis extinderea semnificativă a spectrului de hardware suportat.
  • În nucleu, pe lângă corectarea erorilor, s-a lucrat la îmbunătățirea performanței și extinderea suportului hardware. Variabilele specifice CPU au fost migrate la utilizarea registrului GS. A fost realizată maparea întregii memorie fizice, iar utilizarea paginilor recursive de memorie a fost oprită. Codul de asamblare din inserțiile inline a fost rescris pentru a îmbunătăți compatibilitatea cu versiunile viitoare ale compilatorului.
  • S-a adăugat suport inițial pentru arhitectura AArch64.
  • S-a realizat trecerea la gestionarea tuturor căilor de fișiere în codificarea UTF-8.
  • Codul pentru a lucra cu ACPI AML (ACPI Machine Language) Specification — uefi.org a fost mutat din nucleu în procesul de fundal acpid, care rulează în spațiul utilizatorului.
  • Conținutul Initfs a fost mutat într-un nou fișier, ceea ce a simplificat formarea pachetelor.
  • Sistemul de fișiere RedoxFS a fost rescris și a fost convertit să utilizeze mecanismul CoW (Copy-on-Write), prin care modificările nu suprascriu informațiile, ci sunt salvate într-un nou loc, ceea ce a condus la o îmbunătățire semnificativă a fiabilității. Printre noile caracteristici ale RedoxFS se numără suportul pentru actualizări tranzacționale, criptarea datelor folosind algoritmul AES, precum și asigurarea datelor și metadatelor cu semnături digitale. A fost asigurată reutilizarea codului FS în sistem și bootloader.
  • Continuarea îmbunătățirii bibliotecii standard C Relibc, capabilă să funcționeze nu doar în Redox, ci și în distribuitorii bazati pe kernel Linux. Modificările efectuate au simplificat portarea diverselor programe în Redox și au rezolvat problemele cu multe programe și biblioteci scrise în limbajul C.
  • A fost pregătită o versiune a compilatorului rustc, capabilă să ruleze în Redox. Printre sarcinile rămase se numără optimizarea performanței și adaptarea managerului de pachete cargo pentru a funcționa în mediul Redox.

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

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.

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