aÇik kaynak kod

37
Ayhan KOÇ 2009

Upload: francois-lesage

Post on 30-Dec-2015

113 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: AÇIK KAYNAK KOD

Ayhan KOÇ 2009

Page 2: AÇIK KAYNAK KOD

İşletim SistemiBilgisayar 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.

Page 3: AÇIK KAYNAK KOD

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.

Page 4: AÇIK KAYNAK KOD

SHELL - KABUKKernel’in kullanıcı ile iletişime geçen

arabirimidir.

MS-DOS İşletim sistemi kabuğu

Page 5: AÇIK KAYNAK KOD

SYSTEM CALLS – Sistem ÇağrılarıKernel ile Shell arasındaki iletişimi sağlayan

alt düzey işlevlerdir.

Page 6: AÇIK KAYNAK KOD

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)

Page 7: AÇIK KAYNAK KOD

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)

Page 8: AÇIK KAYNAK KOD

KAYNAK KODYazı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)

Page 9: AÇIK KAYNAK KOD

AÇIK KAYNAK KODAçı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)

Page 10: AÇIK KAYNAK KOD

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.

Page 11: AÇIK KAYNAK KOD

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.

Page 12: AÇIK KAYNAK KOD

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!”

Page 13: AÇIK KAYNAK KOD

Ö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:

Page 14: AÇIK KAYNAK KOD

0. özgürlükHer türlü amaç için yazılımı çalıştırma

özgürlüğü

Page 15: AÇIK KAYNAK KOD

1. özgürlükYazı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.

Page 16: AÇIK KAYNAK KOD

2. özgürlükYeniden dağıtma ve toplumla paylaşma

özgürlüğü.

Page 17: AÇIK KAYNAK KOD

3. özgürlükYazı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.

Page 18: AÇIK KAYNAK KOD

Özgür YazılımBir 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.

Page 19: AÇIK KAYNAK KOD

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ı

Page 20: AÇIK KAYNAK KOD

GPL – General Public LicenseGPL – 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

Page 21: AÇIK KAYNAK KOD

GNU/LINUX

Page 22: AÇIK KAYNAK KOD

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.

Page 23: AÇIK KAYNAK KOD

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.

Page 24: AÇIK KAYNAK KOD

TARİHÇELinux, Linus Torvalds'ı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.

Page 25: AÇIK KAYNAK KOD

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.

Page 26: AÇIK KAYNAK KOD

Mevcut GelişimTorvalds, ç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.

Page 27: AÇIK KAYNAK KOD

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.

Page 28: AÇIK KAYNAK KOD
Page 29: AÇIK KAYNAK KOD
Page 30: AÇIK KAYNAK KOD
Page 31: AÇIK KAYNAK KOD
Page 32: AÇIK KAYNAK KOD
Page 33: AÇIK KAYNAK KOD
Page 34: AÇIK KAYNAK KOD
Page 35: AÇIK KAYNAK KOD
Page 36: AÇIK KAYNAK KOD
Page 37: AÇIK KAYNAK KOD