UNIX ve LINUX İşletim Sistemlerinin Tarihsel Gelişimi
1960’larda AT&T’nin Bell Laboratuarları,MIT ve General Electric’ın ortaklaşa yürüttükleri bir projede “Multics” isimli bir işletim sisteminin patentini aldılar. Bell Laboratuarı bu projeden çekilene kadar iki çalışanı, Dennis Ritchie ve Ken Thompson, bu projede çalıştı. Bell Laboratuarları bu projeden çekildikten sonra bu iki kişi yeni bir projede bir işletim sistemi ortaya çıkardılar. İşletim sistemine “Multics” adından esinlenerek “Unics” ismi takıldıysa da daha sonraları bu isim UNIX olarak değiştirildi.
UNIX’in en temel özelliği Dennis Ritchie tarafından yaratılan C dili ile oluşturulmasıydı. İşletim sistemleri o güne kadar sistemin mimarisine bağlı olan makine dili ile yazılmaktaydı. UNIX işletim sistemi makine dili yerine C dili temel alınarak kodlanmıştı. Bu da işletim sisteminin diğer platformalara taşınmasını kolaylaştırıyordu.
UNIX işletim sistemi duyulmaya başladıktan sonra başta üniversiteler olmak üzere birçok kişi ve kurumun ilgisini çekti. Özellikle üniversitelerin bilgisayar bilimleri bölümlerinde okuyan ve çalışan kişilerin desteği ile birlikte UNIX kısa zamanda büyük bir ilerleme kaydetti. Bunun sonucu olarakta en önemli bilgisayar işletim sistemi unvanını eline geçirdi.
1980’lerin başında AT&T UNIX işletim sisteminden para kazanma yoluna gitti ve işletim sistemini özel lisanslar ile pazarlamaya başladı. UNIX’in ortaya çıktığı günden itibaren işletim sisteminin gelişmesine yardımda bulunan birçok kişi bu karara karşı çıktı. Bunun üzerine amacı UNIX benzeri ve parasız dağıtılabilen bir işletim sistemi ortaya çıkarmak olan GNU projesi Richard Stallman tarafından başlatıldı. GNU’yu desteklemesi için 1984 yılında Stallman ve arkadaşları “Free Software Foundation (FSF)” projesini yarattılar. FSF’te “free” ile anlatılmak istenen bedava olan yazılımdan çok özgürce dağıtılan yazılım manasını taşımaktaydı. FSF’e göre herhangi bir amaç için kullanılabilen, kopyalanıp üzerinde gerekli değişiklik yapılabilen ve daha gelişmiş bir yazılım sistemine dahil edilebilen yazılım, serbest yazılım(free software) olarak kabul edilmişti. Bu özgürlükler için temel olarak gereken şey yazılımın koduna erişimdi. Bu yüzden bu akım aynı zamanda “Kaynak Kodu Açık Yazılım – Open Source Software (OSS)” olarak da anılır. Linux günümüzde bulunan en büyük kaynak kodu açık yazılımdır.
Linux’un ortaya çıkışı
AT&T UNIX işletim sistemini para ile lisanslayana kadar, UNIX üniversitelerde bilgisayar bilimi öğrencilerine işletim sistemlerini öğretmek için kullanılan bir araçtı. AT&T’nin yaptığı değişiklik sonrası üniversitelerin yeni bir işletim sistemine ihtiyacı ortaya çıktı. Bunun üzerine Andrew Tannenbaum UNIX benzeri bir işletim sistemi olan MINIX işletim sistemini ortaya çıkardı.
1990 yılında Finli bilgisayar bilimi öğrencisi Linus Torvalds Intel mimarisindeki bilgisayarlar için hafıza yönetimi yapan bir yazılım üzerinde çalışmaya başladı. Bir zaman sonra bu projesinin genişletilmiş halinin UNIX çekirdeği gibi çalışabileceğini fark etti. 1991 yılında comp.os.minix haber grubuna üzerinde çalıştığı projeyi bildiren ve geliştirme için öneri isteyen bir mesaj gönderdi. Torvalds bu yeni işletim sistemine Linus’un MINIX’i olarak tanımladığı LINUX adını verdi. Unix üzerinde program geliştiren kişilerden Linux’un geliştirilmesi için yardım teklifleri gelmeye başladı. Linux’un bir önemli yanı ise GNU projesinin eksik olan bir parçasını doldurmasıydı. GNU projesi çerçevesinde yaratılacak olan Unix benzeri işletim sisteminin çoğu parçaları bitmişti. Yapılmayan en önemli parça işletim sisteminin çekirdeği idi. Bu eksikte Linux tarafından kapatılmış oldu. 1994 yılında Linux 1.0 serisi kernel GPL lisansı altında yayınlandığında, Linux 100,000 kullanıcıya erişmişti. Günümüzde Linux’un milyonlar ile belirtilen bir kullanıcı kitlesi bulunmakta. Son kullanıcı pazarında da gün geçtikçe güçlenmesine rağmen Linux günümüzde çoğunlukla sunucularda kullanılan bir işletim sistemidir. Yapılan araştırmalarda Internet’te bulunan web sunucularının büyük çoğunluğu Linux işletim sistemi üzerinde çalışmaktadır.
Linus Torwalds’ın comp.os.minix Haber Grubuna attığı mesaj
Kimden: torvalds.klaava.Helsinki.FI (torvalds.klaava.Helsinki.FI) (Linus Benedict Torvalds)
Habergrupları: comp.os.minix
Konu: Minix’te en çok ne olmasını isterdiniz?
Özet: Yeni işletim sistemim için küçük bir çağrı
Mesaj No: <>
Tarih: 25 Aug 91 20:57:08 GMT
Organizasyon: University of Helsinki
Oralarda Minix kullanan herkese merhaba,
368 (486) AT makineler için özgür bir işletim sistemi tasarlıyorum. (sadece bir hobi, gnu kadar büyük ve profesyonel olmayacak). Nisan’dan beri çalışmalarım sürüyor ve hazır hale gelmeye başladı. İşletim sistemim bir parça minixe benzediğinden dolayı (makul nedenlerden dolayı aynı fiziksel dosyalama sistemi), minix’i seven ya da sevmeyen insanlardan geribildirimler almak istiyorum.
Halihazırda Bash(1.08) ve gcc(1.40)’yi dahil ettim ve şu anda çalışıyor gibi görünüyor. Bu önümüzdeki birkaç ay içerisinde işe yarayan bir şeyler elde edeceğimin bir göstergesi ve birçok insanın hangi özellikleri kullanmak isteyebileceğini bilmek istiyorum. Bütün önerilere açığım ancak hepsini gerçekleştireceğime söz vermiyorum.
Linus ( torvalds.kruuna.helsinki.fi (torvalds.kruuna.helsinki.fi))
Not: Evet, bu minix kodunun özgür olanı ve çok düğümlü dosyalama sistemi var. Taşınabilir değil (386 görevlendirme değiştirmesi kullanıyor vs), ve büyük olasılıkla AT harddisklerden başka harddisk desteklemeyecek, çok elimde sadece bu var.
Unix/Linux işletim sistemlerinin tarihsel gelişimine kısaca değindikten sonra aşağıda söz konusu işletim sistemlerinin genel olarak ayırt edici özelliklerini ve diğer işletim sistemleri ile kıyaslandığında sağladığı yararlılıklar özetlenmiştir.
Grafik Kullanıcı Arayüzü
Hem Linux hem de diğer işletim sistemlerinin çoğu bir grafik kullanıcı arayüzü ve bir komut satırı sağlar. Linux tipik olarak iki grafik kullanıcı arayüzü sağlar; KDE ve Gnome. Ancak bu ikisinden başka birçok grafik kullanıcı arayüzü bulunmaktadır. Lynucs.org sitesinde bu arayüzler örnekleri görülebilir.
Mark Minasi “Windows and .NET magazine” isimli derginin Mart 2000 sayısındaki makalesinde konuyu oldukça güzel özetliyor; “Linux’un grafik kullanıcı arayüzü seçimliktir, istediğiniz bir tanesini seçip kullanabilirsiniz, ancak Windows’un arayüzü işletim sistemi ile birlikte gelir ve çok az değişiklik yapabilirsiniz.”
Linux’un bu özelliğinin güzel ve kötü bir özellik olup olmadığı tartışmalıdır. Tecrübeli kullanıcılar grafik kullanıcı arayüzünü kendilerine göre kişiselleştirebilip istedikleri ayarları fazla uğraşmadan yapabilirlerken, fazla tecrübeli olmayan kullanıcılar için görünümü değiştirirken karşılaşacakları sorunlara nasıl tepki verecekleri konusu bir kâbusa dönüşebilir.
Metinsel Arayüz
Bu özellik aynı zamanda komut satırı olarak da bilinir. Windows kullanıcıları bu özelliği “DOS Prompt”, Linux/Unix kullanıcıları ise “kabuk” (shell) olarak adlandırır. Windows’un bütün sürümlerinin, diğer çoğu işletim sistemlerinin tekil komut satırı vardır ancak farklı farklı çeşitleri bulunur. Linux ise, tıpkı diğer Unix türevi işletim sistemlerinde olduğu gibi çoklu komut satırı özelliğini destekler, ancak çoğunlukla BASH (Bourne Again Shell) adı verileni kullanır. Unix/Linux ile kullanılabilecek diğer komut satırlarından bazıları; Korn shell, the Bourne shell, ash ve C shell olarak örneklendirilebilir.
Maliyet
Masaüstü ve ev kullanıcıları için Linux kolaylıkla ücretsiz bulunabilecek bir işletim sistemidir. Windows gibi diğer kapalı kodlu işletim sistemleri ise oldukça yüksek fiyatlarla satılır. Sunucu seçeneği olarak ise Linux Windows’la kıyaslandığında oldukça ucuzdur.
Herhangi bir Linux kitabı alındığında büyük ihtimalle işletim sistemi yükleme CD’si arkasında ücretsiz olarak gelir. Ayrıca Linux’un birçok dağıtımını internet üzerinden (http://www.linuxiso.org/ gibi) ücretsizce indirilip, istenilen bilgisayara kurulup, aktivasyon gerektirmeden kullanılmaya başlanabilir. Sadece teknik destek ve servis için bir miktar para ödenmesi gerekir.
İşletim Sistemini Bulmak
Windows’un bulunması ile ilgili söylenecek fazla bir şey yok, herhangi bir kişisel bilgisayar satın alındığında üzerinde büyük ihtimalle Windows kurulu olarak gelecektir.
MacOs için mutlaka Macintosh marka bir bilgisayar almalısınız.
Unix türevi işletim sistemi kurulu olarak bilgisayar satışı yapan çok fazla sayıda firma bulunmamakla birlikte, son yıllarda büyük firmalardan bazıları (HP ve Dell gibi) bu uygulamaya başlamıştır. Büyük firmaların çoğu Linux tabanlı bilgisayarları sadece sunucu olarak satmakta, tüketici kişisel bilgisayarlar için genellikle ücretsiz sürümlerini tercih etmektedir.
Ancak yukarıda da ifade edildiği gibi Linux işletim sisteminin birçok dağıtımını internet üzerinden ücretsiz olarak elde edip kurmak oldukça kolaydır.
Linux’u kurmadan çalıştırmak
Linux’un yapabildiği ancak diğer işletim sistemlerinin yapamadığı bir diğer şey CD’den çalışma özelliğidir. Örneğin Mac OS’u ya da Windows’u çalıştırabilmek için bu işletim sisteminin öncelikle ana sürücünüze kurulması gerekir. Normalde Linux da ana sürücüye kurularak çalışabilir ancak kuruluma gerek duymadan tamamen bir CD içinde gelen ve bilgisayarınızı başlattığınızda hiç kurulum yapmadan kullanılabilecek Linux dağıtımları mevcuttur. Böyle CD’lere “çalışan CD (Live CD)” denir.
Linux’un herhangi bir Çalışan CD dağıtımı ile bilgisayarı başlatarak, bu işletim sistemini test etmek ve genel özelliklerini öğrenmek açısından, diğer işletim sistemlerine nazaran oldukça faydalı bir özelliktir.
Bu özellik sayesinde diğer işletim sistemleri kurulu olan bilgisayarlarda herhangi bir sorun yaşandığında, ücretsiz olarak elde edilebilen bu Çalışan CD’lerle bilgisayarı başlatarak birçok sorunu bilgisayara format atmak zorunda kalmadan çözebilmek olasıdır.
Uygulama Programları
Bir Windows sürümü satın alındığında içinden hemen hemen hiç uygulama programı çıkmaz. Unix türevi olmayan bir işletim sisteminde ise ihtiyaca uygun uygulama programını bulmak çoğu zaman güç ve pahalıdır. Oysa Linux için uygulama programı çok fazla sayıda mevcut ve çok büyük bir çoğunluğu açık kaynak kodlu ve ücretsizdir.
Virüsler ve Casus Yazılımlar
Birçok çeşit zararlı yazılım vardır. En çok bilinenleri iki gruba ayrılır; virüsler ve casus yazılımlar. Casus yazılımların içinde; solucanları, Truva atlarını, çeviricileri, klavye kaydedicileri, tarayıcı korsanlıklarını sayabiliriz. Bu zararlı yazılımların ezici çoğunluğu Windows işletim sistemi altında çalışır ve bu işletim sistemi için yazılmışlardır.
Unix türevi işletim sistemleri ile çalışan bilgisayarlarda bu tür sorunlarla hemen hemen yok denecek kadar az karşılaşılır.
Kullanıcılar ve Parolalar
Unix/Linux işletim sistemlerinde yüksek önem arz eden işlemleri yapmak için mutlaka “root” adı verilen yönetici şifresini bilmeniz ve kullanmanız gerekir. Bu işletim sistemlerinde iki tip ana kullanıcı vardır, yönetici ve kullanıcı. Kullanıcılara roller verilebilir ve her bir kullanıcının yetkileri kısıtlanıp genişletilebilir. Normal şartlar altında işletim sistemi kullanıcı ile çalışır ve yüksek güvenlik seviyesi gerektiren işlemlerde yönetici parolası ister.
Bununla birlikte diğer işletim sistemlerinin çoğunda bilgisayar ilk açıldığı anda yönetici olarak her türlü işlemi yapabilirsiniz. Windows firması, Unix türevi kullanıcı ve parola uygulamasına NT ve XP sürümleri ile başlamıştır. Yine de çok kararlı bir şekilde uygulanmamaktadır. Şöyle ki; üzerinde Windows XP olan bir bilgisayar satın alınıp ilk defa açıldığında sizden bir yönetici parolası belirlemenizi istemez, işletim sistemi doğrudan yönetici yetkileri ile başlar. Kullanıcının yönetici şifresini sonradan belirlemesi ve uygulamaya koyması gerekir.
Böcekler
Yazılımın içindeki hatalı kısımlar olarak da adlandırabileceğimiz böcekler her uygulamanın içinde çıkması kaçınılmaz bir olgudur. Unix türevi işletim sistemlerinin en az böceğe sahip olması ile ilgili bir ünü vardır. Ancak bu yine de sorgulanması ve sonuca ulaşılması, ayrıca konuyla ilgili kaynak bulunması oldukça güç bir iddiadır. Ancak şu bir gerçektir ki; üzerinde gönüllü olarak tüm dünya çapında yüz binlerce kişinin çalıştığı Linux’ta çıkacak bir böceğin düzeltilme ve işletim sisteminin güncellenme süresi, kısıtlı sayıda çalışanı olan diğer kapalı kaynak kodlu işletim sistemlerinin tepki süresine oranla oldukça kısadır.
Bir işletim sistemi piyasaya sürülmeye ne zaman hazır olur?
Bu cevap verilmesi güç bir sorudur. Bütün yazılımların içinde böcek barındırma ihtimali vardır ve işletim sistemleri de çok büyük yazılımlar olarak çok büyük ihtimalle kullanılmaya hazır olduğunu zannedildiğinde bile içinde böcekler çıkma ihtimali yüksek yazılımlardır. Bir işletim sisteminin kullanıma sunulması için birilerinin “tamam, bu kadarı yeterli, artık hazır” demesi gerekir. Linux ve diğer işletim sistemleri arasında bu karar aşamasında çok büyük bir fark vardır.
Bu karar Linux için, koruması gereken bir itibarı olan birtakım bilgisayar kurtları tarafından verilir. Ancak, örneğin Windows’ta karar büyük Pazar pastasından milyonlarca dolar kazanan iş adamları tarafından verilir.
Rober X.Cringely’nin 23 Ekim 2003 tarihli How Microsoft's Misunderstanding of Open Source Hurts Us All isimli makalesinde Linus Torvalds’ın (koruması gereken itibarı olan bir bilgisayar kurdu) sözlerinden bazı alıntılar aşağıdadır.
”Yazılım ücretsiz olduğu için, tamamen hazır olmadan, sadece bir takım satış hedeflerlini tutturabilmek adına piyasaya sürmek için bir baskı yoktur. Her bir Linux dağıtımının hazır olduğu, sadece gerçekten hazır olduğunda duyurulur ki bu da onun neden bu kadar kararlı olduğunu açıklar. Ücretsiz yazılımları daha iyi yapan diğer sebep, her bir sürümle birlikte geliştiricinin kişisel itibarı da ekli olarak gelir.”
İşletim Sisteminin Üzerinde Çalıştığı Donanım
Diğer işletim sistemlerinin aksine, Unix/Linux birçok değişik çeşit donanım platformunda çalışır. Örneğin, Microsoft kararını değiştirinceye kadar Windows NT MIPS CPU’ları ile çalışıyordu. Yine Microsoft kararını değiştirinceye kadar, Alpha CPU’ları ile de çalışabiliyordu. Oysa Linux’ta hiç kimse karar değiştirmez. Linux, en küçüğünden en büyüğüne çok geniş yelpazede bilgisayar üstünde çalışır.
Grafik kullanıcı arayüzü olmadan çalışabilme yeteneği, dolayısıyla daha az donanım gücü ile çalışabilmesinden dolayı Unix/Linux 486 tabanlı çok eski makinelerde bile çalışabilir.
Örneğin e-bay ve Google web sayfalarını Linux üzerinden çalıştırırlar. Lawrence Livermore Ulusal laboratuarlarında nükleer silah simülasyonları için kullanılan IBM ailesinden “Blue Gene” süper bilgisayarları Linux kullanılır. NASA, Linux’u uzay mekiği simülatörlerinde kullanılır. Motorola cep telefonlarını Linux işletim sistemi ile çalıştırma kararı almış bulunuyor.
Kümeleme (Clustering)
Bu konuda Linux’un diğer işletim sistemlerine karşı kesin bir üstünlüğü vardır. Fazla sayıdaki bilgisayarı kümelemek için kullanılagelmiştir. 50’den fazla bilgisayarı kümeleyerek kullanmak isteyen firmaların hemen hepsi Linux işletim sistemini tercih ederler. Özellikle dünyadaki en üstün süper bilgisayarların kümelenmelerinde Linux tercih edilir. Detaylı bilgi Linux Rules Supercomputers adresinde bulunabilir.
Çok Kullanıcılık
Linux çok kullanıcıyı destekleyen bir işletim sistemidir. Diğer işletim sistemlerinin çoğu, örneğin Windows’un bunu yaptığı tam olarak söylenemez. Örneğin Windows, aynı anda sadece tek kullanıcının işlem yapabilmesi için tasarlanmış bir işletim sistemidir. Windows altındaki veritabanları eşzamanlı erişime izin verebilir, ancak işletim sisteminin kendisi aynı anda sadece bir kullanıcıya hizmet vermek için tasarlanmıştır. Linux ise, tıpkı Unix türevi diğer işletim sistemlerinde olduğu gibi, eşzamanlı çok kullanıcı desteği olan bir işletim sistemidir. Windows’un da çok kullanıcıyı destekleyen ve Terminal Server olarak adlandırılan bir sürümü vardır, ancak bu kişisel bilgisayarlarda kurulu olarak gelmez.
Hard disk bölümleri
Diğer işletim sistemlerinin çoğu, örneğin Windows ilk hard diskten başlatılmak zorundadır. Linux ise bilgisayardaki herhangi bir hard diskten başlatılabilir.
Kullanıcı Dosyaları
Unix/Linux işletim sistemleri kullanıcının oluşturduğu verileri/dosyaları “home” adı verilen tek bir dizin altında toplar. Bu özellik de bir bilgisayardaki tüm verileri diğer bir bilgisayara aktarırken ya da kişisel bilgilerin yedeğini alırken oldukça faydalıdır.
Kapanış
Diğer işletim sistemlerinin çok büyük bir çoğunluğunda olmayan ancak Unix/Linux işletim sistemlerine özgü başka bir özellik kapanış esnasında görev planlayabilmedir. Örneğin dosyaların yedeğini almak için kapanış zamanı harikadır.
Özetle, günümüzde çoğu zaman sunucu olarak kullanılan bilgisayarlarda işletim sistemi olarak tercih edilen Unix/Linux aslında diğer işletim sistemleri ile kıyaslandığında hiç de aşağı kalır yanı olmayan, hatta yukarıda özetlendiği gibi çok fazla artıları olan bir işletim sistemidir. Öngörüler, Linux’un ileride kişisel bilgisayarlarda daha fazla kullanılmaya başlayacağını, özellikle ülkelerin ulusal bilişim sistemlerinde güvenlik ve maliyet bakımından Unix türevi işletim sistemlerine geçmeye başlayacakları yönündedir.
Umut Uygar
KAYNAKLAR:
- http://www.michaelhorowitz.com/Linux.vs.Windows.html
- http://www.forumturka.net/forum/archive/index.php/t-35724.html
- http://www.cagataycebi.com/free_articles/solaris/solaris.html
- http://www.sayfa.com/forum/archive/index.php/t-1454.html
- TDK Bilgisayar Terimleri Sözlüğü