- Kernel Linux adalah proyek open source raksasa dengan 36 juta baris kode, tetapi versi pertamanya hanya 10.239 baris (8.670 jika komentar/baris kosong dikecualikan)
- Linux v0.01, karena kesederhanaannya, adalah titik awal yang bagus untuk mempelajari bagian dalam kernel OS bergaya Unix
- v0.01 hanya memiliki 66 system call
- pembuatan, penghapusan, dan penulisan file/direktori
- chmod, chown, pipe, fork, execve
- Konsep socket belum diperkenalkan sehingga belum mendukung jaringan
- mount masih belum diimplementasikan
- Di-hardcode untuk arsitektur Intel 386 (penulis MINIX mengkritik hal ini)
- strcpy ditulis dalam assembly yang menggunakan instruksi i386
- Hanya mendukung perangkat PC/AT
- CMOS, PIT (Programmable Interval Timer), ATA (PIO), VGA (mode teks), keyboard Intel 8042 PS2 (assembly)
- Belum ada folder drivers, dan semuanya di-hardcode ke dalam subsistem
- Ada komentar di Makefile yang menyebut nama asli yang diberikan Linus, yaitu kernel "FREAX"
- Filesystem hanya mendukung MINIX (
ext terinspirasi dari MINIX)
- Ada komentar pada kode scheduler yang berbunyi, "bagian ini adalah kode yang cukup bagus dan akan bekerja di semua lingkungan, jadi sepertinya tidak ada alasan untuk mengubahnya!"
- Tentu saja, sekarang bagian itu sudah diubah karena berbagai peningkatan dan algoritma telah diperkenalkan, jadi ramalan ini meleset
- Implementasi kernel panic hanya 5 baris: mencetak "kernel panic: penyebab" lalu menghentikan sistem dengan
for(;;)
- Ada bagian yang terlihat seperti memanggil fork(2) di ruang kernel
- Terlihat begitu, tetapi sebenarnya ada trik
move_to_user_mode() sebelumnya
- Linus tidak memiliki perangkat dengan RAM lebih dari 8MB (karena dia sendiri tidak punya, dia tidak bisa mengujinya, jadi siapa pun yang punya diminta mencobanya sendiri...)
- Sulit dikompilasi dengan toolchain modern
- GCC memang kompatibel ke belakang, tetapi itu saja tidak cukup
- Linus memiliki GCC versinya sendiri dengan opsi
-mstring-insns (mungkin opsi untuk mendukung instruksi string x86)
2 komentar
Menarik.
Komentar Hacker News
counterdi Linux, dengan klaim bahwa nilainya menurun secara eksponensial hingga 2 * prioritas jika suatu tugas tidak bisa dijalankan.