Fuchsia OS radi na podršci za pokretanje nepromijenjenih Linux programa

Googleovi programeri pušten prije nekoliko dana plan za implementaciju mehanizma za pokretanje nepromijenjenih programa sastavljenih za Linux na Operativni sustav Fuksija.

Da biste pokrenuli Linux programe u korisničkom prostoru, planirano je osigurati "starnix" sloj koji podržava Linux ABI. U razvijenom sloju, sučelja sustava Linux kernel implementirana su u pokretačkom programu koji je pokrenut kao proces za operativni sustav Fuchsia, koji se izvodi u korisničkom prostoru i prevodi zahtjeve iz Linux programa u pozive odgovarajućim podsustavima Fuchsia.

Primjećuje se daTijekom razvoja projekta, mnogi podsustavi Fuchsia morat će se modificirati za implementaciju svih sučelja sustava dostupnih u Linuxu. Arhitektura starnixa uglavnom je ista kao i Windows podsustav za Linux koji koristi Windows za prevođenje Linux sistemskih poziva u Windows sistemske pozive.

Planira se implementacija starnix koda u Rustu kako bi se smanjili mogući vektori ranjivostis koji se potencijalno mogu koristiti za povišenje privilegija Linux procesa u starnix proces.

Kako bi se osigurala sigurnost u starnixu, po mogućnosti će se koristiti standardni Fuchsia zaštitni mehanizmi.

Na primjer, kada pristupa sustavskim uslugama kao što su datotečni sustav, mrežni stog ili grafički podsustav, starnix će samo prevesti zahtjeve, pretvarajući Linux ABI u sustav Fuchsia ABI, dopuštajući ista ograničenja koja vrijede za uobičajene procese Fuchsia.

Ovo će također implementirati mehanizme autorizacije specifične za Linux, na primjer definirajući u kojim situacijama jedan Linux proces ima pravo prekinuti drugi.

Programeri Fuchsia u prošlosti su razvili podršku za pokretanje Linux aplikacija, ali eksperimentirali su s implementacijom koja funkcionira analogno načinu organiziranja pokretanja Linux aplikacija na OS Chrome.

Za kompatibilnost Linuxa, Fuchsia je ponudio knjižnicu Machina, koji je Linux programima omogućio da se izvode u posebnom izoliranom virtualnom stroju formiranom pomoću hipervizora na temelju Zircon kernela i Virtio specifikacija.

Nije isključena uporaba virtualizacije, budući da potpuna implementacija sučelja Linux sustava nije trivijalni zadatak.

Uz rt Starnix, moguće je stvoriti mehanizam za pokretanje izvršnih datoteka Linuxa pomoću Linux jezgre koja se izvodi u zasebnom virtualnom stroju. Ova se metoda smatra najjednostavnijom za primjenu, ali ujedno i najviše troši resurse.

U jednom je trenutku Microsoft počeo razvijati svoj sloj kompatibilnosti s Linuxom iz prevoditelja, ali se na kraju prebacio na upotrebu matičnog jezgra Linuxa u Windows podsustavu za Linux 2.

Osim toga, Fuchsia već nudi sloj kompatibilnosti POSIX Lite koji se izvodi na vrhu Fuchsia System ABI. POSIX Lite omogućuje vam pokretanje nekih Linux programa, ali zahtijeva ponovno sastavljanje aplikacijskog koda i, u nekim slučajevima, izmjenu izvornog koda.

Jedan od problema s POSIX Liteom je nepotpuna implementacija svih POSIX funkcija, uključujući pozive za promjenu globalnog stanja procesa (na primjer, funkcija ubijanja), koji su u suprotnosti sa sigurnosnim konceptima u Fuchsiji, koji zabranjuju promjenu globalnog stanja procesa. Izraziti.

Korištenje POSIX Lite opravdano je u procesu prenošenja otvorenih aplikacijas, ali to ne rješava probleme s pokretanjem programa kojima ne postoji pristup kodu (na primjer, nemoguće je postići kompatibilnost s Android aplikacijama koje sadrže kompilirane izvorne umetke).

Sjetimo se da u okviru projekta Fuchsia Google razvija univerzalni operativni sustav sposoban za rad na bilo kojoj vrsti uređaja, od radnih stanica i pametnih telefona do ugrađene i potrošačke tehnologije. Razvoj se temelji na iskustvu stvaranja Android platforme i uzima u obzir nedostatke na polju skaliranja i sigurnosti.

Sustav se temelji na mikro jezgri Zircon, temeljenoj na razvoju LK projekta, proširenog za upotrebu u različitim klasama uređaja, uključujući pametne telefone i osobna računala.

izvor: https://fuchsia.googlesource.com


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.