390 likes | 608 Views
AÇIK KAYNAK KOD. Ayhan KOÇ 2009. İş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. Kullanıcı ile Donanım arasındaki iletişimi sağlar. KERNEL - ÇEKİRDEK.
E N D
AÇIK KAYNAK KOD Ayhan KOÇ 2009
İş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. Kullanıcı ile Donanım arasındaki iletişimi sağlar.
KERNEL - ÇEKİRDEK • Çekirdek uygulama yazılımları ile bilgisayar donanımını arasındaki bağlantıyı kurar. • KERNEL, sistem açılırken belleğe yüklenir ve sistem kapanana kadar bellekte kalır.
SHELL - KABUK • Kernel’in kullanıcı ile iletişime geçen arabirimidir. MS-DOS İşletim sistemi kabuğu
SYSTEM CALLS – Sistem Çağrıları • Kernel ile Shell arasındaki iletişimi sağlayan alt düzey işlevlerdir.
2005 yılı itibari ile, en yaygın olarak kullanılan işletim sistemleri iki ana grupta toplanabilir: Microsoft Windows grubu ve UNIX benzeri işletim sistemlerini içeren grup (bu grup içinde pek çok Unix versiyonu, Linux ve MAC OS sayılabilir). • (wikipedia)
UNIX, akademik çevrelerde ve sunucu olarak kullanılmaktayken, Windows ise evde ve ofislerde masaüstünde tercih edilmektedir. Masaüstü bilgisayarlarında Windows, diğer işletim sistemlerinden çok daha yaygın olarak kullanılmaktadır ve çeşitli araştırmalar Windows'un masaüstünde pazar payının %90 ile %98 arasında olduğunu göstermektedir. Linux sunucularda yaygın olarak kullanılmaktayken, evlere ve ofis masaüstlerine de yavaş yavaş girmektedir. UNIX'in ana kısımlarından yararlanan Mac OS ve onun öncülleri ise daha çok masaüstü yayıncılıkta kullanılmaktadır. • Anabilgisayarlar ve gömülü sistemlerise çoğu Windows ve UNIX'le doğrudan bağlantısı olmayan pek çok değişik işletim sistemi kullanmaktadır. (wikipedia)
KAYNAK KOD Yazılımlar ile onların kaynak kodları arasındaki ilişki, yemekler ile o yemeklerin tarifleri arasındaki ilişkiye benzetilebiliriz. Kaynak kod bir yazılımın belirli, formal bir yapı içerisinde, insan tarafından anlaşılabilecek bir notasyonudur. Bir yazılımın kaynak kodu, o yazılımın neyi tam olarak nasıl yaptığını anlatır. Kaynak kodlar belirli işlemlere tabi tutulur ve ortaya meşhur 1 ve 0'lardan ibaret, bilgisayar tarafından anlaşılıp işletilebilecek ikili yazılımlar çıkar. Bu arada bu dönüşüm tek yönlüdür, yani bir yazılım kaynak koduna dönüştürülemezken kaynak kod, yazılıma dönüştürülebilir. (www.ozgurlukicin.com)
AÇIK KAYNAK KOD • Açık kaynak yazılım (İngilizce: open-source software) veya açık kaynaklı yazılım veya kaynağı açık yazılım, kaynak kodu isteyen herkese açık olan yazılımdır. (wikipedia)
Açık Kaynak Kodlu 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 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.
GNU (GNU’s Not Unix!) • GNU Projesi 1984 yılında tam anlamıyla UNIX benzeri özgür bir işletim sistemini, GNU sistemini, geliştirmek için başlatıldı. • GNU'nun kendi çekirdeği henüz bitmemiş olduğundan GNU, Linux çekirdeği ile kullanılmaktadır. Bugün milyonlar tarafından kullanılan, GNU ve Linux'un birlikteliği GNU/Linux işletim sistemidir.
Bazen bu birliktelik hatalı olarak Linux olarak anılmaktadır. • GNU/Linux'un çok çeşitleri ya da “dağıtımları” vardır. • GNU “GNU’s Not Unix!”
ÖZGÜR YAZILIM Nedir? • Özgür yazılım, kullanıcıların yazılımları çalıştırma, kopyalama, dağıtma, öğrenme, değiştirme ve iyileştirme özgürlükleriyle ilgili bir sorundur. Daha kesin olarak, yazılım kullanıcıları için, dört çeşit özgürlüğe atıfta bulunur:
0. özgürlük • Her türlü amaç için yazılımı çalıştırma özgürlüğü
1. özgürlük • Yazılımın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme özgürlüğü. • Yazılım kaynak koduna erişim bunun için bir ön şarttır.
2. özgürlük • Yeniden dağıtma ve toplumla paylaşma özgürlüğü.
3. özgürlük • Yazılımı geliştirme ve gelişmiş haliyle topluma dağıtma özgürlüğü. • Böylece yazılım bütün toplum yararına geliştirilmiş olur. Yazılım kaynak koduna erişim bunun için de bir ön şarttır.
Özgür Yazılım • Bir yazılım, ancak bütün kullanıcıları bu hakların tümüne sahip oldukları zaman özgür bir yazılım olur. Bu özgürlüklere sahip olmak, kimseden izin almamayı ve izin için hiçbir bedel ödememeyi de içerir. • Genel kanının aksine özgür bir yazılım, ücretsiz dağıtılabileceği gibi ücretli de dağıtılabilir. Bu nedenle, ticari yazılım olarak satılmasına engel yoktur.
Belli başlı özgür yazılım lisansları aşağıda listelenmiştir: • GNU Genel Kamu Lisansı • GNU Kısıtlı Genel Kamu Lisansı • BSD Lisansı • Mozilla Kamu Lisansı (MPL) • MIT Lisansı • Apache Lisansı
GPL – General Public License • GPL – Genel Kamu Lisansı (GNU GPL ya da GPL) • Aslı Richard Stallman tarafından GNU projesi için yazılmıştır. http://www.gnu.org/licenses/gpl-3.0.txt
GNU/Linux, Linux çekirdeği kullanan Unix benzeri işletim sistemlerini çağrıştıran genel kullanım şeklidir. • Linux açık kaynak kod geliştirme modelinin ve özgür yazılımının en öne çıkan örneklerinden birisidir; tipik olarak tüm kaynak kodu tamamıyla kullanılabilir, ücretsizce değiştirilebilir ve herhangi biri tarafından yeniden dağıtılabilir.
GNU/Linux, Unix tabanlı, açık kaynak kodlu, özgür bir işletim sistemi yazılımı. Finlandiyalı bir bilgisayar mühendisliği öğrencisi olan Linus Torvalds tarafından 1991 yılında geliştirilmeye başlanmıştır. "Linux" ismi Linus Torvalds tarafından 1991 yılında başlatılan Linux çekirdeğinden (kernel) gelmektedir.
TARİHÇE • Linux, LinusTorvalds'ın Helsinki Üniversitesi'nde bir öğrenci iken Intel'in yeni işlemcisi 80386'nın korumalı kip mimarisini denemek üzere geliştirmeye başladığı Unix (aslen Minix) tabanlı bir işletim sistemi çekirdeğidir. • Bir başka deyişle Linux, GNU/Linux dağıtımlarının belkemiğini oluşturmaktadır. İnternette yaptığı duyuru sonucunda tüm dünyadan birçok yazılımcının da desteği ile hızla gelişmiş ve halen aynı destek ile gelişmekte olan açık kaynak kodlu, özgür bir yazılımdır.
Hızlı bir sürecin sonunda Linus'un geliştirdiği çekirdek, GNU hareketinin bir meyvesi ve aynı zamanda taşıyıcısı haline gelmiştir. GNU için yazılmış özgür yazılımlar çok kısa süre içerisinde Linux çekirdeği ile uyumlu çalışabilecek hale getirilmiş ve ortaya güçlü, kararlı, esnek ve açık kaynak kodlu bir işletim sistemi çıkmıştır. • GNU/Linux olarak anılması gereken işletim sistemi zaman içerisinde telaffuz kolaylıklarından ötürü Linux olarak anılmaya başlanmıştır. Açık kodlu bir yazılım olan GNU/Linux özgür gelişimi, yaratıcılığı ve bağımsız ilerlemeyi desteklemekte ve bilişim dünyasından destek görmektedir.
Mevcut Gelişim • Torvalds, çekirdeğin geliştirilmesine devam etmektedir. Richard Stallman, GNU bileşenlerini destekleyen Özgür Yazılım Vakfı'nın başını çekmektedir. • Sonuç olarak bireyler veya kuruluşlar üçüncü parti GNU olmayan bileşenleri geliştirmektedirler. Bu üçüncü parti bileşenler; işin büyük kısmını, çekirdek modüllerini, kullanıcı uygulamalarını ve kütüphaneleri kapsamaktadır. Linux sağlayıcıları ve toplulukları; çekirdeği, GNU ve GNU olmayan bileşenleri Linux dağıtımlarının kendi biçimlerinde ek paket yönetim yazılımlarıyla birleştirirler ve dağıtırlar.
Dağıtımlar • Şu anda GNU yazılımlarını ve diğer özgür yazılımları bir araya getiren ve tüm bunları bir Linux çekirdeği ile beraber toplu, derlenmiş ve kurulumu çok kolay bir işletim sistemi olarak piyasaya süren irili ufaklı birçok çalışma mevcuttur.