Fuchsia OS працює над підтримкою запуску немодифікованих програм Linux

Розробники Google випущений кілька днів тому план впровадження механізму запуску немодифікованих програм, скомпільованих для Linux Операційна система Фуксія.

Щоб запустити програми Linux у просторі користувача, планується забезпечити рівень "starnix" для підтримки Linux ABI. На розробленому рівні системні інтерфейси ядра Linux реалізовані в драйвері, який запускається як процес для операційної системи Fuchsia, яка працює в просторі користувача і перетворює запити від програм Linux у виклики до відповідних підсистем Fuchsia.

Помічено, щоПід час розробки проекту багато підсистем Фуксія доведеться модифікувати реалізувати всі системні інтерфейси, доступні в Linux. Архітектура starnix багато в чому така ж, як у підсистеми Windows для Linux, яка використовує Windows для перекладу системних викликів Linux на системні дзвінки Windows.

Планується впровадити код starnix у Rust, щоб мінімізувати можливі вектори вразливостіs, які потенційно можуть бути використані для підвищення привілеїв процесу Linux до процесу starnix.

Щоб забезпечити безпеку в starnix, по можливості будуть використовуватися стандартні механізми захисту від фуксії.

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

Це також реалізує специфічні для Linux механізми авторизації, наприклад, визначаючи, в яких ситуаціях один процес Linux має право припинити інший.

Раніше розробники Fuchsia розробляли підтримку для запуску додатків Linux, але вони експериментували з реалізацією, яка працює за аналогією із способом організації запуску додатків Linux в ОС Chrome.

Для сумісності з Linux Fuchsia запропонувала бібліотеку Machina, що дозволило програмам Linux працювати в спеціальній ізольованій віртуальній машині, сформованій за допомогою гіпервізора на основі ядра Циркон та специфікацій Virtio.

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

На додаток до мису зірки, можна створити механізм для запуску виконуваних файлів Linux за допомогою ядра Linux, що працює в окремій віртуальній машині. Цей метод вважається найпростішим у впровадженні, але і найбільш ресурсоємним.

Одного разу Microsoft розпочала розробку рівня сумісності Linux із перекладача, але врешті-решт перейшла на використання власного ядра Linux у підсистемі Windows для Linux 2.

Крім того, Fuchsia вже забезпечує рівень сумісності POSIX Lite який працює на вершині Fuchsia System ABI. POSIX Lite дозволяє запускати деякі програми Linux, але вимагає перекомпіляції коду програми та, в деяких випадках, модифікації вихідного коду.

Одна з проблем з POSIX Lite - неповна реалізація всіх функцій POSIX, включаючи заклики змінити глобальний стан процесів (наприклад, функцію вбивства), що суперечить концепціям безпеки на Фуксії, що забороняють змінювати глобальний стан процесів. Експрес.

Використання POSIX Lite виправдано в процесі перенесення відкритих програмs, але це не вирішує проблем із запуском програм, для яких немає доступу до коду (наприклад, неможливо досягти сумісності з програмами Android, які містять скомпільовані власні вставки).

Згадаймо, що в рамках проекту Fuchsia Google розробляє універсальну операційну систему, здатну працювати на будь-якому типі пристроїв, від робочих станцій та смартфонів до вбудованих та споживчих технологій. Розробка базується на досвіді створення платформи Android і враховує недоліки в області масштабування та безпеки.

Система базується на мікроядрі Циркон, заснованому на розробках проекту LK, розширеному для використання в різних класах пристроїв, включаючи смартфони та персональні комп'ютери.

Фуенте: https://fuchsia.googlesource.com


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.