Fuchsia OS работи по поддръжка за стартиране на немодифицирани Linux програми

Разработчици на Google пуснат преди няколко дни план за прилагане на механизъм за стартиране на немодифицирани програми, компилирани за Linux на операционната система Фуксия.

За да стартирате Linux програми в потребителско пространство, планира се да се осигури слой "starnix", който да поддържа Linux ABI. В разработения слой системните интерфейси на ядрото на Linux са внедрени в драйвер, който се стартира като процес за операционната система Fuchsia, който работи в потребителско пространство и превежда заявки от Linux програми към обаждания към съответните подсистеми Fuchsia.

Забелязва се, чеПо време на разработването на проекта, много подсистеми Fuchsia ще трябва да бъдат модифицирани за внедряване на всички системни интерфейси, налични в Linux. Архитектурата на starnix е до голяма степен същата като тази на подсистемата Windows за Linux, която използва Windows за превод на системни повиквания на Linux в системни повиквания на Windows.

Планирано е да се внедри кодът на starnix в Rust, за да се минимизират възможните вектори на уязвимостs, които потенциално могат да се използват за издигане на привилегиите на Linux процес до starnix процеса.

За да се осигури сигурност в starnix, при възможност ще се използват стандартни защитни механизми на Fuchsia.

Например, когато осъществява достъп до системни услуги като файлова система, мрежов стек или графична подсистема, starnix ще превежда само заявки, преобразувайки Linux ABI в системата на Fuchsia ABI, позволявайки същите ограничения, както те се прилагат към обичайните процеси на Fuchsia.

Това също ще приложи специфични за Linux механизми за оторизация, например дефиниране в кои ситуации един Linux процес има право да прекрати друг.

Разработчиците на Fuchsia са разработили поддръжка за стартиране на Linux приложения в миналото, но те са експериментирали с изпълнение, което работи по аналогия с начина, по който стартирането на Linux приложението е организирано в Chrome OS.

За съвместимост с Linux Fuchsia предложи библиотеката на Machina, което позволи на Linux програми да се изпълняват в специална изолирана виртуална машина, формирана с помощта на хипервизор, базиран на ядрото на Zircon и Virtio.

Не е изключено използването на виртуализация, тъй като пълното внедряване на системния интерфейс на Linux не е тривиална задача.

В допълнение към нос Starnix, възможно е да се създаде механизъм за стартиране на изпълними файлове на Linux, като се използва ядро ​​на Linux, работещо в отделна виртуална машина. Този метод се счита за най-лесният за изпълнение, но и най-консумиращият ресурси.

В един момент Microsoft започна да разработва своя слой за съвместимост с Linux от преводача, но в крайна сметка премина към използването на собственото ядро ​​на Linux в подсистемата на Windows за Linux 2.

Освен това, Fuchsia вече предоставя слой за съвместимост POSIX Lite който работи на върха на Fuchsia System ABI. POSIX Lite ви позволява да стартирате някои Linux програми, но изисква прекомпилиране на кода на приложението и в някои случаи модифициране на изходния код.

Един от проблемите с POSIX Lite е непълно изпълнение на всички POSIX функции, включително призиви за промяна на глобалното състояние на процесите (например функцията за убиване), които са в противоречие с концепциите за сигурност във Fuchsia, които забраняват промяната на глобалното състояние на процесите. Експрес.

Използването на POSIX Lite е оправдано в процеса на пренасяне на отворени приложенияs, но не решава проблеми със стартирането на програми, за които няма достъп до кода (например, невъзможно е да се постигне съвместимост с приложения за Android, които съдържат компилирани естествени вложки).

Нека си спомним, че в рамките на проекта Fuchsia Google разработва универсална операционна система, способна да работи на всякакъв тип устройства, от работни станции и смартфони до вградени и потребителски технологии. Разработката се базира на опита от създаването на платформата Android и отчита недостатъците в областта на мащабирането и сигурността.

Системата се основава на микроядрото Zircon, базирано на разработките на проекта LK, разширен за използване в различни класове устройства, включително смартфони и персонални компютри.

Fuente: https://fuchsia.googlesource.com


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.