23 poin oleh kuroneko 2023-08-31 | 10 komentar | Bagikan ke WhatsApp
  • Upaya membuat OS non-Unix menggunakan Rust.
  • Saat ini sudah mendukung output grafis, alokasi dinamis, eksekusi bersamaan, serta keyboard/mouse.
  • Hal yang unik adalah sistem ini dirancang agar semua aplikasi dapat berjalan sebagai satu fungsi tunggal.
    • Aplikasi dijalankan dengan menerima Context yang berisi fungsi-fungsi OS, sehingga semua interaksi terjadi melalui Context.
    • Karena itu, sandboxing, debugging, dan hal serupa menjadi sangat mudah, dan karena pemeliharaan memori juga dilakukan melalui Context, restart dan mode tidur menjadi mudah.
  • Desain untuk aplikasi masih belum sepenuhnya matang, sehingga masih ada masalah seperti semua aplikasi dapat melihat memori satu sama lain.
  • Dukungan untuk penyimpanan persisten, GPU, jaringan, dan lain-lain masih perlu diimplementasikan.

10 komentar

 
honglu 2023-08-31

Konsepnya memang seksi. Seluruh dunia jadi Rust.. wkwkwk

 
botplaysdice 2023-08-31

"Aplikasi bisa melihat memori satu sama lain"... :)

 
ahwjdekf 2023-08-31

Ya, ini sangat lucu.

 
xguru 2023-08-31

VirGL - GPU 3D Virtual yang dapat digunakan di dalam VM QEMU

Mendukung VirGL sehingga bisa dipasang dan diuji di QEMU.

 
kuroneko 2023-08-31

Masa depan menjalankan program Rust di OS Rust...? Seluruh dunia memang Rust.

 
heycalmdown 2023-08-31

Kalau ada thread HN di komentar, akan bagus kalau neo bisa merangkumnya secara otomatis wkwk. Sudah tidak bisa hidup tanpa neo.

 
kuroneko 2023-08-31

Mulai sekarang saya akan coba sertakan juga ringkasan AI. Menariknya, sepertinya ini merangkum per klaim yang dibuat tiap orang.

  • danhau: Mempertanyakan apakah penjadwalan kooperatif benar-benar akan gagal seperti yang diklaim orang lain, sambil mengkhawatirkan fakta bahwa aplikasi pada dasarnya sudah saling bekerja sama. Ia cemas serangan denial-of-service dapat dengan mudah menghentikan sistem seperti ini.
  • aseipp: Sepakat dengan danhau bahwa penjadwalan kooperatif bisa membuat kesalahan sederhana menjadi fatal bagi sistem, sehingga dapat menimbulkan masalah untuk eksekusi program arbitrer.
  • gnulinux: Menyarankan bahwa tidak harus segalanya seperti itu, dan mungkin ada cara untuk mengizinkan aplikasi kooperatif sambil mencegah sistem berhenti akibat loop tak berujung. Misalnya dengan timeout atau deteksi loop.
  • DSMan195276: Berpendapat bahwa tidak harus segalanya seperti itu karena program kooperatif mengasumsikan bahwa mereka tidak akan dipreempt. Ia mengatakan bahwa bahkan jika tingkat preemption diturunkan, cara menulis program tetap perlu berubah.
  • getpokedagain: Mengatakan bahwa tidak semua sistem operasi perlu menjalankan aplikasi multi-pengguna yang tak terduga, dan pada sistem terbatas seperti perangkat embedded atau konsol game, model kooperatif bisa bekerja.
  • Symmetry: Mengatakan bahwa CPU modern memiliki banyak thread, jadi jika OS bisa kembali berjalan sambil memeriksa penggunaan berlebihan pada sebagian thread, model Fomos mungkin tetap bisa berfungsi tanpa benar-benar macet total.
  • cmrdporcupine: Menyebutkan bahwa use case khusus bisa mendapat manfaat dari model yang secara langsung menugaskan pekerjaan ke core yang kosong, tetapi kompleksitas penanganan konkurensi mungkin tidak jauh lebih sederhana dibanding mengimplementasikan time-slicing.
  • JoeAltmaier: Menunjukkan bahwa loop while(true) pada satu thread mungkin tidak memengaruhi thread lain, tetapi kenaikan baterai/suhu tetap menunjukkan masalah sumber daya yang perlu dikelola.
  • keyle: Antusias terhadap proyek ini dan pendekatannya yang minimalis, serta menantikan pengembangan lebih lanjut seperti sistem berkas yang memenuhi persyaratan tradisional untuk menjalankan DOOM.
  • mepian: Menjelaskan bahwa metode Smalltalk dipanggil antarobjek, bukan sebagai fungsi yang berdiri sendiri, dan menambahkan bahwa beberapa OS Lisp awal juga menggunakan fungsi sebelum adanya sistem objek.
 
xguru 2023-08-31

Untungnya? tulisan yang sama sudah ditangani Neo ya wkwk

Fomos: sistem operasi eksperimental yang dibangun dengan Rust

 
xguru 2023-08-31

Masalahnya, saya juga sedang ikut merangkum sambil melihat tautan itu, hiks

Silakan lihat dan bandingkan sampai 3 versi rangkuman sekaligus, hehe

  • Ingin mencoba membuat OS Non-Unix
  • Exo-Kernel menarik, tetapi sebagian besar masih sebatas teori, jadi ini membantu untuk memahami pola tersebut
  • Fitur-fitur
    • Output grafis, alokasi dinamis, semua aplikasi berjalan dalam loop asinkron
    • Mouse/keyboard Virtio (driver juga berupa task asinkron)
    • Penjadwalan kooperatif (aplikasi sebisa mungkin menyerahkan kontrol)
    • Tidak ada context switch setelah boot
    • Hampir mendukung Virgl™
  • Hal yang unik
    • Signature aplikasi pub extern "C" fn _start(ctx: &mut Context) -> i32
    • Aplikasi tidak memerlukan standard library, dan semua fungsi OS diberikan ke aplikasi melalui Context
    • Di Fomos, aplikasi hanyalah sebuah function. Ini bagian yang paling besar. File eksekusi di OS Unix/Windows sangat kompleks dibandingkan function.
 
roxie 2023-09-04

Tidak ada tombol thumbs down, jadi bagaimana karma Anda bisa menjadi minus?