Merhaba arkadaşlar,
Bu makalemizde açık kaynak kodu ile yazılan işletim sistemlerinin yapısına değineceğiz. İşletim sistemi bilgisayarda temel unsurdur. Donanımla kullanıcıyı buluşturan en önemli yazılımdır. Bilişim Teknolojileri Alanını seçen siz sevgili öğrencilerimiz için de işletim sistemleri oldukça önemli bir uğraşı alanı olacaktır. Bilgisayarı kullanmanın biraz ötesine geçmek istediğiniz zaman karşınıza işletim sistemi kurulumu ve ayarları çıkar.
Bir işletim sistemini ne kadar kişiselleştirebilirsiniz. Tabii ki işletim sisteminin kendisi tarafından belirlenen bazı sabit ayarları öğrenerek onun izin verdiği ölçüde…
Peki, bir işletim sistemini edinmek için ne kadar para ödemeniz gerekir? (Ülkemizde Lisanslı yazılım kullanımı pek yaygın olmasa da bu bir kanuni sorumluluktur !) Sizce bedava işletim sistemi olur mu? “Olmaz!” ya da “Olsa bile ne kadar iyi ve kullanışlı olur ?” dediğinizi duyar gibiyim. İşte bazı tekel markalar yüzünden bugüne kadar çoğu bilgisayarcının sadece ismini duyduğu, duyduğu halde de yok saydığı bir işletim sisteminden, Linux’tan bahsediyoruz. Kaynak kodu açık yani serbestçe dağıtılan bu işletim sistemiyle tanışmadıysanız bu modül sizin için çok önemli bir fırsattır. Evet! Bedava dağıtılan işletim sistemi Linux dünyada Windows’un karşısındaki tek rakiptir. Herkes Linux’u bedava alıp üzerinde değişiklik yapıp kullanma hakkında sahiptir.
AÇIK KAYNAK KODLU İŞLETİM SİSTEMİ YAPISI
İşletim Sistemi
İşletim sistemi, bilgisayar donanımının doğrudan denetimi ve yönetiminden, temel sistem işlemlerinden ve uygulama programlarını çalıştırmaktan sorumlu olan sistem yazılımıdır. İşletim sistemi, bütün diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve kütük sistemine erişimini sağlar. Birden çok program aynı anda çalışıyorsa, işletim sistemi her programa yeterli sistem kaynağını ayırmaktan ve birbirleri ile çakışmamalarını sağlamaktan da sorumludur.
İşletim sistemlerinde kullanıcı ile bilgisayar donanımı arasında genel olarak üç katmandan söz edilebilir. İşletim sisteminin kullanıcıya görünen kısmı kabuk (shell) olarak nitelendirilir. Örneğin bir programı çalıştırmak için kullanıcının komut vermesi kabuk üzerinden gerçekleştirilir. DOS komut yorumlayıcısı ya da Pardus için “konsole”, kabuğa örnek olarak gösterilebilir. Grafik kullanıcı arayüzü ise kabuk üzerinde çalışan bir katman olarak
düşünülebilir. İşletim sisteminin kalbi, yazılımların donanımlar üzerinde çalışabilmesini sağlayan katman ise çekirdek (kernel) katmanıdır. Kabuk, çekirdeğin çevresini sararken; donanımlar ile iletişim kurmak ise çekirdeğin işidir. Sistem çağrıları (system calls), kabuk ile çekirdek arasındaki iletişimi sağlayan alt düzey işlevlerdir.
Açık Kaynak Kodlu Yazılım
Açık kaynak yazılım (open-source software) veya açık kaynak kodlu yazılım, kaynak kodu isteyen herkese açık olan yazılımlardır. Bu tür yazılımların ayırt edici özelliği kullanıcıya yazılımı değiştirme özgürlüğü sağlamasıdır. Açık kaynak kodlu yazılımlar, uyarlanabilir, sağlam, hızlı ve güvenlidir. Açık kaynak kod dünyası, yeni bir yazılım üretme biçimi, yeni iş modelleri sunmaktadır. Dünyanın her tarafından bilişim uzmanlarınca imece yöntemi ile endüstri standartlarında geliştirilen açık kaynak kod yazılımları, insanlığın ortak malıdır.
Programcılar yazılımları geliştirirken kullandıkları programlama dilleriyle kaynak dosyaları oluştururlar. Daha sonra derlemeli dillerde (C, C++, Java, Pascal) bu dosyayı derleyerek çalıştırılabilir hale çevirirler. Açık kaynaklı yazılım savunucuları her üretilen ve dağıtılan programla birlikte kaynak kodunun da dağıtılmasını savunurlar. Bu sayede geliştirme esnasında ve ilerde yeni sürümlerin ortaya çıkması esnasında daha çok sayıda
gözün süzgecinden geçmiş daha kaliteli bir yazılım çıktığını düşünürler. En iyi bilinen açık kaynak kodlu yazılımlar; Linux, Open Office, GNU, Debian’dır.
Açık kaynaklı yazılımlar, en küçüğünden cep telefonu, saat gibi gömülü sistemlerden, en büyüğünden süper bilgisayarlara, ev kullanıcılarından KOBİ’lere, kamu kurumlarından her türden okullara, tüm kurum ve bireylerin rahatça kullanabileceği, gereksinimlere göre basitleştirilebilen, sağlamlaştırılabilen, güçlendirilebilen yazılımlardır. Açık kaynak kod yazılımlar, her alanda çözümler sunarak, kapalı kod yazılımlara karşı tüketiciye seçenekler sunmaktadır. Almanya, İspanya, Meksika, Brezilya, Çin, Kore, Hindistan gibi birçok ülke, kamu kurumlarında açık kaynak kodlu yazılımlarının kullanımını benimsemiş ve bilgi toplumu stratejilerin bir parçası yapmışlardır. Avrupa Birliği, UNESCO, Dünya Bankası gibi kuruluşlar güvenlik ve tasarruf gibi gerekçelerle açık kaynak yazılımlarını önermektedir.
Dünya üzerindeki hemen her ülke kendi gereksinimlerine göre açık kaynak kodlu bir Linux dağıtımı geliştirmiştir. Türkiye’de TÜBİTAK’ın girişimi ile bu yönde ULUDAĞ: Ulusal Dağıtım Projesi başlatılmış ve bir Linux dağıtımı olan Pardus Ulusal İşletim Sistemi hazırlanmıştır.
GNU Genel Kamu Lisansı (GPL)
Piyasaya sürülen her yazılım, üretici şahıs ya da firmanın haklarını ve kullanıcının haklarını korumaya yönelik bir lisans anlaşması içerir. Bir lisans anlaşması görevini yaparken, programın kopyalanması sırasında izlenecek yöntemler, lisans ücreti, destek meselesi, kullanıcının yazılım üzerinde ne gibi hakları olduğu konularına açıklık
getirmelidir. Serbest yazılım anlaşmaları arasında en popüleri kuşkusuz Genel Kamu Lisansı (GPL, General Public License)’dır.
GPL lisans anlaşması, 1983 yılında Richard Stallman tarafından geliştirilmiş, çok akıllıca detaylarla bağlayıcılığı bulunan, teşvik edici, gerek kullanıcı gerekse üretici tarafa büyük olanaklar sağlayan bir lisans türüdür. GPL’nin en çok üzerinde durduğu konu yazılımların kaynak kodu ile birlikte dağıtılmasının gerekliliğidir. Üretici firma yazılımını binary olarak dağıtsa bile kaynak kodunu da herkes tarafından erişilebilir bir yere bırakmak zorundadır. Kullanıcı, bu kaynak kodu alıp inceleyebilir, üzerinde istediği değişikliği yapabilir, kendi projelerinde, yazılımlarında kodun tamamını ya da bir parçasını kullanabilir. Hatta başkasının kod parçasını alıp bir kaç değişiklik yapıp, satarak maddi kazanç da elde edebilir. Ama tek bir şartla, yeni üretilen program da GPL ile lisanslanmak zorundadır.
GPL, özellikle programın kaynak kodunun açık olmasının gerekliliğini savunan bir yapıdadır. Temel amaçları, şeffaflık, kullanıcının ne kullandığını bilmesi, yazılımın çok kişi tarafından hızlıca geliştirilmesi olarak sayılabilir. GPL, yazılımın ücretlendirilmesi hakkında hiçbir fikir beyan etmez. Pek çok lisans anlaşması ücretsiz kategorisine girerken GPL yazılımları ücretsiz olmak zorunda değildir. Üretici firma ya da kuruluş, yazılımını GPL ile lisanslayıp, dağıtabilir ve karşılığında da bir ücret talep edebilir. Bu madde en baştan beri sözleşme içerisinde olmasına rağmen gariptir ki, GPL yazılımların çok büyük bir kısmı ücretsizdir. Genel bir yaklaşım yazılımdan değil, kullanıcıya sunulan destekten para kazanılması şeklindedir. Bu özelliği ile GPL, pek çok lisanstan ayrılmaktadır.
Örneğin, yazılım konusunda teknik destek, öğrenme materyali, geliştirme kursları gibi arka planda yürütülen faaliyetler ücretli olarak kullanıcıya sunulabilir. GPL yazılımların kopyalanmasında piyasada bulunan pek çok yazılımdan farklı bir mantık geçerlidir. İsteyen istediği gibi istediği medya ile bir GPL yazılımı kopyalayabilir, dağıtabilir, dağıtması için bir üçüncü şahısa devredebilir. Bunda hiç bir kısıtlama mevcut değildir. Eğer yazılıma karşılık olarak bir ücret talep ediyorsa, bu yazılımı kullanan kişi ücretini ödemekle yükümlüdür. Değilse, herhangi bir hukuki yükümlülük altında kalınması söz konusu değildir.
açık kaynak kod binary genel kamu lisansı general public license gnu gpl işletim sistemi yapısı kaynak kod kernel konsole linux işletim sistemi open course RedHat Richard Stallman system calls tübitak