GNU/Linux Nedir?

GNU/Linux, genellikle GNU Sistem araçlarını kullanan Unix ücretsiz işletim sistemine atıfta bulunmak için kullanılan terimlerden ve gelişimi Özgür Yazılım’ın en önemli örneklerinden biridir. Tüm kaynak kodu, GPL (General Public License/Genel Kamu Lisansı) ve diğer ücretsiz lisanslar çerçevesinde herkes tarafından serbestçe kullanılabilir, değiştirilebilir ve yeniden dağıtılabilir.

GNU/Linux Nedir?

Linux işletim sistemi olmasına rağmen, genellikle GNU araçlarıyla ele alındığından, toplumun önemli bir bölümünün yanı sıra birçok genel ve uzmanlaşmış medya, her iki projenin birliğini ifade etmek için Linux terimini kullanmaktadırlar.

Bu program ve teknoloji birliğinin varyantlarına dağıtım denir. Amacı, belirli bir kullanıcı grubunun ihtiyaçlarını karşılayan sürümler sunmaktır. Bazıları özellikle sunucularda ve süper bilgisayarlarda kullanımlarıyla tanınır. Ancak, masaüstü ve dizüstü bilgisayarlar gibi çok çeşitli donanıma kurmak mümkündür.

Cep bilgisayarlarında, cep telefonlarında, gömülü cihazlarda, oyun konsollarında ve diğerlerinde GNU parçalarının yerini daha uygun alternatifler alabilir.

Terim

GNU (GNU is not Unix) adı, GNU projesi tarafından oluşturulan, 1983 yılında Richard Stallman tarafından başlatılan ve FSF (Özgür Yazılım Vakfı) tarafından sürdürülen temel işletim sistemi araçlarından gelir. Linux adı, başlangıçta Linus Torvalds tarafından 1991 yılında oluşturulan Linux çekirdeğinden gelir.

GNU’nun katkısı, GNU araçlarından ve bir bütün olarak Linux çekirdeğinden oluşan ücretsiz işletim sistemine atıfta bulunmak için Linux veya GNU/Linux kullanımı söz konusu olduğunda tartışmalara neden olur.

Tarih

1983 yılında Richard Stallman tarafından başlatılan GNU projesi, tamamen Özgür Yazılım’dan oluşan eksiksiz bir Unix işletim sistemi geliştirmeyi hedefledi. Linux çekirdeğinin tarihi, GNU projesinin tarihi ile yakından bağlantılıdır. 1991’de Linus Torvalds, MINIX’in ticari olmayan bir yedeği üzerinde çalışmaya başladı.

Linux’un ilk sürümü yayınlandığında, GNU projesi, bir komut yorumlayıcısı, bir C kütüphanesi ve bir derleyici de dahil olmak üzere işletim sistemini yönetmek için temel araçlardan birkaçını üretmişti.

GNU projesini geliştirmeye devam etmek için, geliştiriciler arasında işbirliğine dayalı işbirliğini sürdürme felsefesini takip ederek Linux kullanmaya başladılar.

O zamanlar Helsinki Üniversitesi’nde okuyan Linus Torvalds’ın yarattığı çekirdek, işletim sistemindeki son boşluğu doldurdu.

GNU GPL

Torvalds, Linux çekirdeğini ilk önce, neredeyse paylaşılan bir kaynak lisansı olan ve ticari faaliyet üzerinde kısıtlaması olan kendi lisansı altında yayınladı. 1992’de GNU GPL’ye geçmeyi önerdi. Bu değişikliği ilk olarak 0.12 sürüm notlarında açıkladı ve Aralık 1992 ortasında 0.99 sürümünü yayınladı.

Uygulamalar

Masaüstü ortamlarında geleneksel Unix komut satırı arabirimine alternatif bir grafik arabirim sunar. Şu anda, bir masaüstü aracı olarak uyum sağlamasına izin veren işlevsellik sunan çok sayıda grafik uygulaması var.

Birçok dağıtım, sistemin üzerinde çalıştığı bilgisayarın sabit diskini değiştirmeden doğrudan bir CD/DVD’den önyükleme yapmasına izin verir. Bu tür dağıtımlar için, genel olarak, görüntü dosyaları Internet’ten indirilebilir.

Programlama Sistemi

GNU programlama için yardımcı programların toplanması bu işletim sisteminde en yaygın kullanılan derleyici ailesidir. Diğer birçok dil arasında C, C++, Java ve Ada derleme yeteneğine sahiptir. Ayrıca, çapraz derleme yoluyla çeşitli mimarileri destekler, bu da onu heterojen gelişmeler için uygun bir ortam haline getirir.

Anjuta, KDevelop, Ultimate++, Code::Blocks, NetBeans IDE ve Eclipse gibi çeşitli entegre geliştirme ortamları vardır.

Emacs veya Vim gibi genişletilebilir editörler de var. Ayrıca Classic Shell programlama dilleri veya awk olarak adlandırılan pattern ve regular expression dilleri dışında kodlama dilleri için yeteneklere sahiptir.

Kamu Yetkisi

Ücretsiz yazılım desteğini sunucularını ve masaüstü sistemlerini tamamen veya kısmen taşıyarak veya sübvanse ederek gösteren bir dizi kamu yetkisi vardır. Örnek olarak, Küba Cumhuriyeti tüm iş istasyonlarını Linux’a geçirdi.

GNU/Linux Tanımı

Topluluğun bir kısmı ve birçok medya bu işletim sistemi Linux’u tercih etse de, GNU/Linux, işletim sistemi için diğer geliştiriciler ve kullanıcılarla birlikte GNU Projesi ve FSF tarafından savunulan isimdir. Linux çekirdeğini, GNU projesi ve diğer birçok yazılım projesi tarafından oluşturulan sistem uygulamaları ile birlikte kullanır.

1984’ten beri, Richard Stallman ve birçok gönüllü UNIX benzeri bir operasyonla ücretsiz bir işletim sistemi oluşturmaya çalışmaktaydı ve fonksiyonel bir işletim sistemine sahip olmak için gerekli tüm bileşenleri yeniden oluşturmaktaydı.

90’lı yılların başlarında, projenin başlamasından yaklaşık altı yıl sonra, GNU’nun metin, editörler, derleyiciler, hata ayıklayıcılar, komut istemi, çekirdek bileşen hariç çekirdek gibi birçok önemli aracı vardı.

GNU’nun Hurd adlı kendi temel projesi vardı. Ancak, Linux çekirdeği ortaya çıktığında gelişimi beklendiği gibi devam etmedi. Bu şekilde, minimum gereksinimler tamamlanmış ve bu çekirdeği kullanan GNU işletim sistemi ortaya çıkmıştır.

Bu adın savunucularının ana argümanı, çekirdek (Linux) ile işletim sisteminin geri kalanının (GNU) temel araçlarının büyük bir kısmı arasında meydana gelebilecek olası karışıklığı çözmektir.

Ayrıca GNU adının kullanılmasıyla birlikte, UNIX uyumlu bir işletim sistemi olarak gerekli sistem araçlarını oluşturduğu için tanınacak ve sadece özgür yazılımdan oluşma kalitesi vurgulanacaktır.

FSF, en az Haziran 1994’e kadar bu sistemi “Linux” olarak adlandırdı ve sadece Ocak 1995’ten itibaren GNU/Linux olarak adlandırıldı. Bazı dağıtımlar bu adı desteklerken, Slackware, Gentoo veya Ubuntu gibi dağıtımlar ise Linux tabanlı olarak adlandırılmayı seçer.

Linux Kullanımı ve Özellikleri

Linux, Özgür Yazılım’ın geliştirilmesinde ön plana çıkaran bir dizi özelliğe sahiptir:

  1. Multitasking(Çoklu Görev): Çoklu görev kelimesi, aynı anda birden fazla programı çalıştırma yeteneğini açıklar. Herhangi bir zamanda kullanılan tüm programların yürütülmesini sağlayan önleyici çoklu görev çağrısını kullanır ve işletim sistemi her programa mikroişlemci süresi vermekle sorumludur.
  2. Multiuser(Çok Kullanıcılı): Aynı makineyi aynı anda kullanan birçok kullanıcı.
  3. Multiplatform(Çoklu platform): Linux’un başlangıçta kullanılabileceği platformlar 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga ve Atari, Alpha, ARM, MIPS, PowerPC ve SPARC gibi diğer platformlarda kullanım için versiyonlar da vardır.
  4. Multiprocessor(Çok İşlemcili): Intel ve SPARC için birden fazla işlemciye sahip sistemler için destek mevcuttur.
  5. 386 korumalı modda çalışır ve süreçler arasındaki belleğin korunması sayesinde sistemi kasmaz.
  6. Load executables on demand(İsteğe bağlı olarak yürütülebilir dosyalar yükler): Diskten yalnızca bir programın kullanılmakta olan bölümlerini okur.
  7. Copy-on-write policy for sharing pages between executables(Sayfaları yürütülebilir dosyalar arasında paylaşmak için yazma üzerine kopyalama ilkesi): Bu, birden çok işlemin çalıştırmak için aynı bellek alanını kullanabileceği anlamına gelir. Herhangi biri bu belleğe yazmaya çalıştığında, sayfa başka bir konuma kopyalanır. Bu üzerine yazarak kopyalama ilkesinin iki avantajı vardır: hızı artırır ve bellek kullanımını azaltır.
  8. Diske disk belleği kullanarak sanal bellek: Dosya Sistemindeki bir bölüme veya dosyaya veya her ikisine birden anında takas alanı ekleyebilme özelliğiyle, toplam 16 takas alanı maksimum 128 MB’lik herhangi bir zamanda kullanılabilir. Değişim için 2 Gb’lik teorik bir sınırdır. Bu sınırlama, Kaynak Koddaki birkaç satır değiştirilerek kolayca artırılabilir.
  9. Bellek, tüm boş belleklerin önbellek için kullanılabileceği ve büyük programlar yürütülürken azaltılabileceği şekilde kullanıcı programları ve disk önbelleği için birleşik bir kaynak olarak yönetilir.
  10. Dinamik yük paylaşılan kütüphaneler (DLL) ve statik kütüphaneler.
  11. Ölüm sonrası analizi mümkün kılmak için durum dökümü gerçekleştirilir (core dumps), hata ayıklayıcıların yalnızca çalışan programlarda değil, herhangi bir nedenle iptal edildikten sonra kullanılmasına izin verir.
  12. Kaynak düzeyinde POSIX, System V ve BSD ile uyumludur.
  13. SCO, SVR3 ve SVR4 ile ikili düzeyde neredeyse tamamen uyumlu iBCS2 öykünmesi.
  14. Tam çekirdek ve tüm sürücüler, geliştirme araçları ve tüm kullanıcı programları dahil olmak üzere tüm kaynak kodu kullanılabilir. Ayrıca, bunların tümü serbestçe dağıtılabilir. Şu anda kaynak kodu olmadan sunulan bazı ticari programlar var.
  15. POSIX görev kontrolü.
  16. Pseudo-terminals(Yalancı terminaller) – (pty’ler).
  17. Çekirdekte 387 öykünme, bu nedenle programlar kendi matematik öykünmelerini yapmak zorunda değildir. Linux çalıştıran herhangi bir makinenin matematiksel bir işlemcisine sahip olduğu görülür. Tabii ki, bilgisayarda zaten bir FPU (floating-point unit/kayan nokta birimi) varsa, bu öykünme yerine kullanılacak, hatta matematiksel öykünme olmadan kendi çekirdeğini bile derleyebilecek ve küçük bir bellek tasarrufu sağlayabilecektir.
  18. Birçok ulusal veya uyarlanmış klavyeyi destekler ve dinamik olarak yeni klavye eklemek için yeterince kolaydır.
  19. Multiple Virtual Consoles(Çoklu Sanal Konsollar): Konsol üzerinden uygun tuş kombinasyonları ile değiştirilebilen çoklu oturumlar. Dinamik olarak oluşturulur ve 64 adede kadar sahip olabilirsiniz.
  20. Minix-1, Xenix ve tüm tipik System V dosya sistemleri de dahil olmak üzere birçok yaygın dosya sistemi desteği ve 4 TB’a kadar kapasiteye sahip kendi gelişmiş dosya sistemine ve 255 karakter uzunluğuna kadar dosya adlarına sahiptir.
  21. Özel bir dosya sistemi aracılığıyla MS-DOS bölümlerine (veya OS/2 FAT bölümlerine) şeffaf erişim: MS-DOS bölümünü kullanmak için özel bir komut gerekmez, bu normal bir Unix dosya sistemine benziyor.
  22. Sıkıştırılmış MS-DOS 6 bölümlerine şu anda erişilemiyor ve gelecekte olması beklenmiyor. VFAT desteği geliştirme çekirdeğine eklendi ve bir sonraki kararlı sürümde olacak.
  23. Linux’un bir DOS dosya sistemine yüklenmesine izin veren UMSDOS adlı özel bir dosya sistemi.
  24. Tüm standart CD-ROM formatlarını okuyan CD-ROM dosya sistemi.
  25. TCP/IP, FTP, Telnet, NFS, Appletalk vb.
  26. Netware istemci ve sunucu yazılımı.
  27. Lan Yöneticisi / Windows Native/Yerel (SMB), istemci ve sunucu yazılımı.
  28. Çekirdeğe dahil olan çeşitli ağ protokolleri: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, vb.

   İlgili Yazılar


CD
BOOTP
NTP Nedir?
Bilgisayar
DVD

Add a Comment

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