Linux çekirdeği neredeyse 25 yaşında . 1991'den bu yana Linux çekirdeğinin gelişim tarihinin kısa bir versiyonunu (başlangıç tarihi) ve 1994'ten bu yana parçacık halinde (1.0.0) gelmek zorunda kalsaydım, yapamadım. Her çekirdek sürüm notunu okumak için yapabileceğim en iyi şey, 3.11 sürümüne kadar çekirdeğe eklenen genel sürüm özellikleri olan aşağıdakileri sağlamak olacaktır (notlar ve bağlantılar atlanmıştır):
- Linux çekirdeğinin 1.0 sürümü 14 Mart 1994'te piyasaya sürüldü. Linux çekirdeğinin bu sürümü yalnızca tek işlemcili i386 tabanlı bilgisayar sistemlerini destekledi. Taşınabilirlik bir sorun haline geldi ve bu nedenle 1.2 sürümü (7 Mart 1995'te yayınlandı) Alpha, SPARC ve MIPS mimarilerine dayanan işlemcileri kullanan bilgisayar sistemleri için destek kazandı.
- Sürüm 2.0 9 Haziran 1996'da yayınlandı. Dizide 41 sürüm vardı. 2.0'ın en önemli özelliği SMP desteği (yani tek bir sistemde birden fazla işlemci desteği) ve daha fazla işlemci türü desteği idi.
- Sürüm 2.2 (26 Ocak 1999'da piyasaya sürüldü) genel spinlock'u kaldırdı ve gelişmiş SMP desteği sağladı ve m68k ve PowerPC mimarileri ile yeni dosya sistemleri (Microsoft'un NTFS'si için salt okunur destek dahil) için destek ekledi.
- 4 Ocak 2001'de yayınlanan 2.4.0 sürümü , ISA Tak ve Kullan, USB ve PC Kartları için destek içeriyordu. Ayrıca Hewlett-Packard'ın PA-RISC işlemcisi için destek içeriyordu. 2.4.x için geliştirme, dizi boyunca daha fazla özellik sunulduğu için biraz değişti: Bluetooth desteği, Mantıksal Birim Yöneticisi (LVM) sürüm 1, RAID desteği, InterMezzo ve ext3 dosya sistemleri.
- Sürüm 2.6.0 , 18 Aralık 2003 tarihinde piyasaya sürüldü. 2.6.x için geliştirme, serinin süresi boyunca yeni özelliklerin dahil edilmesi yönünde daha da değişti. 2.6 serisinde yapılan değişiklikler arasında: µClinux'un ana hat çekirdek kaynaklarına entegrasyonu, PAE desteği, birkaç yeni CPU hattı desteği, ALSA'nın ana hat çekirdek kaynaklarına entegrasyonu, 2 32 kullanıcıya kadar destek ( en fazla 2 16 ), en fazla 2 29 işlem kimliği desteği (yalnızca 64 bit, 32 bit kemerler hala 2 15 ile sınırlıdır), cihaz türlerinin sayısını ve her türden cihaz sayısını önemli ölçüde artırdı, gelişmiş 64 bit desteği, 16 terabayta kadar dosya boyutlarını destekleyen dosya sistemleri desteği, çekirdek içi önleme, Yerel POSIX İş Parçacığı Kitaplığı desteği (NPTL), Ana hat çekirdek kaynaklarına kullanıcı modu Linux entegrasyonu, ana hat çekirdek kaynaklarına SELinux entegrasyonu, InfiniBand desteği ve çok daha fazlası. 2.6.x sürümleri boyunca birkaç dosya sisteminin eklenmesi de dikkat çekicidir: FUSE, JFS, XFS, ext4 ve daha fazlası. 2.6 çekirdek serisinin geçmişi hakkındaki ayrıntılar, kernel.org'un 2.6 çekirdek serisi kaynak kodu sürüm alanındaki ChangeLog dosyalarında bulunabilir.
- Sürüm 3.0 , 22 Temmuz 2011'de yayınlandı. Torvalds, büyük değişikliğin "HİÇBİR ŞEY. Kesinlikle hiçbir şey" olduğunu açıkladı. 30 Mayıs 2011 Torvalds'ın "... bir sonraki sürümü sadece tamamen yeni bir parlak sayı değil, aynı zamanda iyi bir çekirdek de yaptığımızdan emin olalım." Beklenen 6-7 haftalık geliştirme sürecinden sonra, Linux'un 20. yıldönümü yakınında piyasaya sürülecekti.
- Aralık 2012'de Torvalds, i386 işlemcilere yönelik desteği kaldırarak çekirdek karmaşıklığını azaltmaya karar verdi ve 3.7 çekirdek serisini orijinal işlemciyi hala destekleyen son seri haline getirdi . Aynı seri ARM işlemcisi için birleşik destek.
- 2 Eylül 2013'te yayımlanan 3.11 sürümü , geçici dosya güvenlik açıklarını azaltmak için yeni O_TMPFILE bayrağı (2), deneysel AMD Radeon dinamik güç yönetimi, düşük gecikmeli ağ yoklaması ve zswap (sıkıştırılmış takas önbelleği) gibi birçok yeni özellik ekler.
Ben de uzun yıllar şimdi de ekleyebilirim ki Linux Vakfı edilmiş raporlama çekirdek gelişimi üzerinde. Bunlar 2012-2013 Çekirdek Gelişiminde Öne Çıkanlar:
- 536 şirketi (bildiğimiz) temsil eden 3.738 bireysel geliştiriciden neredeyse 92.000 değişiklik kümesi birleştirildi.
- Ana hatta çok sayıda önemli yeni özellik birleştirildi. Bunlar arasında tam sorunsuz çalışma, kullanıcı ad alanları, ARM için KVM ve Xen sanallaştırma, programlayıcıda varlık başına yük takibi, kullanıcı alanı kontrol noktası / yeniden başlatma, 64 bit ARM mimari desteği, F2FS flash odaklı dosya sistemi, amaçlanan birçok ağ iyileştirmesi bulunur gecikme ve bufferbloat problemlerinde, blok depolama cihazları için hızlı önbellekleme sağlayan iki bağımsız alt sistem ve çok daha fazlası.
- Android'e özgü çekirdek özellikleri üzerindeki uzun süredir devam eden kavga tamamen arka plana dönüştü. Çok tartışılan "wakelocks" özelliğinin yerini en yeni Android cihazlarda kullanılan farklı bir ana hat çözümü aldı.
- Geliştirme çekirdeklerindeki hataları bulmak için otomatik araçların kullanımı bu dönemde önemli ölçüde artmıştır. "Üçlü" fuzz test cihazı ve sıfır gün oluşturma ve önyükleme sistemi gibi araçlar, yayın öncesi çekirdeklerde çok sayıda hata buluyor, geliştirme döngüsünü kısaltıyor ve topluluğun daha kaliteli sürümler sunmasını sağlıyor.
- Mobil ve yerleşik endüstrilerin katkıları artmaya devam ediyor. Örneğin Linaro, Samsung ve TI birlikte bu yazının önceki versiyonundaki değişikliklerin% 4.4'üne katkıda bulundu; 3,10'a kadar olan dönemde, tüm değişikliklerin neredeyse% 11'ine katkıda bulunmuşlardır.
- Çekirdek projesi, Kadınlar için Sosyal Yardım Programına ilk kez katıldı ve 7 mevcut pozisyon için 41 başvuruya yol açtı. Başvuru işlemi sırasında çekirdeğe 374 düzeltme eki gönderilmiş ve bu düzeltme eklerinin 1 / 3'ünden fazlası 3,10 çekirdek sürümünde kabul edilmiştir. Stajyerlik süreci devam etmektedir, ancak bunun sonuçları gelecekteki çekirdek piyasaya sürülene kadar ortaya çıkmayacaktır.
Dahası, bireysel taahhütlerin ötesinde metriklere sahip olduğumuz için çekirdeğe ne olduğunu ölçmek çok zor değil . Örneğin, 1994'teki 1.0.0 çekirdeğin 176 250 kod satırına sahip olduğunu biliyoruz; 3.10 gibi çağdaş bir çekirdeğin 15 803 499 kod satırına sahip olduğunu biliyoruz. Oldukça fazla. Çekirdek salım sıklığı (3.10 için 63 gün) ve değişim oranı (konuştuğumuzda saatte 9 veya daha fazla komisyon) artmıştır. Linux Vakfı'nı alıntılamak için:
Bu değişim oranını yıllarca devam ettirme yeteneği, daha önceki herhangi bir kamu yazılım projesinde görülmemiş bir durumdur.
Ama bütün bunlar bence çok az fikir veriyor. Bu nedenle şunu sorarım:
- Bir asır evrim bu çeyrek özetle edilebilir nitelikli zamanla bu çekirdeği oluşturan tüm listelenmiş özelliklerin doğrusal ek ötesinde?
- Ve bu Linux çekirdeğinin ne hakkında olduğu veya nereye gittiği hakkında bir fikir veriyor mu? 25 yıllık gelişimden sonra kesinlikle bu konuda bazı sonuçlar çıkarılabilir mi?
Layman'ın terimleriyle, her şeyi söylemeye başvurmadan her şeyi söyleyen soyut bir cevap arıyorum.