1 poin oleh GN⁺ 2024-07-15 | 1 komentar | Bagikan ke WhatsApp

Fusion OS

Fusion adalah sistem operasi hobi untuk x86-64 yang diimplementasikan dengan Nim. Proses pengembangannya didokumentasikan di https://0xc0ffee.netlify.app.

Tangkapan layar

  • Bootloader UEFI
  • GUI ( Catatan: tangkapan layar ini diambil dari branch graphics yang masih dalam pengerjaan.)
  • Boot kernel Fusion

Fitur

Fitur yang saat ini sudah diimplementasikan:

  • Bootloader UEFI
  • Manajer memori fisik
  • Manajer memori virtual
  • Ruang alamat tunggal
  • Mode pengguna
  • Multitasking preemptif
  • System call
  • Loader ELF
  • Interupsi timer

Fitur yang direncanakan:

  • Demand paging
  • Komunikasi antarproses
  • Disk I/O
  • Sistem berkas
  • Input keyboard/mouse
  • Shell
  • GUI
  • Jaringan

Build

Untuk membangun Fusion, dependensi berikut harus diinstal:

  • Nim
  • LLVM (clang dan lld)
  • Just

Bangun Fusion dengan perintah berikut:

just build

Menjalankan

Fusion saat ini berjalan di QEMU, jadi QEMU harus diinstal terlebih dahulu. Jalankan Fusion dengan perintah berikut:

just run

Lisensi

MIT

Ringkasan GN⁺

Fusion OS adalah sistem operasi hobi untuk x86-64 yang diimplementasikan dengan Nim, berguna bagi orang yang ingin mempelajari proses pengembangan sistem operasi. Saat ini, fitur dasar seperti bootloader UEFI, manajer memori fisik dan virtual, serta mode pengguna sudah diimplementasikan. Ke depannya, berbagai fitur seperti demand paging, komunikasi antarproses, dan sistem berkas direncanakan akan ditambahkan. Karena dapat dengan mudah diuji melalui QEMU, proyek ini cocok untuk pengembangan dan pembelajaran. Proyek serupa antara lain xv6 dan OSDev.

1 komentar

 
GN⁺ 2024-07-15
Komentar Hacker News
  • Penulisnya di sini. Siap menjawab pertanyaan
  • Blog/docs Anda luar biasa. Blog dan dokumentasinya sangat bagus. Keseimbangan antara menunjukkan dan menjelaskan terasa sempurna
  • Bagus, saya suka melihat hal seperti ini. Saya sesekali mengikuti ekosistem Nim selama beberapa tahun. Senang melihat proyek kecil ini terus berlanjut
  • Menarik! Menyenangkan karena modul ELF bisa dibaca dengan mudah. Suatu hari saya ingin menulis RTOS dengan Nim. Saya menikmati menulis program embedded dengan Nim, dan sepertinya membuat RTOS juga akan menyenangkan
  • Apa itu Nim, dan apa tujuan desain Fusion secara keseluruhan? Saya penasaran apa itu Nim, dan apa tujuan desain utama Fusion. Semoga ini bukan pertanyaan yang terlalu mendasar; saya sama sekali tidak punya pengetahuan latar tentang topik ini dan berharap ada yang bisa menjelaskannya
  • Jurnal pengembangan dari penulis Fusion: Membagikan tautan jurnal pengembangan dari penulis Fusion
  • Bagaimana perbandingannya dengan TempleOS? Penasaran apa perbedaannya jika dibandingkan dengan TempleOS. Terdengar mirip karena sama-sama menggunakan ruang alamat tunggal
  • Masalah yang dimiliki Nim dan membuat banyak orang ragu memakainya adalah ketidakpekaan terhadap huruf besar-kecil dan gaya penulisan. Masalah Nim adalah ia tidak sensitif terhadap kapitalisasi dan gaya penulisan
    • Contoh: Is_land == island == IsLaND == is-land
    • Ini menjadi masalah dalam lingkungan tim atau proyek nyata
    • Saya penasaran bagaimana perkembangan situasinya saat ini. Terakhir kali saya cek, pengembang utamanya memutuskan untuk tidak mengambil tindakan yang bertentangan dengan voting populer di GitHub
    • Selain itu, proyek Fusion OS dan dokumentasinya luar biasa