Linux'un kısa tarihi

0 Hisse senetleri
0
0
0
0

giriiş

Yaygın kullanımda "Linux", genellikle Linux çekirdeği üzerine kurulu bir işletim sistemi dağıtım grubunu ifade eder. Ancak daha spesifik bir anlamda, Linux yalnızca çekirdeğin kendisini ifade eder. Eksiksiz bir işletim sistemi oluşturmak için, Linux dağıtımları genellikle GNU projesi ve diğer kaynaklardan araçlar ve kütüphaneler içerir. Son zamanlarda, daha fazla geliştirici mobil uygulamalar geliştirmek ve çalıştırmak için Linux'u kullanıyor; işletim sistemi ayrıca, çekirdeğin üzerinde işletim sistemleri çalıştıran Chromebook'lar gibi uygun fiyatlı cihazların geliştirilmesinde de önemli bir rol oynamıştır. Bulut bilişim ve genel olarak sunucu ortamlarında, Linux belirli operasyonel nedenlerle popüler bir tercihtir:

  • Dağıtımları günceldir ve diğer geliştirici toplulukları tarafından desteklenmektedir.
  • Bu işletim sistemi çok çeşitli donanımlarda çalışabilir ve mevcut sistemlerin yanına kurulabilir (yerel geliştirme ortamlarında kullanışlı bir özellik).
  • Önceden oluşturulmuş depolarından yazılımların merkezi olarak kurulumunu destekler.
  • Kaynak gereksinimi düşüktür.
  • Geliştiriciler programlama ekosistemleri ve sunucular için gereken araçları oluştururken genellikle ilk tercihleri Linux oluyor ve bu da yüksek uyumluluğa yol açıyor.
  • İşletim sistemi davranışlarında gerekli değişiklikleri yapmanıza olanak tanır.

Linux'un kökleri özgür ve açık kaynaklı yazılım hareketine dayanır ve bu nedenle bazı geliştiriciler onu etik ve operasyonel nedenlerle kullanır:

  • Bazı geliştiriciler için Linux kullanmak, açık erişime ve ifade özgürlüğüne bağlılık anlamına geliyor.
  • Linux topluluğu da bazı geliştiriciler için ilgi çekicidir: Bir soruları olduğunda, bu topluluk tarafından üretilen kaynaklara başvurabilir veya doğrudan aktif bakımcılardan biriyle iletişime geçebilirler.

Linux'un geliştirici topluluğundaki (ve ötesindeki) rolünü anlamak için bu makale Linux'un Unix üzerinden kısa bir tarihini özetliyor ve bazı popüler Linux dağıtımlarını inceliyor.

Unix'teki Kökler

Linux'un kökleri, sağlam bir çok kullanıcılı işletim sistemi geliştirmeyi amaçlayan iki proje olan Unix ve Multix'e dayanır.

Unix'in başlangıcı

Unix, Bell Labs Bilgisayar Bilimleri Araştırma Merkezi'ndeki Multix projesinden geliştirilmiştir. Bell Labs ve diğer yerlerde Multix üzerinde çalışan geliştiriciler, tek seviyeli depolama, dinamik bağlantı (çalışan bir işlemin, sistemden adres alanına başka bir bölüm eklemesini isteyebildiği ve böylece o bölümden kod çalıştırabildiği) ve hiyerarşik bir dosya sistemine sahip çok kullanıcılı bir işletim sistemi oluşturmakla ilgileniyorlardı.

Bell Labs, Multix projesine 1969'da fon sağlamayı bıraktı, ancak Ken Thompson ve Dennis Ritchie de dahil olmak üzere bir grup araştırmacı projenin orijinal prensipleri üzerinde çalışmaya devam etti. 1972-73 yıllarında sistemi C dilinde yeniden yazmaya karar verdiler ve bu da Unix'i benzersiz bir şekilde taşınabilir hale getirdi: diğer çağdaş işletim sistemlerinin aksine, Unix donanımından taşınabilir ve onu canlı tutabilirdi.

Bell Labs'da (daha sonra AT&T) araştırma ve geliştirme devam etti ve Unix Systems Labs, Sun Microsystems ile iş birliği içinde ticari Unix satıcıları tarafından yaygın olarak benimsenen Unix sürümleri geliştirdi. Bu arada, akademik çevrelerde, özellikle de Kaliforniya Üniversitesi, Berkeley'deki Bilgisayar Sistemleri Araştırma Grubu'nda araştırmalar devam etti. Bu grup, çoğu bugün hala kullanımda olan çeşitli işletim sistemlerine ilham veren Berkeley Yazılım Dağıtımı'nı (BSD) üretti. İki tarihi BSD dağıtımı arasında, NeXT tarafından geliştirilen ve macOS ve diğer ürünlerin temeli haline gelen bir işletim sistemi olan NeXTStep ve Linux'u geliştirirken Linus Torvalds için bir ölçüt haline gelen bir eğitim işletim sistemi olan MINIX yer alıyor.

Unix'in Temel Özellikleri

Unix, açıklık, taşınabilirlik ve eşzamanlılık ilkelerine odaklanır.

  • Çözünürlük: Unix'in modüler tasarımı, işlevlerin sınırlı ve belirli bir şekilde yürütülmesine olanak tanır. Dosya sistemi birleşik ve hiyerarşiktir, bu da veri işlemeyi basitleştirir. Bazı öncüllerinin aksine, Unix yüzlerce (binlerce değil) sistem çağrısı uygular ve bunların her biri doğrudan ve açık bir amaca hizmet eder.
  • Taşınabilirlik: Bell Labs ekibi, Unix'i C dilinde yazarak yaygın kullanıma ve benimsenmeye hazırladı. C, sığ bellek erişimi, minimum çalışma zamanı desteği ve dil ile makine komutları arasında verimli bir ilişki sağlayacak şekilde tasarlanmıştı. Unix'in C temeline dayanması, işletim sisteminin uyarlanabilir olmasını ve çeşitli donanımlarda kolayca çalışabilmesini sağladı.
  • Senkronizasyon: Unix çekirdeği, birden fazla kullanıcıyı ve iş akışını desteklemek üzere (Multix projesiyle iş birliği içinde) özel olarak tasarlanmıştır. Unix'teki çekirdek alanı, kullanıcı alanından farklıdır ve birden fazla programın aynı anda çalışmasına olanak tanır.

Linux'un Evrimi

Unix, geliştiriciler için önemli sorular ortaya çıkarsa da ilk sürümlerinde hâlâ özel mülkiyetti. Dolayısıyla, tarihinin bir sonraki bölümü, geliştiricilerin çerçeve içinde ve çerçeveye karşı nasıl çalıştığının ve özgür ve açık kaynaklı alternatiflerin yaratılmasına nasıl yol açtığının hikayesidir.

Açık kaynak deneyleri

Richard Stallman, Unix'e özel mülkiyet içermeyen alternatifler geliştirmek için ilham alan geliştiriciler arasında önemli bir isimdi. MIT Yapay Zeka Laboratuvarı'nda çalışırken, GNU Projesi ("GNU Unix Değildir!" anlamına gelir) üzerinde çalışmaya başladı ve sonunda 1984'te laboratuvardan ayrılarak GNU bileşenlerini özgür yazılım olarak dağıttı. GNU HURD olarak bilinen GNU çekirdeği, 1985 yılında kurulan ve Stallman tarafından yönetilmeye devam eden Özgür Yazılım Vakfı'nın (FSF) odak noktası haline geldi.

Bu arada, bir başka geliştirici de Unix'e özgür bir alternatif üzerinde çalışıyordu: Finlandiyalı bir lisans öğrencisi olan Linus Torvalds. MINIX lisansından bıktıktan sonra, Torvalds 25 Ağustos 1991'de MINIX Kullanıcı Grubu'na MINIX'e benzer bir işletim sistemi geliştirdiğini duyurdu. Çekirdek başlangıçta GNU C derleyicisi kullanılarak MINIX üzerinde geliştirilmiş olsa da, Linux çekirdeği hızla özgün bir proje haline geldi ve bir geliştirici ekibi 1994'te 1.0 sürümünü yayınladı.

Linux'un Temel Özellikleri

Linux çekirdeği Unix'in birçok hedefini ve özelliğini miras alsa da, önceki sistemden şu açılardan farklıdır:

  • Temel bileşeni, diğer işletim sistemi bileşenlerinden bağımsız olarak geliştirilen çekirdektir. Bu, Linux'un eksiksiz bir işletim sistemi oluşturmak için farklı kaynaklar (örneğin GNU) kullandığı anlamına gelir.
  • Özgür ve açık kaynaklı bir işletim sistemidir. Çekirdeği, GNU Genel Kamu Lisansı (FSF'nin GNU projesi üzerindeki çalışmalarının bir sonucu) kapsamında lisanslanmıştır ve indirilebilir ve değiştirilebilir. GPL, türev çalışmaların orijinal yazılımın lisans koşullarını koruması gerektiğini şart koşar.
  • Linux, Unix'e benzer monolitik bir çekirdeğe sahiptir, ancak çekirdek kodunu dinamik olarak yükleyebilir ve boşaltabilir.
  • Bu işletim sistemi, geleneksel Unix uygulamalarının aksine, çoklu işlemcileri (SMP) destekler.
  • Çekirdeğinin öngörülebilir olması Unix'ten bir diğer farkıdır.
  • Çekirdeği, thread'ler ile normal process'ler arasında ayrım yapmaz.
  • Bu işletim sisteminin bir komut satırı arayüzü (CLI) vardır ve ayrıca bir grafiksel kullanıcı arayüzü (GUI) de olabilir.

Popüler Linux dağıtımları

Geliştiriciler günümüzde birçok popüler Linux dağıtımını sürdürmektedir. Bunların arasında en eskilerinden biri, 50.000 yazılım paketi içeren özgür ve açık kaynaklı bir dağıtım olan Debian'dır. Debian, Canonical Ltd. tarafından finanse edilen bir diğer popüler dağıtım olan Ubuntu'ya ilham kaynağı olmuştur. Ubuntu, Deb paket biçimini ve Debian'ın paket yönetim araçlarını kullanır ve Ubuntu geliştiricileri Debian'a değişiklikler katarlar.

Red Hat, Fedora ve CentOS arasında da benzer bir ilişki vardır. Red Hat, 1993 yılında kendi Linux dağıtımını oluşturdu ve on yıl sonra çalışmalarını Red Hat Enterprise Linux ve GNU projesinden Linux çekirdeği ve bileşenlerini kullanan topluluk tabanlı bir işletim sistemi olan Fedora arasında böldü.

Sonuç

Bu yazıda, Linux'un Unix'teki kökenlerini ve onu tanımlayan bazı özelliklerini ele aldık. Linux ve Unix türevlerinin (FreeBSD dahil) tarihi hakkında daha fazla bilgi edinmek istiyorsanız, FreeBSD hakkındaki makale serimiz iyi bir başlangıç noktası olabilir. Ayrıca Linux'a Başlarken serimize de göz atabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Şunları da Beğenebilirsiniz