Fuchsia US està treballant en suport per a executar programes de Linux sense modificar

Els desenvolupadors de Google van donar a conèixer fa pocs dies un pla per implementar un mecanisme executar programes no modificats compilats per a Linux en el sistema operatiu Fuchsia.

Per executar programes de Linux a l'espai de l'usuari, es planeja proporcionar una capa «starnix» per brindar compatibilitat amb l'ABI de Linux. A la capa desenvolupada, les interfícies de sistema de l'nucli de Linux s'implementen en un controlador que es llança com un procés per al sistema operatiu Fuchsia, que s'executa en l'espai de l'usuari i tradueix les sol·licituds dels programes de Linux a les trucades als subsistemes Fuchsia corresponents.

S'observa qui durant el desenvolupament de el projecte, molts subsistemes Fuchsia hauran de ser modificats per implementar totes les interfícies de sistema disponibles a Linux. L'arquitectura d'starnix és en gran mesura la mateixa que la de l'subsistema de Windows per Linux que fa servir Windows per traduir les crides a sistema de Linux a les crides a sistema de Windows.

Es planeja implementar el codi starnix a Rust per minimitzar els possibles vectors de vulnerabilidades que potencialment poden usar-se per elevar els privilegis d'un procés de Linux a l'procés starnix.

Per garantir la seguretat en starnix, s'utilitzaran els mecanismes de protecció estàndard Fuchsia sempre que sigui possible.

Per exemple, a l'accedir a serveis de sistema com el sistema d'arxius, la pila de xarxes o el subsistema de gràfics, starnix només traduirà les sol·licituds, convertint l'ABI de Linux a l'ABI de sistema Fuchsia, el que permet les mateixes restriccions que s'apliquen als processos Fuchsia habituals.

Això també implementarà mecanismes d'autorització específics de Linux, per exemple, definint en quines situacions un procés de Linux té dret a acabar un altre.

Els desenvolupadors de Fuchsia han desenvolupat suport per llançar aplicacions Linux en el passat, però van experimentar amb una implementació que funciona per analogia amb la forma en què s'organitza el llançament d'aplicacions Linux a Chrome US.

Per a la compatibilitat amb Linux, Fuchsia va oferir la biblioteca Machina, Que permetia executar programes de Linux en una màquina virtual aïllada especial formada mitjançant un hipervisor basat en el nucli de Zircon i les especificacions de virtió.

No es descarta l'ús de la virtualització, ja que la implementació completa de la interfície de sistema Linux no és una tasca trivial.

A més de la capa d'starnix, és possible crear un mecanisme per executar executables de Linux usant un nucli de Linux que s'executa en una màquina virtual separada. Aquest mètode es considera el més fàcil d'implementar, però també el que consumeix més recursos.

En un moment, Microsoft va començar a desenvolupar la seva capa de compatibilitat de Linux a partir de l'traductor, però finalment va canviar a utilitzar el nucli natiu de Linux al Subsistema de Windows per Linux 2.

A més, Fuchsia ja proporciona una capa de compatibilitat POSIX Lite que s'executa en la part superior de Fuchsia System ABI. POSIX Lite li permet executar alguns programes de Linux, però requereix la recompilació de el codi de l'aplicació i, en alguns casos, la modificació de el codi font.

Un dels problemes amb POSIX Lite és la implementació incompleta de totes les funcions de POSIX, incloses les trucades per canviar l'estat global dels processos (per exemple, la funció de matar), que estan en desacord amb els conceptes de seguretat en Fuchsia, que prohibeixen canviar l'estat global dels processos. Expressar.

L'ús de POSIX Lite es justifica en el procés de portar aplicacions obertas, però no resol problemes amb el llançament de programes per als quals no hi ha accés a el codi (per exemple, és impossible aconseguir compatibilitat amb aplicacions d'Android que contenen insercions natives compilades).

Recordem que en el marc de el projecte Fuchsia, Google està desenvolupant un sistema operatiu universal capaç d'operar en qualsevol tipus de dispositiu, des d'estacions de treball i smartphones fins tecnologia embeguda i de consum. El desenvolupament es basa en l'experiència de crear la plataforma Android i té en compte les deficiències en el camp de l'escalat i la seguretat.

El sistema es basa en el microkernel Zircon, basat en els desenvolupaments de el projecte LK, estès per al seu ús en diverses classes de dispositius, inclosos telèfons intel·ligents i ordinadors personals.

font: https://fuchsia.googlesource.com


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.