- Panduan praktis tentang cara mengembangkan sistem operasi x86 secara langsung
- Ditulis agar memberikan detail teknis tanpa membocorkan terlalu banyak informasi melalui contoh kode atau sampel
- Tidak menjelaskan teori sistem operasi atau cara kerja sistem operasi tertentu
- Bab-bab awal dijelaskan secara rinci dan konkret agar pembaca bisa cepat terbiasa menulis kode
- Bab-bab akhir menjelaskan konsep dan kebutuhan secara garis besar, lalu mendorong pembaca untuk melakukan implementasi dan perancangannya sendiri
- Jika perlu mempelajari teori sistem operasi, direkomendasikan Modern Operating Systems karya Andrew Tanenbaum
Isi bab utama
- Bab awal
- Bab 2~3: menyiapkan lingkungan pengembangan dan melakukan boot kernel OS di mesin virtual → mulai menulis kode dalam bahasa C
- Bab 4: output layar dan output port serial
- Bab 5: segmentasi
- Bab 6: interupsi dan pemrosesan input
- Tahap setelah pengembangan kernel fungsional
- Bab 7: persiapan dukungan untuk aplikasi mode pengguna
- Bab 8~9: menyiapkan memori virtual melalui paging
- Bab 10: alokasi memori
- Bab 11: menjalankan aplikasi pengguna
- Topik lanjutan
- Bab 12: sistem berkas
- Bab 13: system call
- Bab 14: multitasking
Latar belakang buku dan proses pengembangan
- Buku ini dan kernel OS-nya dikembangkan melalui kursus individual tingkat lanjut di Royal Institute of Technology di Swedia
- Para penulis sebelumnya telah mengambil mata kuliah teori OS, tetapi masih kurang pengalaman dalam pengembangan kernel nyata
- Untuk mewujudkan teori ke dalam implementasi nyata dan memahaminya lebih dalam, mereka membuka kursus baru dan menulis buku ini
- Arsitektur x86 telah lama menjadi arsitektur perangkat keras yang paling luas digunakan, serta memiliki referensi dan emulator yang sangat banyak
- Dokumentasi tentang detail perangkat keras sering kali rumit dan sulit dipahami
Cara pengembangan
- Dikerjakan penuh waktu selama sekitar 6 minggu
- Implementasi dilakukan dalam langkah-langkah kecil dan pengujian manual dilakukan di setiap tahap → memudahkan pelacakan penyebab bug
- Sebagian besar kode ditulis melalui pair programming → diharapkan membantu mengurangi bug
Pembaca sasaran
- Cocok untuk pembaca yang memiliki latar belakang berikut:
- terbiasa dengan UNIX/Linux dan pemrograman sistem
- terbiasa dengan bahasa C
- memiliki pemahaman tentang sistem komputer dan notasi heksadesimal
- Pemula juga bisa menggunakannya sebagai alat belajar, tetapi tingkat kesulitannya tinggi
1 komentar
Komentar Hacker News
Suka sekali dengan osdev. Tidak tahu tujuan akhirnya apa, tapi sangat keren karena bisa membuat apa pun yang diinginkan
Banyak orang merekomendasikan alternatif favorit mereka, tetapi saya tetap penggemar besar Project Oberon
Buku ini punya kelemahan klasik dari tutorial osdev
Buku OS favorit saya adalah Operating Systems: Three Easy Pieces
Terima kasih! Ini terlihat seperti materi yang luar biasa tentang topik ini
Komentar ini membangkitkan nostalgia ke era 2000-an
Bukunya bagus. Sebaiknya lihat issue di GitHub
Saya berharap dua buku pengembangan operating system dari Jepang diterjemahkan ke bahasa Inggris
Saya penasaran di mana manual untuk buku OS merah kecil itu
Ngomong-ngomong soal pengembangan OS, game membuat belajar jadi menyenangkan