Ini adalah proyek sistem operasi open-source yang ditulis dalam bahasa pemrograman zig.
BAMOS tidak memperkenalkan standar baru tetapi berjuang untuk implementasi terbaik dari yang sudah ada.
Fitur dan tujuan utama dari proyek ini adalah untuk mengembangkan sistem operasi yang ringan dan sangat cepat dengan basis kode yang terdokumentasi dengan baik , ringkas , dan sederhana , sebanyak mungkin.
Ini bertujuan untuk memasukkan dukungan asli untuk beberapa sistem ABIS antara kernel dan ruang pengguna (GNU/Linux, Windows NT, dll.) Secara bersamaan. Ini harus secara signifikan meningkatkan pengalaman pengguna dan menyederhanakan pekerjaan untuk pengembang perangkat lunak.

Terlepas dari bahasa yang akrab dan mapan seperti C/C ++ atau karat yang mungkin lebih aman, pilihan kami adalah zig.
Zig cukup sederhana untuk lebih dapat dipelihara daripada karat sambil menawarkan alternatif yang lebih aman dan lebih fungsional untuk C/C ++. Zig memungkinkan menghasilkan kode mesin berkecepatan tinggi dan yang dioptimalkan, dan salah satu keuntungan utamanya adalah sistem build, yang membuat proses kompilasi mulus dan sangat sederhana.
Untuk membuat kernel yang dapat dieksekusi, yang Anda butuhkan hanyalah kode sumber, kompiler zig, dan perintah zig build kernel .
Dokumentasi OS umum tersedia di halaman ini.
Dokumentasi kode tersedia di halaman ini. Jika Anda ingin menghasilkan dokumentasi secara lokal, jalankan perintah berikut:
zig build docs Situs statis akan ditempatkan di direktori docs , yang kemudian dapat diluncurkan menggunakan:
cd docs
python -m http.serverDeskripsi dan dokumentasi bahasa zig untuk perpustakaan standarnya dapat ditemukan di situs web resmi.
BAMOS masih merupakan proyek kecil namun berkembang .
Kami menyambut setiap kontribusi dan mengundang Anda untuk berpartisipasi dalam pengembangan dan evolusi proyek.
Lihat informasi tentang Kontribusi.
Proses pembangunannya cukup mudah:
git clone https://github.com/bagggage/bamos.git
cd bamos
zig build kernel --release=[small | safe | fast] Secara default, hasil build akan berlokasi di direktori .zig-out . Untuk menentukan jalur yang berbeda, gunakan opsi --prefix=[path] selama build.
Saat ini, OS bergantung pada bootloader bootboot pihak ketiga, dan utilitas bootboot/mkbootimg digunakan untuk membuat gambar. Di masa depan, tahap ini direncanakan akan disederhanakan dan dibuat lebih lintas platform. Namun, untuk saat ini, untuk membuat gambar, Anda perlu:
mkbootimg untuk os host Anda.bootboot-bin dengan mengatur variabel BOOTBOOT di env.shiso.sh Secara default, gambar akan ditempatkan di direktori dist .
Untuk pengujian dan peluncuran OS cepat, disarankan untuk menggunakan emulator QEMU.
Di Windows , Anda juga harus menambahkan direktori qemu di variabel lingkungan PATH sebelumnya.
Di direktori root proyek, ada skrip qemu.sh dan debug.sh :
qemu.sh menjalankan gambar sistem pra-dibangun (secara default dist/bamos.iso ) di emulator.debug.sh mengkompilasi, membuat gambar, dan menjalankan sistem di emulator. BAMOS berada pada tahap awal pengembangan, dan banyak hal belum diterapkan. Selain itu, menulis implementasi dan mengembangkan arsitektur sistem operasi memerlukan pendekatan berulang untuk menemukan solusi terbaik, sehingga beberapa detail dapat berubah, tetapi ini semua menjadi lebih baik.
Untuk melacak apa yang telah diimplementasikan dalam proyek dan tahap apa saat ini, lihat halaman ini .