Sebuah sistem pengendalian eksperimen baharu yang dipanggil Munal OS telah muncul, mempamerkan pendekatan yang tidak konvensional terhadap reka bentuk OS yang menghapuskan banyak komponen kernel tradisional sambil menggunakan WebAssembly (WASM) untuk sandboxing aplikasi. Projek ini, yang ditulis sepenuhnya dalam Rust , dikompil menjadi satu binari EFI dan menjalankan aplikasi melalui enjin WASM terbenam berbanding proses natif.
Keperluan Sistem
- Rust Nightly 2025-06-01
- QEMU 10.0.0
- Sokongan sasaran RISC-V 64-bit
- Pematuhan spesifikasi VirtIO 1.1
![]() |
---|
Tangkapan skrin ini menggambarkan repositori GitHub untuk Munal OS, mempamerkan kod sumber dan organisasi projeknya |
Penyimpangan Radikal dari Reka Bentuk OS Tradisional
Munal OS sengaja mengetepikan beberapa ciri asas yang terdapat dalam sistem pengendalian konvensional. Sistem ini beroperasi tanpa bootloader, page mapping, ruang alamat maya, atau CPU interrupts. Sebaliknya, ia berjalan sebagai satu binari EFI yang keluar dari perkhidmatan boot UEFI hampir serta-merta dan bergantung pada memori identity-mapped sepanjang pelaksanaannya.
Sistem pengendalian ini menggunakan satu gelung acara global yang mengendalikan semua operasi sistem secara berurutan. Setiap iterasi mengundi pemacu rangkaian dan input, melukis antara muka desktop, melaksanakan satu langkah bagi setiap aplikasi WASM yang aktif, dan membuang framebuffer GPU . Pendekatan penjadualan koperatif ini bermakna aplikasi mesti secara eksplisit menyerahkan kawalan berbanding ditukar secara preemptif oleh kernel.
Perbezaan Seni Bina Utama
OS Tradisional | Munal OS |
---|---|
Memerlukan bootloader | Binari EFI tunggal |
Memori maya | Memori pemetaan identiti |
Dipacu gangguan | Pemacu berasaskan polling |
Penjadualan preemptif | Penjadualan koperatif |
Proses asli | Aplikasi WASM |
Sokongan berbilang teras | Gelung peristiwa tunggal |
Enjin WASM Menyediakan Pengasingan Aplikasi
Berbanding menggunakan memori maya untuk pengasingan proses, Munal OS membenamkan enjin Wasmi WASM untuk menjalankan aplikasi bersandbox. Semua program pengguna dikompil kepada WebAssembly dan berkomunikasi dengan kernel melalui API panggilan sistem tersuai. Pendekatan ini menyediakan pemisahan memori dan keselamatan tanpa memerlukan ruang alamat maya atau pengurusan proses tradisional.
Seni bina berasaskan WASM telah menarik perhatian dari pasukan pembangunan Wasmi , yang menyatakan bahawa versi terbaru enjin mereka termasuk keupayaan fuel metering yang dipertingkatkan yang boleh meningkatkan model penjadualan koperatif. Fuel metering bertindak seperti pembilang boleh laras yang berkurangan dengan setiap arahan, membolehkan sistem hos menyerahkan kawalan apabila pembilang mencapai sifar.
Kebimbangan Prestasi dan Skalabiliti
Perbincangan komuniti telah menyerlahkan potensi batasan prestasi dengan seni bina semasa. Gelung acara berbenang tunggal bermakna menambah lebih banyak aplikasi secara langsung memberi kesan kepada prestasi semua program yang berjalan. Dengan penjadualan koperatif, setiap aplikasi mendapat masa CPU semasa setiap iterasi gelung, jadi tiga puluh aplikasi terbuka secara teorinya boleh memperlahankan setiap satu dengan faktor tiga puluh.
Sistem pemacu berasaskan polling juga menimbulkan persoalan tentang prestasi dan kecekapan rangkaian. Semua komunikasi perkakasan berlaku melalui pemacu VirtIO yang sentiasa mengundi untuk kemas kini berbanding bertindak balas kepada interrupts. Pilihan reka bentuk ini memudahkan kod asas tetapi mungkin mengehadkan throughput untuk aplikasi intensif rangkaian.
Model Keselamatan Menghadapi Cabaran Moden
Walaupun sandboxing WASM menyediakan pengasingan antara aplikasi, pakar keselamatan telah menyatakan bahawa kerentanan CPU moden seperti Spectre dan Meltdown berpotensi menjejaskan model keselamatan. Kekurangan perlindungan memori maya dan ruang alamat berkongsi mungkin menjadikan sistem lebih terdedah kepada serangan saluran sisi yang mengeksploitasi pelaksanaan spekulatif.
Sistem ini pada masa ini hanya menyokong berjalan dalam mesin maya QEMU melalui pemacu VirtIO , yang mengehadkan ujian keselamatan dunia sebenar. Sokongan untuk perkakasan sebenar memerlukan pelaksanaan pemacu tradisional untuk USB , GPU , dan komponen lain.
Aplikasi yang Disertakan
- Pelayar web (DNS, HTTPS, sokongan HTML asas)
- Editor teks
- Terminal Python (melalui RustPython)
- Paparan audit sistem untuk pemantauan sumber
- Demo kiub 3D
- Sistem menu pai jejari
Pelaksanaan Teknikal dan Pembangunan Masa Depan
Munal OS termasuk set ciri yang lengkap secara mengejutkan walaupun sifatnya yang eksperimen. Sistem ini menyediakan toolkit UI tersuai, pelayar web asas yang menyokong DNS dan HTTPS , editor teks, dan juga terminal Python . Semua aplikasi berkongsi gaya visual yang konsisten melalui sistem stylesheet global.
Munal OS bermula sebagai projek mainan untuk berlatih pengaturcaraan sistem, dan selama bertahun-tahun berubah menjadi OS penuh dan taman permainan untuk meneroka idea baharu.
Projek ini menunjukkan bahawa alat moden dan seni bina yang dipermudahkan boleh mencipta sistem pengendalian yang berfungsi dengan kerumitan yang jauh lebih sedikit daripada reka bentuk tradisional. Walaupun pelaksanaan semasa mempunyai batasan yang jelas untuk kegunaan pengeluaran, ia menawarkan wawasan berharga tentang pendekatan alternatif kepada pembangunan OS dan potensi peranan WebAssembly dalam perisian sistem.
Rujukan: Munal OS .·.
![]() |
---|
Diilhamkan oleh alam semula jadi, landskap yang tenang ini melambangkan semangat inovatif di sebalik Munal OS ketika ia meneroka pendekatan baharu dalam reka bentuk sistem pengendalian |