Catatan Osdev
Sebuah buku, yang berasal dari kumpulan catatan, dimaksudkan untuk memandu pembaca melalui langkah-langkah membangun kernel sistem operasi dari awal. Ditulis saat menulis (dan menulis ulang) kernel kita sendiri, setiap bab mencakup langkah proses mulai dari memilih bootloader hingga menjalankan ELF yang dimuat di ruang pengguna.
Kami harap Anda menikmatinya, dan menemukan sesuatu yang menarik di sini!
Isi repositori ini juga tersedia dalam bentuk buku cetak , dapat dibeli melalui Lulu:
- Buku bersampul tipis : Klik di sini
- Sampul Keras : Klik Disini
Rilis master terbaru berisi PDF yang dibuat dari master.
Bab Saat Ini:
- Bagian 0: Pendahuluan
- Pengetahuan yang Diasumsikan
- Tentang Penulis
- Bagian 1: Membangun & Boot Protokol
- Membangun Kernel
- Bootloader dan Protokol Boot
- file make
- Skrip Tautan
- Menghasilkan Iso yang Dapat Di-boot
- Bagian 2: Arsitektur dan Driver Dasar
- Ringkasan
- Halo Dunia
- Setengah Kernel Lebih Tinggi
- Tabel Deskriptor Global
- Interupsi
- Tabel ACPI
- APIC
- pengatur waktu
- Ikhtisar Papan Ketik PS2
- Penanganan Interupsi Keyboard PS2
- Implementasi Driver Keyboard PS2
- Bagian 3: Keluaran Video
- Penyangga Bingkai
- Menggambar Teks di Framebuffer
- Bagian 4: Manajemen Memori
- Ringkasan
- Memori Fisik
- halaman
- Manajer Memori Virtual
- Alokasi Tumpukan
- Bagian 5: Penjadwalan
- Ringkasan
- Penjadwal
- Proses dan Thread
- Kunci
- Bagian 6: Masuk ke Userspace
- Ringkasan
- Beralih Mode
- Penanganan Interupsi yang Diperbarui
- Panggilan Sistem
- Contoh Syscall ABI
- Bagian 7: Komunikasi Antar Proses
- Ringkasan
- Memori Bersama
- Pengiriman Pesan
- Bagian 8: Sistem File
- Ringkasan
- Sistem File Virtual
- Sistem File Tar
- Bagian 9: Memuat & Mengeksekusi ELF
- Teori
- Memuat dan Menjalankan
- Bagian 10: Melampauinya
- Ekstra: Lampiran
- Pemecahan Masalah Umum
- Tip dan Trik
- Bahasa C
- Bekerja Dengan NASM
- Semua Tentang Cross Compiler
- Men-debug
- Perlindungan Memori
- Sumber Daya Berguna
- Ucapan Terima Kasih
Proyek Kami
- DreamOs64: OS 64-bit yang ditulis dari awal oleh Ivan G.
- Northport: OS 64-bit lainnya dengan SMP, dan dukungan riscv! oleh Dekan T.
- DreamOs: OS 32-bit ditulis dari awal. Proyek ini dihentikan, tetapi masih layak untuk disebutkan. Juga oleh Ivan G.
Penulis
- Ivan G (dreamos82) - Penulis dan pencipta catatan ini.
- Dean T (DeanoBurrito) - Penulis.
Lisensi
Konten (kode, teks, dan aset lainnya) dari repositori ini dilisensikan di bawah Lisensi Publik Creative Commons Atribusi-NonKomersial 4.0, lihat file LISENSI untuk teks selengkapnya.
Meskipun bukan merupakan nasihat hukum, lisensi ini dapat diringkas sebagai:
- Anda bebas membagikan (menyalin dan mendistribusikan ulang) materi ini dalam media atau format apa pun.
- Adaptasi (remix, ubah, dan kembangkan) materi.
Berdasarkan batasan berikut:
- Anda harus memberikan kredit yang sesuai, memberikan tautan ke lisensi, dan menunjukkan jika ada perubahan.
- Anda tidak dapat menggunakan materi tersebut untuk tujuan komersial.
Perhatikan bahwa tidak ada jaminan apa pun yang diberikan.