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

Google programeri pušten prije nekoliko dana plan za implementaciju mehanizma za pokretanje nepromijenjenih programa kompajliranih za Linux Operativni sistem Fuchsia.

Da biste pokrenuli Linux programe u korisničkom prostoru, planirano je osigurati "starnix" sloj koji podržava Linux ABI. U razvijenom sloju, sučelja sistema Linux kernel implementirana su u upravljačkom programu koji je pokrenut kao proces za operativni sistem 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 sistemskih sučelja dostupnih u Linuxu. Arhitektura starnixa uglavnom je ista kao i Windows podsistem za Linux koji Windows koristi za prevođenje Linux sistemskih poziva u Windows sistemske pozive.

Planirano je implementirati starnix kod u Rust kako bi se minimalizirali mogući vektori ranjivostikoji se potencijalno mogu koristiti za podizanje privilegija Linux procesa na starnix proces.

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

Na primjer, kada pristupa sistemskim uslugama poput sistema datoteka, mrežnog snopa ili grafičkog podsistema, starnix će samo prevesti zahtjeve pretvarajući Linux ABI u sistem 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 su u prošlosti razvili podršku za pokretanje Linux aplikacija, ali eksperimentirali su s implementacijom koja funkcionira analogno načinu organiziranja pokretanja Linux aplikacija na Chrome OS-u.

Za kompatibilnost Linuxa, Fuchsia je ponudio Machina biblioteku, koji je omogućavao Linux programima da se izvode u posebnoj izoliranoj virtualnoj mašini formiranoj pomoću hipervizora na osnovu Zircon kernela i Virtio specifikacija.

Nije isključena upotreba virtualizacije, budući da potpuna implementacija Linux sistemskog sučelja nije trivijalan zadatak.

Pored rta Starnix, moguće je stvoriti mehanizam za pokretanje Linux izvršnih datoteka koristeći Linux kernel pokrenut u zasebnoj virtualnoj mašini. Ova metoda se smatra najjednostavnijom za primjenu, ali ujedno i s najviše resursa.

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

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

Jedan od problema sa POSIX Lite 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 Fuchsia-i, koji zabranjuju promjenu globalnog stanja procesa. Express.

Upotreba POSIX Lite opravdana je u procesu prenošenja otvorenih aplikacijas, ali 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 kompajlirane izvorne umetke).

Sjetimo se da u okviru projekta Fuchsia Google razvija univerzalni operativni sistem 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.

Sistem je zasnovan na mikro jezgri Zircon, zasnovan na razvoju LK projekta, proširenog za upotrebu u različitim klasama uređaja, uključujući pametne telefone i lične računare.

Izvor: https://fuchsia.googlesource.com


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.