Monkos adalah sistem operasi 64-bit eksperimental untuk prosesor Intel dan AMD. Ini adalah campuran dari C dan bahasa perakitan dan sedang dalam proses. Saat ini, terdiri dari BIOS boot loader, sistem konsol virtual, sistem penanganan interupsi, manajer memori paged, pengalokasi tumpukan, beberapa driver perangkat sederhana, dan cangkang interaktif primitif. Boot loader dirancang untuk meluncurkan sistem operasi dari cdrom.
OS saat ini dibangun di bawah Linux menggunakan kompiler silang. Ada dua cara untuk membangunnya: (1) dengan memasang semua alat yang diperlukan pada sistem Anda dan menjalankan make , atau (2) dengan menggunakan wadah Docker siap pakai yang berisi semua alat build yang Anda butuhkan.
Untuk membangun dengan alat yang diinstal pada sistem lokal Anda, Anda harus memiliki perangkat lunak berikut yang sudah diinstal:
Sebagian besar alat ini tersedia dari manajer paket Linux standar. Namun, kompiler silang tidak. Untuk membangun kompiler silang, konsultasikan dengan instruksi di halaman ini. Pastikan juga mengikuti libgcc tanpa instruksi zona merah.
Setelah Anda menginstal semua alat dan memastikan kompiler silang ada di jalur Anda, jalankan make .
$ make Ini menghasilkan file CDROM ISO yang dapat di -boot yang disebut monk.iso di subdirektori build Anda.
Karena itu bisa sedikit merepotkan untuk membangun dan memasang kompiler silang, wadah Docker telah disiapkan, memungkinkan Anda untuk menghindari membangun kompiler silang sendiri. Untuk menjalankan build berbasis Docker, pastikan Anda memiliki versi Docker terbaru yang diinstal pada sistem Anda, tambahkan diri Anda ke grup pengguna Docker sistem Anda, dan kemudian ketik berikut:
$ make docker Ini akan menarik wadah Docker ( brett/monkos-build ) jika Anda belum memilikinya, jalankan build di dalam wadah, dan hasilkan file ISO (dan semua file output perantara lainnya) di subdirektori build Anda. Perilaku itu hampir persis seolah-olah Anda berlari make menggunakan cross-compiler yang diinstal secara lokal di sistem Anda.
Ada beberapa cara untuk menjalankan Monkos setelah Anda memiliki file ISO. Cara pertama dan paling memakan waktu adalah dengan membakarnya ke CD atau DVD ROM menggunakan utilitas pembakaran favorit Anda. Ini adalah satu-satunya cara untuk menguji Monkos pada sistem telanjang-logam.
Atau, Anda dapat meluncurkan sistem operasi menggunakan perangkat lunak mesin virtual seperti VMware atau VirtualBox.
Atau Anda dapat menjalankan sistem operasi dalam emulator berbasis Linux seperti QEMU atau BOCHS. Monkos Makefile membuat alternatif ini sangat mudah dengan memberikan aturan build sederhana untuk meluncurkan OS di Qemu:
$ make testAnda juga dapat menggunakan Makefile untuk memulai sesi debugging kernel di bawah QEMU dan GDB. Pertama, luncurkan QEMU dalam mode debugging:
$ make debugKemudian mulailah sesi debugger GDB dengan melampirkan GDB ke titik akhir Debugger QEMU:
$ gdb
(gdb) set arch i386:x86-64
(gdb) symbol-file build/monk.sys
(gdb) target remote localhost:8864
(gdb) layout src
Jalankan make docs untuk membangun dokumentasi yang diformat dengan baik untuk Monkos. Anda perlu Doxygen terpasang pada sistem Anda untuk melakukan ini.
$ make docs Dokumen Doxygen akan muncul di subdirektori docs/monk . Untuk melihatnya, luncurkan mereka di browser Anda (dalam hal ini Firefox):
$ firefox docs/monk/index.htmlUntuk membangun tag kode untuk pencarian simbol yang mudah di dalam editor Anda, gunakan Makefile untuk menjalankan utilitas tag-tag yang bersemangat:
$ make tags Ini menghasilkan file .tags di direktori Monkos Anda.
Untuk membersihkan semua file perantara, gunakan build bersih:
$ make cleanUntuk membersihkan semua file dependensi yang dihasilkan, gunakan CleanDeps Build:
$ make cleandepsSilakan berkonsultasi dengan dokumentasi yang diformat doxygen, yang merupakan bagian dari set dokumentasi Monkos.
Ini adalah beberapa sumber daya yang saya andalkan dalam upaya saya untuk lebih memahami banyak dan berbagai aspek pengembangan bootloader dan OS:
Penggunaan kode sumber ini diatur oleh lisensi gaya BSD yang dapat ditemukan dalam file lisensi.