Fuchsia OS lucrează la suport pentru rularea programelor Linux nemodificate

Dezvoltatori Google lansat acum câteva zile un plan de implementare a unui mecanism pentru a rula programe nemodificate compilate pentru Linux pe Sistemul de operare Fucsie.

Pentru a rula programe Linux în spațiul utilizatorului, este planificat să se furnizeze un strat "starnix" pentru a sprijini Linux ABI. În stratul dezvoltat, interfețele sistemului kernel Linux sunt implementate într-un driver care este lansat ca un proces pentru sistemul de operare Fuchsia, care rulează în spațiul utilizatorului și traduce cererile din programele Linux în apeluri către subsistemele Fuchsia corespunzătoare.

Se observă căÎn timpul dezvoltării proiectului, multe subsisteme Fuchsia vor trebui modificate pentru a implementa toate interfețele de sistem disponibile în Linux. Arhitectura starnix este în mare măsură aceeași cu cea a subsistemului Windows pentru Linux care folosește Windows pentru a traduce apelurile de sistem Linux în apelurile de sistem Windows.

Este planificată implementarea codului starnix în Rust pentru a minimiza posibilii vectori de vulnerabilitatecare pot fi utilizate potențial pentru a ridica privilegiile unui proces Linux la procesul starnix.

Pentru a asigura securitatea la starnix, vor fi utilizate mecanisme standard de protecție Fuchsia ori de câte ori este posibil.

De exemplu, atunci când accesează servicii de sistem, cum ar fi sistemul de fișiere, stiva de rețea sau subsistemul grafic, starnix va traduce doar cererile, convertind Linux ABI în sistemul Fuchsia ABI, permițând aceleași restricții ca și procesele Fuchsia obișnuite.

Acest lucru va implementa, de asemenea, mecanisme de autorizare specifice Linux-ului, de exemplu, definind în ce situații un proces Linux are dreptul să încheie altul.

Dezvoltatorii Fuchsia au dezvoltat suport pentru lansarea aplicațiilor Linux în trecut, dar au experimentat o implementare care funcționează prin analogie cu modul în care lansarea aplicației Linux este organizată pe sistemul de operare Chrome.

Pentru compatibilitatea Linux, Fuchsia a oferit biblioteca Machina, care a permis programelor Linux să ruleze într-o mașină virtuală izolată specială formată folosind un hipervizor bazat pe specificațiile kernel-ului Zircon și Virtio.

Utilizarea virtualizării nu este exclusă, întrucât implementarea completă a interfeței de sistem Linux nu este o sarcină banală.

În plus față de pelerina starnix, este posibil să creați un mecanism pentru a rula executabile Linux folosind un nucleu Linux care rulează într-o mașină virtuală separată. Această metodă este considerată cea mai ușor de implementat, dar și cea mai consumatoare de resurse.

La un moment dat, Microsoft a început să dezvolte stratul său de compatibilitate Linux de la traducător, dar în cele din urmă a trecut la utilizarea kernel-ului nativ Linux din subsistemul Windows pentru Linux 2.

În plus, Fuchsia oferă deja un strat de compatibilitate POSIX Lite care rulează deasupra Fuchsia System ABI. POSIX Lite vă permite să rulați unele programe Linux, dar necesită recompilarea codului aplicației și, în unele cazuri, modificarea codului sursă.

Una dintre probleme cu POSIX Lite este implementarea incompletă a tuturor funcțiilor POSIX, inclusiv apeluri pentru schimbarea stării globale a proceselor (de exemplu, funcția kill), care sunt în contradicție cu conceptele de securitate din Fuchsia, care interzic schimbarea stării globale a proceselor. Expres.

Utilizarea POSIX Lite este justificată în procesul de portare a aplicațiilor deschises, dar nu rezolvă problemele legate de lansarea programelor pentru care nu există acces la cod (de exemplu, este imposibil să se realizeze compatibilitatea cu aplicațiile Android care conțin inserții native compilate).

Să ne amintim că, în cadrul proiectului Fuchsia, Google dezvoltă un sistem de operare universal capabil să funcționeze pe orice tip de dispozitiv, de la stații de lucru și smartphone-uri la tehnologie încorporată și de consum. Dezvoltarea se bazează pe experiența de creare a platformei Android și ia în considerare deficiențele din domeniul scalării și securității.

Sistemul se bazează pe microcernelul Zircon, bazat pe dezvoltările proiectului LK, extins pentru utilizare în diferite clase de dispozitive, inclusiv smartphone-uri și computere personale.

Fuente: https://fuchsia.googlesource.com


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.