Linux’un Kısa Tarihi

Merhabalar arkadaşlar, yaptığım Ubuntu paylaşımlarından dolayı bir yazı kaleme almak istedim.

Ubuntu, Linux çekirdeğini temel alarak geliştirilen açık kaynak kodlu, özgür ve ücretsiz bir işletim sistemidir.

Hadi başlayalım O zaman Linux nedir ?

Giriş

Günümüzde “Linux” kelimesinin kullanımı aslında Linux çekirdeği etrafında kurulmuş işletim sistemi dağıtımlarına verilen genel adlardan biridir. Ama aslında Linux yalnızca işletim sistemi çekirdeğinin kendisidir. Tam bir işletim sistemi oluşturabilmek için günümüz dağıtımları(Bkz.Ubuntu) genellikle GNU (GNU is Not Unix) projesinden ve diğer kaynaklar tarafından oluşturulmuş araç ve kütüphaneleri kullanırlar.

Günümüzde Linux çekirdeği kullanılarak birden çok ürün geliştirilmiştir. Bunlara örnek göstermek gerekirse çekirdek üzerinde işletim sistemini çalıştıran Chromebook’lar gibi uygun fiyatlı cihazların geliştirilmesinde rol oynamıştır. Bunun haricinde günümüzde popüler olan Android işletim sistemi aslında Linux çekirdeğini kullanmaktadır. Bulut bilgisayar ve sunucu ortamlarında, pratik nedenlerden dolayı popüler bir seçimdir:

  • Güncel dağıtımları olmakla birlikte diğer geliştirici toplulukları tarafından desteklenmektedir.
  • Geniş donanım yelpazesi ile çalışmakla birlikte eski birçok donanımı desteklemektedir.
  • Kaynak gereksinimleri düşüktür.
  • Uygulama geliştiricileri birden çok sunucuya ihtiyaç duyduklarında birbirleri ile uyumluluk seviyeleri yüksektir. (Bulut Sunucu)
  • İşletim sistemi üzerinde engel olmaksızın değişiklik yapılabilir.

Linux ayrıca açık kaynaklı yazılım hareketini temsil eder ve bazı geliştiriciler etik ve pratik nedenlerden dolayı seçerler:

  • Bazı geliştiriciler için Linux’u kullanmak, özgürlüğün işaretlerinden biridir. Bilgiye erişilebilirlik ve özgürlüğü temsil eder onlar için
  • Linux topluluğu bazı geliştiriciler için beraberlik demektir: Bir problem oluştuğunda farklı toplulukların ürettiği kaynaklara ücretsiz ve doğrudan erişebilirsiniz.

Linux’un geliştirici topluluğunda ki rolünü anlamak için makalede Linux’un kısa bir geçmişini Unix yoluyla özetleyecek ve bazı popüler Linux dağıtımlarını tartışacağız.

Unix’teki Kökler

Linux’un kökleri Unix ve Multics’tir, bu iki proje güçlü bir Multi-User işletim sistemi geliştirme amacını paylaşır.

Unix Başlangıcı

Unix’im temelleri MIT, AT&T ve Bell Lavaratuvarlarında’da geliştirilen Multics(Multiplexed Operating and Computing System [Çoğullandırılmış İşletim ve Bilgisayar Sistemi]) projesi ile atılmıştır. MULTICS projesinde hedeflenen şey birden çok kullanıcının bilgisayar erişimine izin vererek eş zamanlı veri paylaşımını gerçekleştirebilmekti. Bunun yanında tek düzey depolama ve hiyerarşik bir dosya sistemi hedeflenmekteydi.

Bell Laboratuvarı ve AT&T, 1969 yılında Multics projesinin finansmanını durdurma kararı almasına rağmen Ken Thompson ve Dennis Ritchie’nin de aralarında bulunduğu bir grup araştırmacı projenin temel ilkeleri ile çalışmaya devam etti. Ken Thompson’ın aynı yıl Multics yazılımını simüle eden bir dosya sistemini kodlamasıyla Unix’in ilk sürümü olan UNICS’i çıkarmıştır. Bu sürüm assembler ile yazılmış olup sadece yazıldığı tür bir makinede çalışan versiyondu. 1973 yılına gelindiğinde ise Unix’i taşınabilir hale getiren C dilini Thompson ve C derleyicisinin atası Dennis Ritchie ile birlikte tekrar kodlayarak Unix’in 5.sürümünü geliştirdiler. Böylelikle bu çağdaş işletim sistemi C dili sayesinde çeşitli donanımlarda tekrar derlenip çalışması sayesinde taşınabilir bir işletim sistemine dönüşmüştür.

1978 yılında Unix İşletim Sistemi 7. sürümüyle birlikte gelişimini iki farklı çizgide gerçekleştirecekti.  Bunlardan birisi de günümüze kadar gelen BSD dağıtımlarıdır. California Berkeley Üniversitesinde’ki araştırma grubu tarafından geliştirilen BSD dağıtımından Steve Jobs NextStep işletim sistemini geliştiriyor ve NextStep Mac Os işletim sisteminin atası oluyor.

Linux Evrimi

Unix, geliştiriciler için önemli soruları gündeme getirmesine karşın ilk iterasyonlarda tescilli olarak kaldı. Tarihin bundan sonraki evresi ise geliştiricilerin özgür ve açık kaynaklı alternatifler yaratmak için nasıl çalıştığını anlatıyor.

Açık Kaynak Denemeleri

Linux’tan daha önce, 1984’te yine Unix mimarisiyle uyumlu özgür yazılım projesi geliştirmek isteyen Richard Stallman MIT’deki görevini bırakmış ardından GNU(GNU Unix Değildir) adını verdiği işletim sistemini geliştirmeye başlamıştır. 1991 yılına gelindiğinde kullanıcı araçları hazır ancak çekirdek yazılımı eksik bir işletim sistemi geliştirmiştir.

Yine 1991 yılında Finlandiyalı bir üniversite öğrencisi olan Linux Torvalds tarafından Unix’in mimarisine ve Posix standartlarına uygun şekilde sıfırdan Linux yazılımı geliştirilmiştir. Geliştirilmesinde Unix mimarisinden esinlenmiş olsada Unix’ten alınmış herhangi bir kod bulunmamaktadır. Torvalds tarafından geliştirilen bu yazılım, kullanıcı araçları olmayan sadece bir çekirdek yazılımdır.

1992 yılına gelindiğinde Linus Torvalds geliştirdiği çekirdek yazılımı olan Linux’u daha fazla geliştirici desteği alabilmek adına özgür yazılım olarak GNU Genel Kamu Lisansı ile yayınlama karar verdi. Böylelikle piyasa bir çekirdek yazılım ve kullanıcı araçları hazır iki adet yazılım bulunmaktaydı. Linux çekirdeği ve GNU tasarısı birbirlerinin eksiklerini tam anlamıyla tamamlayarak tam bir işletim sistemi olarak sunulabilir hale gelmiştir. Bu işletim sistemi 1994 yılında GNU bülteninde “Özgür UNIX Benzeri” olarak duyuruldu.

Linux’un Temel Özellikleri

Linux çekirdeği Unix’ten çok sayıda mimari miras alsa da aşağıdaki gibi farklılıklar gösterir:

  • Çekirdek işletim sisteminin diğer bileşenlerinden bağımsız olarak geliştirilebilir. Bu Linux’un bütün bir işletim sistemi oluşturmak için çeşitli kaynaklar ile (GNU gibi) birlikte çalıştığı anlamına gelir.
  • Ücretsiz ve açık kaynaktır. Geliştiriciler topluluğu tarafından korunan çekirdek GNU Genel Kamu Lisansı altından lisanslanır ve indirilip değiştirilebilir. Fakat GPL, geliştirme çalışmalarının orjinal yazılım lisans koşullarını koruması şartı vardır.
  • Unix’e benzer tek parça çekirdeğe sahiptir ancak istenirse çekirdek kodunu dinamik olarak yükleyebilir ve kaldırabilir.
  • Geleneksel Unix uygulamalarının aksine simetrik çok işlemci(SMP) desteği vardır. Bunun anlamı tek bir işletim sisteminin ana belleğini kullanan ve tüm I/O aygıtlarına erişebilen birden çok işlemciye erişebileceği anlamına gelir.(Günümüz 2 ve üzeri işlemci desteği olan anakartlar)
  •  Komut Satır Arayüzü (CLI) ve ayrıca bir Grafik Kullanıcı Arayüzü (GUI) içerebilir.

Popüler Linux Dağırımları

Geliştiriciler günümüzde pek çok popüler Linux dağıtımını destek vermektedir. En uzun süredir ayakta duran Debian, 50.000+ yazılım paketine sahip ücretsiz ve açık kaynaklı bir dağıtımdır. Debian, Canonical Ltd. tarafından finanse edilen Ubuntu dağıtımına da ilham kaynağı olmuştur. Ubuntu, Debian’ın deb paket formatı ve paket yönetim araçlarını kullanmaktadır.

Red Hat, Fedora ve CentOS arasında da benzer ilişkiler vardır. 1993 yılında Red Hat dağıtımı oluşturuldu ve on yıl sonra tüm tecrübelerini GNU öğelerini kullanan topluluk tabanlı Red Hat Enterprise Linux ve Fedora’ya aktardı. Fedora çoğunlukla masaüstü kullanıcı için popüler olmuş bir yazılım olmakla birlikte ayrıca web sunucuları için bir başka Linux dağıtımı olan CentOS Projesi ile de bir ilişki içermektedir.Ancak bu ilişki ücretli bakımları içermez ve Debian gibi CentOS da geliştiriciler topluluğunda bulunur.

Sonuç

Bu yazıda, Linux’un ve Unix’in köklerini ve bazı başlı özelliklerini ele aldık. Daha fazla şey merak ediyorsanız beni takip etmeye devam edin 🙂

 

%d blogcu bunu beğendi: