Fuchsia OS bekerja pada dukungan untuk menjalankan program Linux yang tidak dimodifikasi

Pengembang Google dirilis beberapa hari yang lalu rencana untuk mengimplementasikan mekanisme untuk menjalankan program yang tidak dimodifikasi yang dikompilasi untuk Linux di Sistem operasi Fuchsia.

Untuk menjalankan program Linux di ruang pengguna, itu direncanakan untuk menyediakan lapisan "starnix" untuk mendukung Linux ABI. Pada lapisan yang dikembangkan, antarmuka sistem kernel Linux diimplementasikan dalam driver yang diluncurkan sebagai proses untuk sistem operasi Fuchsia, yang berjalan di ruang pengguna dan menerjemahkan permintaan dari program Linux menjadi panggilan ke subsistem Fuchsia yang sesuai.

Hal itu diamatie selama pengembangan proyek, banyak subsistem Fuchsia yang harus dimodifikasi untuk mengimplementasikan semua antarmuka sistem yang tersedia di Linux. Arsitektur starnix sebagian besar sama dengan subsistem Windows untuk Linux yang menggunakan Windows untuk menerjemahkan panggilan sistem Linux ke panggilan sistem Windows.

Direncanakan untuk mengimplementasikan kode starnix di Rust untuk meminimalkan kemungkinan vektor kerentanans yang berpotensi dapat digunakan untuk meningkatkan hak istimewa proses Linux ke proses starnix.

Untuk memastikan keamanan di starnix, mekanisme perlindungan Fuchsia standar akan digunakan jika memungkinkan.

Misalnya, saat mengakses layanan sistem seperti sistem file, tumpukan jaringan, atau subsistem grafis, starnix hanya akan menerjemahkan permintaan, mengubah ABI Linux menjadi ABI sistem Fuchsia, mengizinkan pembatasan yang sama seperti yang diterapkan pada proses Fuchsia biasa.

Ini juga akan menerapkan mekanisme otorisasi khusus Linux, misalnya menentukan dalam situasi apa satu proses Linux memiliki hak untuk menghentikan proses lainnya.

Pengembang Fuchsia telah mengembangkan dukungan untuk meluncurkan aplikasi Linux di masa lalu, tetapi mereka bereksperimen dengan implementasi yang bekerja dengan analogi cara peluncuran aplikasi Linux diatur di Chrome OS.

Untuk kompatibilitas Linux, Fuchsia menawarkan pustaka Machina, yang memungkinkan program Linux berjalan di mesin virtual terisolasi khusus yang dibentuk menggunakan hypervisor berdasarkan spesifikasi kernel dan Virtio Zirkon.

Penggunaan virtualisasi tidak dikesampingkan, karena implementasi penuh dari antarmuka sistem Linux bukanlah tugas yang sepele.

Selain jubah starnix, dimungkinkan untuk membuat mekanisme untuk menjalankan Linux yang dapat dieksekusi menggunakan kernel Linux yang dijalankan di mesin virtual terpisah. Metode ini dianggap paling mudah untuk diterapkan, tetapi juga paling memakan sumber daya.

Pada satu titik, Microsoft mulai mengembangkan lapisan kompatibilitas Linux dari penerjemah, tetapi akhirnya beralih menggunakan kernel Linux asli pada Subsistem Windows untuk Linux 2.

Selain itu, Fuchsia sudah menyediakan lapisan kompatibilitas POSIX Lite yang berjalan di atas Fuchsia System ABI. POSIX Lite memungkinkan Anda menjalankan beberapa program Linux, tetapi memerlukan kompilasi ulang kode aplikasi dan, dalam beberapa kasus, memodifikasi kode sumber.

Salah satu masalahnya dengan POSIX Lite adalah implementasi yang tidak lengkap dari semua fungsi POSIX, termasuk panggilan untuk mengubah status proses global (misalnya, fungsi kill), yang bertentangan dengan konsep keamanan di Fuchsia, yang melarang pengubahan status proses global. Mengekspresikan.

Penggunaan POSIX Lite dibenarkan dalam proses porting aplikasi yang terbukas, tetapi tidak menyelesaikan masalah dengan meluncurkan program yang tidak memiliki akses ke kodenya (misalnya, kompatibilitas dengan aplikasi Android yang berisi penyisipan asli yang dikompilasi tidak mungkin tercapai).

Mari kita ingat bahwa dalam kerangka kerja proyek Fuchsia, Google sedang mengembangkan sistem operasi universal yang mampu beroperasi pada semua jenis perangkat, mulai dari workstation dan smartphone hingga teknologi tertanam dan konsumen. Pengembangan ini didasarkan pada pengalaman membuat platform Android dan memperhitungkan kekurangan di bidang penskalaan dan keamanan.

Sistem ini didasarkan pada mikrokernel Zirkon, berdasarkan perkembangan proyek LK, diperluas untuk digunakan di berbagai kelas perangkat, termasuk telepon pintar dan komputer pribadi.

sumber: https://fuchsia.googlesource.com


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.