1. * 5651 Sayılı Kanun'a göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.
    * Telif hakkına konu olan eserlerin yasal olmayan şekilde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahiplerinin İLETİŞİM bölümünden bize ulaşmaları durumunda ilgili şikayet incelenip gereği 1 (bir) hafta içinde gereği yapılacaktır.
    E-posta adresimiz

linux dersleri-1

Konusu 'Yazılım / Donanım / İşletim Sistemleri' forumundadır ve Melek tarafından 23 Temmuz 2007 başlatılmıştır.

  1. Melek

    Melek Usta

    Katılım:
    7 Haziran 2006
    Mesajlar:
    597
    Beğenileri:
    11
    Ödül Puanları:
    630
    Banka:
    45 ÇTL
    Unix ve Linux’un Tarihçesi ve Gelişimi

    1.1 UNIX’in oluşumu


    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 Labaratuarı bu projeden çekilene kadar iki çalışanı , Dennis Ritchie ve Ken Thompson, bu proje de ç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 ünvanı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.

    1.2 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 bilgisyarlar 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 fart 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çtikce 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.

    2 TEMEL AĞ BİLGİSİ

    2.1 ISO/OSI ve TCP/IP Referans Modelleri

    LAN, MAN ve WAN’lar, geliştirilme süreçleri içindeki ilk uyarlamalarında oldukça karmaşık bir yapı arzetmekteydi. 1980 ‘lerde networklerin sayılarında ve büyüklüklerindeki inanılmaz artış olamaya başladı. Birçok kuruluş ve firma, sahip oldukları networkleri, daha yüksek verim almak amacıyla, yeni teknolojiler geliştirildikçe ve yeni ürünler üretildikçe, bunlardan faydalanarak geliştirmeye ve yeni networkler oluşturmaya başladılar.


    1980’lerin ortalarında bu organizasyonlar, büyümenin getirdiği yeni bir takım problemlerle karşı karşıya kaldılar. Yeni ve değişik belirtimler (specifications) ve uyarlamalar kullanan networklerin birbiri ile iletişim kurmasıda giderek zorlaşmıştı. Bu yüzden patentli yada kuruluşa özel networklerden (proprietary) vazgeçmeye başlanmıştır. Patentli networkler, özel olarak geliştirilen, yönetilen ve kuruluşa özel networklerdir. Bu yüzden tüm teknoloji bu kuruluşların kontrolü altında ve yönetimi altındadır. Bunun tersi olarak “Serbest” ise, halk tarafından teknolojinin serbest olarak kullanımı anlamına gelir. Networklerin uyumsuz ve biribiri ile iletişim kurmama gibi sorunlarını çözmek için, International Organization for Standardization (ISO) DECNET, IBM SNA, ve TCP/IP gibi birçok network çeşitini inceleyerek, bir kurallar kümesi yaratmıştır. Bu araştırmanın bir sonucu olarak ISO, üretici firmaların kendi içlerinde ve diğerleri ile uyumlu olan, iletişim kurabilen ve birlikte çalışabilen networkler üretemelerine yardımcı olmuştur. ISO’nun 1984 de yayınladığı OSI (Open System Interconnectivity) referans modeli, dünya üzerinde değişik birçok üretici firmanın ürettiği değişik tiptteki networklerin biribiri ile daha uyumlu ve birlikte çalışabilir (interoperability) olmasını garantileyen bir dizi standartları belirleyerek, üretiçilere bu desteği vermiştir. OSI referans modeli network iletişimi için ilk modeldir ve bugün birçok üretici ürünlerine bu modele dayalı olarak geliştirmektedirler.


    OSI referans modeli katmanlı yapıya sahip bir netwrok modelidir. Her katmandaki network fonksiyonlarının ayrı ayrı izlenmesine izin verir. Daha önemlisi, bilginin network üzerinde yolculuğunu nasıl gerçekleştirdiğinin anlaşılmasını sağlar. Yani, veri paketlerinin yada bir bilginin, uygulama programlarından (application programs-örneğin, hesap çizelgesi,döküman vs,..) bir ortam (media-örneğin kablo) ve nework yoluyla bir başka bilgisayardaki uygulama programına nasıl yolculuk ettiğini görselleştirerek anlamamıza olanak sağlar. OSI referans modelinde, 7 adet numaralandırılmış katman (layer) vardır.

    7. Katman : Uygulama Katmanı
    6. Katman : Sunum Katmanı
    5. Katman : Oturum Katmanı
    4. Katman : Taşıma Katmanı
    3. Katman : Network Katmanı
    2. Katman : Veri - Bağı Katmanı
    1. Katman : Fiziksel Katman

    Her katmanda network fonkiyonlarının o katmana göre belirlenmesine ve bir katmanın görevlerinin diğerlerinden ayrılmasına katmanlama (layering) denir. Katmanlı network yapısının birçok faydası vardır örneğin,
    • Network iletişimini küçük ve basit parçalara ayırır. Böylece anlaşılması ve öğrenilmesi daha kolaylaşır.
    • Farklı firmaların geliştireceği ve desteğini vereceği network parçalarını ve bileşenlerini standartlaştırır.
    • Değişik tipte network donanım ve yazılımının birbiri ile iletişim kurmasına izin verir.
    • Bir katmandaki olası bir değişikliğin başka katmanları etkilemesini engeller. Böylece daha çabuk geliştirilebilirler.
    Verinin, bir network üzerinde herhangi bir kaynaktan bir hedefe yol alabilmesi için gerekli olan en önemli kriter, networkü oluşturan tüm elemanların aynı dili konuşması yada aynı kurallar ailesine uyarak haberleşmeleridir. Bu kurallar ailesine PROTOCOL adını veriyoruz. Ağ üzerindeki tüm host’lar aynı ağ protocolune uyarak iletişim kurarlar.

    2.1.1 OSI KATMANLARININ YAPISI ve FONKSİYONLARI

    Her OSI katmanı, verinin network üzerinde bir kaynaktan bir hedefe yolculuk edebilmesini sağlayan bir dizi fonksiyonlara sahiptir. Yine her katman kendine özel protokollere sahiptir, herhangi bir katmanı “ n ” ile gösterirsek, bu katmana ait protokole N. Katman Protokolü (Layer n Protocol) denir. Her OSI katmanı network üzerindeki tüm diğer cihazlarla (device) veya host’larla türdeş (Peer-to-Peer Communication) iletişim kurarlar. Veri katmanlar arasındaki yolculuğu esnasında her katmanda o katmana ait özelliklerini yansıtan bir isim alır. Bu şekilde isimlendirme sonucu veriye n. Katman Protocol Veri Elemanı adı verilir (N. Layer Protocol Data Unit - PDU).


    Veri network üzerindeki iletilmeden önce kaynak üzerinde her katmanda ayrı ayrı o katmana özel bir takım bilgilerle (header ve trailer) sarılarak zarflanır (encapsulation). Hedefte ise aynı veri, her katmanda ayrı ayrı o katmana özel olan sargıları yada zarfları, ilgili her katmanda ayrı ayrı açıldıkça üst katmanlara iletilir (decapsulation). Bir katman ancak kendisine ait zarfı açabilir, bir üstündeki katmana ait zarfı açamaz. Aynı şekilde bir katman zarflama esnasında bir alt yada üst katman adına bu işlemi gerçekleştiremez.

    Uygulama (Application) <----veri---> Uygulama (Application)
    Sunum (Presentation) <----veri---> Sunum (Presentation)
    Oturum (Session) <----veri---> Oturum (Session)
    Taşıma (Transport) <- Segment-> Taşıma (Transport)
    Ağ (Network) <---Paket--> Ağ (Network)
    Ver Bağı (Data Link) <---Çerceve-> Veri Bağı (Data Link)
    Fiziksel (Physical) <----- Bit-----> Fiziksel (Physical)

    Bir katman üst katman protokollerinden gelen protokol veri elemanlarını kendi üzerinde zarflayarak altındaki katmana iletir. Böylece veri en üst katmandan (uygulama katmanı-application layer) itibaren zarflanarak en alt katman olan fiziksel katmanda bit katarlarına dönüştürülerek ağ ortamı (media) vasıtasıyla ağ üzerinde hedefine doğru ilerler. Hedefte ise her katman kendi protocol veri elemanı (PDU) ile ilgilenmek, onu yorumlamak için zarfı açar ve zarf içinde bulunan, o katmanda verinin nasıl değerlendireceği bilgisinin tanımlandığı başlık (header) ve kuyruğu (trailer) inceler. Daha sonra, zarfın veri bölgesinde bulunan ve bir üst katmana ait olan PDU’yu ilgili üst katman protokolünü içeren üst katmana, incelediği bilgiler ışığında iletir. Böylece gönderen ve alan sistemlerde her katmanın sanal olarak sadece birbirleri ile TÜRDEŞ iletişim kurması sağlanmış olur. Başka bir deyişle her katman uç sistemlerde, kendi Katman Protokol Veri Elemanı ile bağlantı kurarak haberleşir. Uygulama, Sunum ve Oturum katmanlarının protokol veri elemanlarına “ veri “, Taşıma katmanı protokol veri elemanına “ segment ”, Ağ katmanı protokol veri elemanına “ paket “, Veri bağı katmanlarının kullandığı veri elemanına “ frame ” ve Fiziksel katmanınkine ise “ bit “ denir.
    ISO / OSI katmanlı referans modeline göre her katman bir üstündeki OSI katmanına sahip olduğu servis fonksiyonlarını kullanarak servis verir. Hiçbir katman bir altındaki yada bir üstündeki katmanı kullanmadan direk olarak diğer katmanlar ile veri alış verişinde bulunamaz. Kısa tanımlamalar ile bu katmanları özetlersek,

    Katman 7 - Uygulama Katmanı , OSI modeline göre kullanıcıya veya uygulama süreçlerine en yakın olan OSI katmanıdır ve bunlara ağ servisleri verir. Başka bir OSI katmanına servis vermeyen tek OSI katmanıdır. Uç sistemlerde amaclanan ilgili servisin varlığı araştırır, bağlantıyı kurar, iletişimi senkronize eder, veri bütünlüğü ve hata düzeltme için gerekli yordamlar için uç sistemler ile anlaşma sağlar.

    Katman 6 - Sunum Katmanı , bir sistemin uygulama katmanının gönderdiği verinin diğer sistemin uygulama katmanı tarafından okunabilir olmasını sağlar. Eğer gerekirse, ortak bir biçim (format) kullanarak çeşitli diğer veri biçimleri arasında dönüştürme sağlar

    Katman 5 - Oturum Katmanı , iletişimde bulunan hostların sunum katmanları arasında oturumu açar, yönetir ve sonlandırır. Aynı zamanda iki uç sistemin sunum katmanlarının dialogları arasında senkronizasyonu ve aralarındaki veri iletişimini sağlar. Oturum esnasındaki diologları Diolog Control mekanizması gereği tek bir süreç olarak değil diolog parçalarına bölerek yönetir (Diolog Seperation) .Oturum kontrolünün (session regulation) yanında oturum katmanı, servisin sınıfı (class of service – örneğin TwoWayAlternate, TwoWaySimultaneous), etkin veri aktarımı ve problemlerden kaynaklanan kural dışı durumları raporlamak için gerekli olan herşeyi sağlar.

    Katman 4 - Taşıma Katmanı , bağlantısız bir servis olan UDP (User Datagram Protocol ) ve bağlantılı bir servis olan TCP (Transmission Control Protocol) ile üst katman protokollerine iki tür servis verir. Oturum katmanı ve Taşıma katmanı arasındaki sınır, uygulama protokolleri ve veri-akışı protokolleri arasında bir sınır olarak düşünülebilir.
    TCP servisinde gönderen sistemin oturum katmanının yönettiği oturum boyunca üst katmanlardan gelen veriyi segment adı altında küçük parçalara sıra numarası vererek böler ve Ağ Katmanına iletir. Alıcı sistemde ise bu sıra numaralarına göre segmentlerden asıl mesajı oluşturmak için önce kaybolan veya hatalı olarak alıcı sisteme ulaşmış veriyi gönderen sistemden yeniden ister, sırası bozuk olan segmentleri sıraya dizer ve son olarak segmentleri birleştirerek segmentlerin başlık kısımlarında belirtilmiş hedef port numarası ile (destination port number) ilişkilendirilmiş uygulama katmanı protokolüne gönderilmek üzere mesajı oturum katmanına iletir. Windowing mekanizması ile veri akışı kontrolü sağlar.
    Taşıma katmanı, üst katmanların veri iletişim detaylarına saydam olmalarını sağlayacak şekilde servisler verir. İletişimde bulunan iki bilgisayar arasında iletişimin nasıl güvenilir (reliable) kılınacağı taşıma katmanının görevlerinden biridir. Taşıma katmanı iletişim servisi verirken, yapay devreleri (virtual circuits) portlar vasıtasıyla açar, yönetir ve doğru olarak sonlandırır.

    Katman 3 - Ağ Katmanı , coğrafi olarak ayrı bölgelerde bulunan ağlardaki iki bilgisayar sistemi arasındaki bağlantının kurulması ve iletişim için yol seçimi işlevlerini yerine getiren ve karmaşık bir yapı içeren bir katmandır.

    Katman 2 - Veri Bağı Katmanı , fiziksel bir link üzerinden verinin güvenilir bir şekilde aktarılmasını sağlayan, çeşitli ağ teknolojilerini içinde barındıran bir katmandır. Verinin güvenli olarak iletilebilmesi için fiziksel adresleme, ağ topolojileri, ağa erişim kontrolü , hata bildirme, framelerin sıralı dağıtımı, teslimi ve akış kontrolü gibi yapılar ile ilgilenir.

    Katman 1 – Fiziksel Katman , uç sistemler arasındaki fiziksel linkin aktif hale getirilmesi, bakımı ve kaldırılması için gerekli elektriksel, mekanik, prosedürel ve fonksiyonel belirtimleri (specifications) karakteristikleri ve ayrıntıları tanımlar. Bu karakteristikler örneğin voltaj seviyeleri, voltaj değişimi için zamanlama, fiziksel veri hızı, maksimum iletim uzaklığı, fiziksel konektörler ve diğer benzeri öznitelikler (attributes) fiziksel katman belirtimleri tarafından tanımlanır.

    ISO/OSI modelinin yaygın olarak tanınmasına karşın, internetin tarihi ve teknik açıdan açık standartı (Open Standart) TCP/IP referans modelidir (Transmission Control Protocol / Internet Protocol). TCP/IP referans modeli ve TCP/IP protokol yığını (stack), dünyanın herhangi bir yerindeki iki tane sistem arasında veri iletişimini neredeyse ışık hızında mümkün kılar..

    Uygulama Katmanı
    (Application Layer)

    Taşıma Katmanı
    (Transport Layer)

    Internet Katmanı
    (Inetrnet Layer)

    Ağ Erişim Katmanı
    (Network Access Layer)

    TCP/IP modeli ISO/OSI gibi katmanli yapıdadır ve 4 adet katmana sahiptir. Bazı katman isimleri ISO/OSI model ile benzerlik gösterir. Ancak iki ayrı modeldeki isimleri aynı olan katmanların görevlerini birbiri ile karıştırmamak gerekir. Çunki taşıma katmanı dışında, aynı isimli katmanlar tamamen özdeş değildirler.

    Katman 4 – Uygulama Katmanı , ISO/OSI modelinin en üst 3 katmanı ve tüm uygulama-ilişkili görevleri TCP/IP modelinde tek bir katmanda birleştirilmiştir. Böylece sunum, kodlama ve dialog kontrolü işlerinin yürütüldüğü tek bir uygulama katmanı yaratılmıştır.

    Katman 3 – Taşıma Katmanı , OSI modelde olduğu gibi , servisin kalitesi, güvenilirlik sorunları, akış kontrolü ve hata düzeltme ile ilgilenir. Protokollerinden bir tanesi olan TCP, güvenilir ve hata oranı az bir ağ iletişimi için esnek ve mükemmel çözümler sunar.

    Katman 2 – Internet Katmanı , görevi kaynak sistem paketlerinin, internetworkteki herhangi bir ağdan, üzerinden geçtiği ağlar ve yollardan bağımsız olacak şekilde, hedef sisteme ulaşmalarını sağlamaktır. IP bu katmandaki belirgin protokoldür. En iyi yolun belirlenmesi ve paket anahtarlama (packet switching) bu katmanda gerçekleşir.

    Katman 1 – Ağ Erişim Katmanı , isim anlamı oldukça dar ve bazen karmaşık olabilir. Aynı zamanda host-to-network layer olarakda adlandırılır. IP paketinin gerçek bir fiziksel link yaratabilmek için ihtiyacı olan birçok konu ile ilgilenen katman bu katmandır. ISO/OSI modelin veri-bağı ve fiziksel katmanlarının tüm görevlerini, LAN ve WAN teknoloji detaylarını içerir.
     

Sayfayı Paylaş