Hai! Dalam buku ini, kita akan membangun sistem operasi kecil dari awal, langkah demi langkah.
Anda mungkin merasa terintimidasi ketika mendengar pengembangan OS atau kernel, fungsi dasar sebuah OS (terutama kernel) ternyata sangat sederhana. Bahkan Linux, yang sering disebut sebagai perangkat lunak sumber terbuka yang besar, hanya memiliki 8.413 baris di versi 0,01. Kernel Linux saat ini berukuran sangat besar, tetapi dimulai dengan basis kode yang kecil, sama seperti proyek hobi Anda.
Kita akan mengimplementasikan peralihan konteks dasar, paging, mode pengguna, shell baris perintah, driver perangkat disk, dan operasi baca/tulis file di C. Kedengarannya banyak, namun hanya 1.000 baris kode!
Satu hal yang harus Anda ingat adalah, ini tidak semudah kedengarannya. Bagian tersulit dalam membuat OS Anda sendiri adalah debugging. Anda tidak bisa melakukannya printf
debugging sampai Anda menerapkannya. Anda harus mempelajari berbagai teknik dan keterampilan debugging yang tidak pernah Anda perlukan dalam pengembangan aplikasi. Terutama ketika memulai “dari awal”, Anda akan menemui bagian-bagian yang menantang seperti proses booting dan paging. Tapi jangan khawatir! Kita juga akan mempelajari “cara men-debug OS”!
Semakin sulit proses debugnya, semakin memuaskan saat berhasil. Mari selami dunia pengembangan OS yang menarik!
- Anda dapat mengunduh contoh implementasi dari GitHub.
- Buku ini tersedia di bawah Lisensi CC BY 4.0. Contoh implementasi dan kode sumber dalam teks ada di bawah Lisensi SAYA.
- Prasyaratnya adalah keakraban dengan bahasa C dan lingkungan mirip UNIX. Jika sudah
gcc hello.c && ./a.out
kamu siap berangkat! - Buku ini awalnya ditulis sebagai lampiran dari buku saya Desain dan Implementasi Mikrokernel (ditulis dalam bahasa Jepang).
Selamat meretas OS!