- Linux çekirdeği 36 milyon satırlık dev bir açık kaynak projesi, ancak ilk sürümü 10.239 satırdı (yorumlar/boş satırlar hariç 8.670)
- Linux v0.01, bu sadeliği sayesinde Unix tarzı bir OS çekirdeğinin iç yapısını öğrenmek için iyi bir başlangıç noktası
- v0.01 yalnızca 66 sistem çağrısına sahipti
- dosya/dizin oluşturma, silme, yazma
- chmod, chown, pipe, fork, execve
- Socket kavramı henüz eklenmediği için ağ desteği yoktu
- mount henüz uygulanmamıştı
- Intel 386 mimarisine göre hardcode edilmişti (MINIX’in yazarı bunu eleştirmişti)
- strcpy, i386 komutlarını kullanan assembly ile yazılmıştı
- Yalnızca PC/AT cihazları destekleniyordu
- CMOS, PIT (Programmable Interval Timer), ATA (PIO), VGA (metin modu), Intel 8042 PS2 klavye (assembly)
- Henüz
drivers klasörü bile yoktu ve her şey alt sistemlere hardcode edilmişti
- Linus’un başlangıçta vermeyi düşündüğü ad olan "FREAX" Kernel ifadesini içeren bir yorum Makefile’da yer alıyor
- Dosya sistemi olarak yalnızca MINIX destekleniyordu (
ext, MINIX’ten ilham almıştı)
- Zamanlayıcı kodunda, "bu kısım her ortamda çalışan oldukça iyi bir kod, değiştirmek için hiçbir neden olmayacak!" şeklinde bir yorum var
- Elbette bugün çeşitli iyileştirmeler ve algoritmalar eklendiği için bu öngörü doğru çıkmadı
- Kernel panic uygulaması sadece 5 satır: "kernel panic: neden" yazdırıp
for(;;) ile sistemi durduruyor
- Çekirdek alanında
fork(2) çağrısı yapılıyor gibi görünen bir bölüm var
- Öyle görünse de, aslında ondan önce gelen
move_to_user_mode() bir hile
- Linus’un elinde 8 MB’tan fazla RAM’e sahip bir makine yoktu (kendisinde olmadığı için test edemediğini, olanların denemesini söyledi)
- Modern toolchain’lerle derlemek zor
- GCC geriye dönük uyum sunsa da bu yeterli değil
- Linus’un,
-mstring-insns adlı seçeneğe sahip kendi GCC’si vardı (muhtemelen x86 string komutlarını destekleyen bir seçenekti)
2 yorum
İlginçmiş.
Hacker News görüşleri
countermekanizmasının nasıl çalıştığı açıklanıyor; bir iş çalıştırılabilir durumda değilse değerin 2 * önceliğe kadar üstel olarak azaldığı öne sürülüyor.