Prototipe OS domestik Phantom berdasarkan Genode akan siap sebelum akhir tahun

Dmitry Zavalishin berbicara tentang proyek porting mesin virtual sistem operasi Phantom untuk bekerja di lingkungan OS mikrokernel Genode. Wawancara mencatat bahwa versi utama Phantom sudah siap untuk proyek percontohan, dan versi berdasarkan Genode akan siap digunakan pada akhir tahun. Pada saat yang sama, sejauh ini hanya prototipe konseptual yang dapat diterapkan yang diumumkan di situs web proyek, stabilitas dan fungsionalitasnya belum dibawa ke tingkat yang sesuai untuk penggunaan industri, dan di antara rencana terdekat adalah pembentukan versi alfa cocok untuk eksperimen oleh pengembang pihak ketiga.

Kode proyek didistribusikan di bawah lisensi LGPL, tetapi perubahan terakhir di repositori utama bertanggal November 2019. Aktivitas publik terkait proyek terkonsentrasi di repositori dengan garpu untuk Genode, yang sejak Desember 2020 dikelola oleh Anton Antonov, seorang mahasiswa dari Universitas Innopolis.

Sejak awal 2000-an, sistem operasi Phantom telah dikembangkan sebagai proyek pribadi Dmitry Zavalishin, dan sejak 2010 telah dipindahkan di bawah sayap perusahaan Zona Digital yang dibuat oleh Dmitry. Sistem ini terkenal karena fokusnya pada keandalan yang tinggi dan penggunaan konsep "semuanya adalah objek" alih-alih "semuanya adalah file", yang menghilangkan penggunaan file karena pelestarian status memori dan siklus berkelanjutan dari bekerja. Aplikasi di Phantom tidak dihentikan, tetapi hanya dijeda dan dilanjutkan dari tempat mereka tinggalkan. Semua variabel dan struktur data dapat disimpan selama aplikasi membutuhkan, dan pemrogram tidak perlu berhati-hati untuk menyimpan data.

Aplikasi di Phantom dikompilasi menjadi bytecode, yang berjalan di mesin virtual berbasis stack, mirip dengan mesin virtual Java. Mesin virtual menyediakan persistensi memori aplikasi - sistem secara berkala mem-flush snapshot status mesin virtual ke media persisten. Setelah shutdown atau crash, pekerjaan dapat dilanjutkan mulai dari snapshot memori yang terakhir disimpan. Snapshot dibuat secara asinkron dan tanpa menangguhkan mesin virtual, tetapi snapshot menangkap potongan satu kali, seolah-olah mesin virtual dihentikan, disimpan ke disk, dan dimulai lagi.

Semua aplikasi berjalan di ruang alamat global umum, yang menghilangkan kebutuhan untuk beralih konteks antara kernel dan aplikasi, dan sangat menyederhanakan dan mempercepat komunikasi antara aplikasi yang berjalan di mesin virtual yang dapat bertukar objek melalui penerusan referensi. Pemisahan akses dilakukan pada tingkat objek, referensi yang hanya dapat diperoleh dengan memanggil metode yang sesuai (tidak ada aritmatika pointer). Setiap data, termasuk nilai numerik, diperlakukan sebagai objek terpisah.

Untuk aplikasi, pekerjaan terlihat terus menerus dan tidak tergantung pada reboot OS, crash, dan shutdown komputer. Model pemrograman Phantom dibandingkan dengan menjalankan server aplikasi tanpa henti untuk bahasa pemrograman objek. Porting program Java untuk Phantom dianggap sebagai salah satu cara utama untuk mengembangkan aplikasi, yang difasilitasi oleh kesamaan mesin virtual Phantom dengan JVM. Selain kompiler bytecode untuk bahasa Java, proyek berencana untuk membuat kompiler untuk Python dan C#, serta implementasi penerjemah dari kode perantara WebAssembly.

Untuk melakukan operasi yang memerlukan kinerja tinggi, seperti pemrosesan video dan audio, dimungkinkan untuk menjalankan objek biner dengan kode asli di utas terpisah (LLVM digunakan untuk membangun objek biner). Untuk mengakses layanan kernel tingkat rendah, beberapa kelas VM (kelas “internal”) diimplementasikan pada tingkat kernel OS. Untuk menjalankan aplikasi Linux, lapisan POSIX disediakan yang mengemulasi panggilan yang diperlukan untuk pengoperasian proses Unix (ketekunan untuk aplikasi di lapisan POSIX belum disediakan).

Prototipe OS domestik Phantom berdasarkan Genode akan siap sebelum akhir tahun

Phantom OS tradisional, selain mesin virtual, menyertakan kernelnya sendiri dengan penerapan utas, pengelola memori, pengumpul sampah, mekanisme sinkronisasi, sistem I / O, dan driver untuk bekerja dengan peralatan, yang secara signifikan mempersulit membawa proyek untuk kesiapan untuk digunakan secara luas. Secara terpisah, komponen dengan tumpukan jaringan, subsistem grafis, dan antarmuka pengguna sedang dikembangkan. Patut dicatat bahwa subsistem grafik dan pengelola jendela bekerja di tingkat kernel.

Untuk meningkatkan stabilitas, portabilitas, dan keamanan proyek, upaya dilakukan untuk mentransfer mesin virtual Phantom untuk bekerja menggunakan komponen sistem operasi mikrokernel terbuka Genode, yang pengembangannya diawasi oleh perusahaan Jerman Genode Labs. Bagi yang ingin bereksperimen dengan Phantom berbasis Genode, lingkungan build khusus berbasis Docker telah disiapkan.

Menggunakan Genode akan memungkinkan untuk menggunakan mikrokernel dan driver yang sudah teruji, serta membawa driver ke ruang pengguna (dalam bentuknya saat ini, driver ditulis dalam C dan dijalankan pada level kernel Phantom). Secara khusus, akan dimungkinkan untuk menggunakan mikrokernel seL4, yang telah lulus verifikasi keandalan secara matematis, yang memastikan bahwa penerapannya sepenuhnya sesuai dengan spesifikasi yang ditentukan dalam bahasa formal. Kemungkinan menyiapkan bukti keandalan serupa untuk mesin virtual Phantom sedang dipertimbangkan, yang akan memungkinkan verifikasi seluruh lingkungan OS.

Area aplikasi utama port berbasis Genode adalah pengembangan aplikasi untuk berbagai perangkat industri dan tertanam. Saat ini, satu set perubahan untuk mesin virtual telah disiapkan dan binding yang berjalan di atas Genode telah ditambahkan untuk komponen persistensi kernel dan antarmuka level rendah utama. Perlu dicatat bahwa mesin virtual Phantom sudah dapat bekerja di lingkungan Genode 64-bit, tetapi VM belum diimplementasikan dalam mode persistensi, subsistem driver harus dikerjakan ulang, dan komponen dengan tumpukan jaringan dan subsistem grafis telah untuk diadaptasi untuk Genode.

Prototipe OS domestik Phantom berdasarkan Genode akan siap sebelum akhir tahun
Prototipe OS domestik Phantom berdasarkan Genode akan siap sebelum akhir tahun
Prototipe OS domestik Phantom berdasarkan Genode akan siap sebelum akhir tahun


Sumber: opennet.ru

Tambah komentar