Fuchsia OS pracuje na podpoře spouštění nemodifikovaných programů Linux

Vývojáři Google vydáno před několika dny plán implementace mechanismu spouštění nemodifikovaných programů kompilovaných pro Linux na Operační systém Fuchsie.

Chcete-li spustit programy Linux v uživatelském prostoru, plánuje se poskytnout vrstvu „starnix“ na podporu Linux ABI. Ve vyvinuté vrstvě jsou rozhraní systému Linux jádra implementována v ovladači, který je spuštěn jako proces pro operační systém Fuchsia, který běží v uživatelském prostoru a převádí požadavky z programů Linux na volání do příslušných subsystémů Fuchsia.

Je pozorováno, žeBěhem vývoje projektu bude třeba upravit mnoho subsystémů Fuchsia implementovat všechna systémová rozhraní dostupná v Linuxu. Architektura starnixu je do značné míry stejná jako subsystém Windows pro Linux, který Windows používá k překladu systémových volání systému Linux na systémová volání systému Windows.

Plánuje se implementace kódu starnix v Rustu, aby se minimalizovaly možné vektory zranitelnostis, které lze potenciálně použít k povýšení oprávnění procesu Linux na proces starnix.

K zajištění bezpečnosti ve starnixu budou, kdykoli je to možné, použity standardní ochranné mechanismy fuchsie.

Například při přístupu k systémovým službám, jako je souborový systém, síťový zásobník nebo grafický subsystém, bude starnix pouze překládat požadavky a převádět linuxové ABI na fuchsiový systém ABI, což umožní stejná omezení jako u běžných fuchsijských procesů.

Tím se také implementují autorizační mechanismy specifické pro Linux, například definování, v jakých situacích má jeden proces Linuxu právo ukončit jiný.

Vývojáři společnosti Fuchsia již v minulosti vyvinuli podporu pro spouštění aplikací pro Linux, ale experimentovali s implementací, která funguje analogicky se způsobem, jakým je spouštění aplikací pro Linux organizováno v systému Chrome OS.

Pro kompatibilitu s Linuxem nabídla Fuchsia knihovnu Machina, který umožňoval linuxovým programům běžet na speciálním izolovaném virtuálním stroji vytvořeném pomocí hypervisoru založeného na jádře Zircon a specifikacích Virtio.

Není vyloučeno použití virtualizace, protože plná implementace rozhraní systému Linux není triviální úkol.

Kromě mysu Starnix je možné vytvořit mechanismus pro spuštění spustitelných souborů Linuxu pomocí linuxového jádra běžícího na samostatném virtuálním stroji. Tato metoda je považována za nejjednodušší implementaci, ale také za nejvíce náročné na zdroje.

V jednom okamžiku společnost Microsoft začala vyvíjet svou vrstvu kompatibility s Linuxem z překladače, ale nakonec přešla na používání nativního linuxového jádra v subsystému Windows pro Linux 2.

Navíc, Fuchsia již poskytuje vrstvu kompatibility POSIX Lite který běží na vrcholu systému Fuchsia ABI. POSIX Lite vám umožňuje spouštět některé programy pro Linux, ale vyžaduje překompilování kódu aplikace a v některých případech i úpravu zdrojového kódu.

Jeden z problémů s POSIX Lite je neúplná implementace všech funkcí POSIX, včetně výzev ke změně globálního stavu procesů (například funkce kill), které jsou v rozporu s koncepcemi zabezpečení ve Fuchsii, které zakazují změnu globálního stavu procesů. Vyjádřit.

Použití POSIX Lite je v procesu přenosu otevřených aplikací oprávněnés, ale neřeší problémy se spouštěním programů, pro které není přístup ke kódu (například není možné dosáhnout kompatibility s aplikacemi pro Android, které obsahují kompilované nativní vložky).

Pamatujme, že v rámci projektu Fuchsia vyvíjí Google univerzální operační systém schopný provozu na jakémkoli typu zařízení, od pracovních stanic a smartphonů až po vestavěné a spotřebitelské technologie. Vývoj je založen na zkušenostech z vytváření platformy Android a bere v úvahu nedostatky v oblasti škálování a zabezpečení.

Systém je založen na mikrokernelu Zircon, založeném na vývoji projektu LK, rozšířeného pro použití v různých třídách zařízení, včetně smartphonů a osobních počítačů.

zdroj: https://fuchsia.googlesource.com


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.