Redox, un sistem de operare scris cu limbajul de programare Rust

OS Redox

După un an de dezvoltare, a fost anunțată lansarea noii versiuni a sistemului de operare Redox 0.5care Obiectivul său principal este că dezvoltarea sa utilizează limbajul Rust și conceptul de microkernel.

Evoluțiile proiectului sunt distribuite sub licența gratuită MIT. Pentru testarea în VirtualBox sau QEMU, sunt oferite imagini de boot specifice pentru fiecare dintre acestea.

Mediul de utilizare Redox se bazează pe GUI Orbital care rulează pe Wayland. Netsurf este folosit ca browser web.

Despre Redox

Sistemul de operare folosește conceptul de microkernel, unde doar interacțiunea dintre procese și gestionarea resurselor este asigurată la nivel de nucleu și toate celelalte funcționalități sunt transferate către biblioteci care pot fi utilizate atât de nucleu, cât și de agenții utilizator.

Toate controlerele rulează în spațiul utilizatorului în sandboxuri sandbox. Pentru compatibilitate cu aplicațiile existente, este prevăzut un strat POSIX special care vă permite să rulați multe programe fără portare.

Redox este dezvoltat conform filosofiei Unix, împrumutând câteva idei de la SeL4, Minix și Plan 9.

Sistemul folosește principiul „totul este un URL“.

De exemplu, adresa URL „jurnal: //” poate fi utilizată pentru jurnalizare, interacțiune între procese „magistrală: //”, interacțiune în rețea „tcp: //” și așa mai departe.

Modulele care pot fi implementate sub formă de drivere, extensii de nucleu și agenți de utilizator își pot înregistra gestionarele URL, de exemplu, puteți scrie un modul pentru a accesa porturile I / O și să-l legați la adresa URL "port_io: / /" pe care îl puteți utiliza pentru a accesa portul 60 prin deschiderea adresei URL "port_io: // 60".

Proiectul dezvoltă, de asemenea, propriul său manager de lot, un set de utilități standard (binutils, coreutils, netutils, extrautils), shell-ul de comandă „ion”, editorul de text sodic de tip vod, stiva de rețea și sistemul de fișiere TFS dezvoltat pe baza ideilor ZFS. ).

asus-eepc-900

Configurarea este setată în limba Toml. În prezent, sistemul acceptă utilizarea pe procesoare x86_64 cu o placă grafică compatibilă VBE (nvidia, intel, amd), unități AHCI și plăci de rețea bazate pe cipuri E1000 sau RTL8168.

Principalele noutăți ale Redox 0.5

Lansarea noii versiuni a Redox 0.05 vine cu câteva inovații, pe care le putem sublinia în prima instanță că biblioteca C standard Relibc în sine, scrisă în Rust.

Relibc este poziționat ca o implementare portabilă a bibliotecii standard C, compatibilă cu POSIX și capabilă să funcționeze nu numai pe Redox, ci și pe distribuțiile bazate pe Linux.

Anterior pe Redox, bifurcația bibliotecii newlib din proiectul Cygwin a fost folosit ca o bibliotecă standard, dar nu a fost adaptat pentru dezvoltatori în ceea ce privește securitatea și multiplataforma. În stadiul actual de dezvoltare, Relibc este deja mult superioară funcționalității newlib.

În plus, în Redox 0.5 noi bootloader-coreboot și bootloader-efi au fost pregătite pentru coreboot și EFI, pe baza cărora s-au format imaginile de boot.

Bibliotecile pentru a lucra cu EFI sunt scrise în Rust și în codul de pornire (sarcină utilă pentru coreboot) în Rust. Încărcătoarele pot fi utilizate separat de Redox și în alte proiecte.

Sistemul de gestionare a evenimentelor a fost reproiectat pentru a oferi suportul corect pentru selectarea și interogarea apelurilor.

Dintre celelalte știri care pot fi evidențiate în anunțul acestei noi versiuni găsim:

  • A fost implementat suport complet pentru funcțiile de cartografiere a memoriei (mmap).
  • A fost adăugat suport pentru Pthreads și au fost sugerate apeluri de sistem suplimentare pentru procesarea semnalului.
  • Suport LLVM îmbunătățit, permițând asamblarea rustc și Mesa (c llvmpipe).
  • Datorită tranziției către noua bibliotecă de sistem, s-a obținut suport pentru multe aplicații noi.
  • Au fost adăugate în total 62 de pachete noi.

Pentru instalare în Redox există deja pachete gata de utilizare cu bibliotecile SDL2, ffmpeg, cairo, gstreamer, pcre, glman, libiconv, libsodium și gettext, un set de compilatoare, o implementare OpenGL, o aplicație OpenGL, Vcckv Mesa, emulatori scummvm, doscites și vamale și o aplicație OpenGL în setul său. Nukem 3D), openttd și FreeDoom.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.