Hangi komutların Linux için yeniden yazıldığını ve hangilerinin Unix'ten tutulduğunu bilmek isterim?
Hangi komutların Linux için yeniden yazıldığını ve hangilerinin Unix'ten tutulduğunu bilmek isterim?
Yanıtlar:
İşletim sisteminin iki farklı parçasını karıştırdığınız anlaşılıyor. Bu anlaşılabilir bir durumdur, çünkü bunlar genellikle birbirinin yerine geçebilir olarak adlandırılır, ancak teknik olarak yanlıştır, bu nedenle sorunuz hatalı bir öncül üzerine kuruludur. Sormak istediğiniz soruyu tam olarak araştırıp umutla cevaplayabilmek için kısa bir tarih dersine ihtiyaç vardır.
İlk önce, UNIX vardı. Temel olarak, o günlerde, UNIX ilk önce gelen AT&T UNIX Sistemini kastetti . Ancak AT&T UNIX Özgür Değil oldu, bu yüzden Richard Stallman GNU projesini Özgür olan bir Unix sistemi yazmak için başlattı . Dolayısıyla Gnu ismi Unix değil , GNU olarak kısaltıldı. GNU için planlar 1983'te kamuoyuna açıklandı ve 1984'te kalkınma başladı .
1990'ların başında, GNU, UNIX kuruluşlarının çoğunu sıfırdan yeniden uygulamıştı. Vikipedi , genel olarak yeniden yazılmayan birkaç bileşeni listeler (TeX, X Window Sistemi ve Mach mikro çekirdeği, yeniden yazılmayan bileşenlerin örnekleri olarak belirtilmiştir), ancak çoğunlukla, kullanıcı araçları, en baştan karşılamak için sıfırdan yeniden yazılmıştır. herhangi bir AT&T (veya daha doğrusu Ücretsiz olmayan) kodun tekrar kullanılmasının engellenmesinin yanı sıra, komut satırı seçenekleri ekleyerek yeteneklerini genişletme. Sonuç olarak, GNU yardımcı programları düzenli olarak özgün ilham kaynaklarını aldıkları araçlardan daha güçlüydü.
Bu noktada, GNU hala hayati bir bileşeni eksikti: başka bir işletim sistemi çalıştırmayan gerçek bir bilgisayarda her şeyin birlikte çalışmasını sağlayan bir işletim sistemi çekirdeği . 1991 yılında Linus Torvalds, sonunda Linux olarak bilinen bir oyuncak projesi üzerinde çalışmaya başladı. Temelde o zamanki yeni 32-bit Intel 80386 CPU'yu öğrenmek için bir okul projesiydi ve son derece basit bir şekilde başladı, ancak sonunda gerçekten kullanılabilir bir işletim sistemi çekirdeğine dönüşmeye başladı. Ancak herhangi bir kullanıcı yazılımı yoktu; Linux kendi başına kabuk, çekirdek başlatma dışında sistem başlatma imkanı, metin editörü, grafik arayüzü, hiçbir şey sağlamaz. Çekirdek bir araba motoru gibidir; Yararlı bir araba yapmak için gerekli, ancak kendi başına işe yaramaz (faydalı bir araç için, sürücünün oturması için bir yere, yakıt deposuna veya başka bir enerji deposuna vs.) ihtiyacınız var. Linux çekirdeği, GNU yazılımıyla aynı şekilde GNU Genel Kamu Lisansı altında dağıtıldı .
Böylece insanlar ikisini eşleştirmeye başladı. Bir Unix benzeri kullanıcı adasında, birlikte (yakın bir resemblence dahil Unix gelen fikirler etrafında dayalı bir çekirdekle olacaktı POSIX'deki kaynak kodu ile tamamlandı), sen ne kadar istediğini uzakta kesmek olabilir ve bu maliyet şey yoktu . Özellikle Linux dağıtımları yaygınlaşmadan önce , bazı şeylerin işe yaramasını sağlamak biraz zordu, ancak üzerinde biraz zaman harcamak isteyenlerin kullanabileceği kadar bitmişti.
Bu günlerde, GNU kendi çekirdeğini sağlıyor. Muhtemelen duymamışsındır, ama buna GNU Hurd denir . Ancak Hurd 1990'ların başında, Linux hobiler ve tamirciler arasında çekiş kazanmaya başladığında, bu yüzden Linux çekirdeği ve çoğunlukla geliştiriciler arasında en fazla dikkat çeken GNU kullanıcısı olan kombinasyondu.
Ayrıca, bu günlerde, birçok Unix sistemi GNU kullanıcısı ülkesinin bazı bölümlerini yöneticinin kolayca kurmasına veya yüklemesine izin veriyor. GNU bash, GNU Derleyici Koleksiyonu, GNU C kütüphanesi (vanilya ya da yamalı) vb. Gibi şeyleri, başka bir GNU dışı bir sistemde görebilirsiniz.
Sorunları daha da kötü hale getirmek için, bazı sistemler Linux çekirdeğini kullanır ancak GNU kullanıcısı değildir. Bunun yaygın olarak kullanılan bir örneği için , temelde özel bir kullanıcı alanıyla birleşmiş Linux çekirdeği olan Android işletim sistemini düşünün .
Bu önemlidir, çünkü GNU, Linux ve çeşitli Unix'ler arasındaki çizgiyi önemli ölçüde bulanıklaştırır ( sadece bir UNIX var , ancak birçok Unix ve daha fazla Unix benzeri işletim sistemi var ). Linux hakkında soru sorduğunuzda GNU / Linux sistemini gerçekten çok sık soruyorsunuz. Ancak Linux kullanmadan, FreeBSD çekirdeğinin üstünde bir GNU kullanıcısı işleten Debian GNU / kFreeBSD'yi düşünün . Veya örneğin, coreutils dahil olmak üzere çeşitli GNU paketlerini kolayca kurabileceğiniz Solaris . Sanırım Mac OS X de GNU kullanıcısı bölgeleriyle birlikte geliyor. Ya da yukarıda belirtilen Android'i düşünün.
Sonunda, kullanılabilir bir GNU sistemi GNU dışı kod çalıştırabilir ve GNU dışı bir sistem GNU kodunu çalıştırabilir, ancak GNU yardımcı programları GNU olmayan kod içermez.