Linux Dersleri - 1

Aşağa gitmek

Linux Dersleri - 1

Mesaj tarafından OkaY Bir Perş. Ağus. 21, 2008 3:55 pm

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.

1.3 Linus Torwalds’ın comp.os.minix Haber Grubuna attığı mesaj

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: < 1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybOdy out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and
professional like gnu) for 368 (486) AT clones. This has been brewing
since april, and is starting to get ready. I’d like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same pysical layout of the file-system (due to practical reasons)
among other things).

I’ve currently ported bash(1.08) and gcc(1.40), and things seem to
work. This implies that I’ll get something practical with in a few
months, and I’d like to know what features most people would want. Any
suggestions are welcome, but I won’t promise I’ll implement them :-)

Linus ( torvalds@kruuna.helsinki.fi)

PS. Yes – it’s free of ant minix code, and it has multi-threaded fs. It
is not portable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that’s all I have.

Burtaya kadar linux un doğuşunu anlattık. Gelelim İnternette en Önemli olan konuya. Olmazsa olmazımız olan ağ ortamları...

***********************************

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)

_________________
"""Admin Destek"""

thee.bosfforumdestek@hotmail.com
avatar
OkaY
Administrator
Administrator

Erkek
Mesaj Sayısı : 424
Yaş : 29
Nerden : İsTaNbUL
İş/Hobiler : Pc - Thee.bosfforum
Ruh Haliniz :
Hangi Takımlısızı :
Tecrübe Puanı : 6
Kayıt tarihi : 30/07/08

Kullanıcı profilini gör http://thee.yetkinforum.net

Sayfa başına dön Aşağa gitmek

Geri: Linux Dersleri - 1

Mesaj tarafından OkaY Bir Perş. Ağus. 21, 2008 3:55 pm

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.

_________________
"""Admin Destek"""

thee.bosfforumdestek@hotmail.com
avatar
OkaY
Administrator
Administrator

Erkek
Mesaj Sayısı : 424
Yaş : 29
Nerden : İsTaNbUL
İş/Hobiler : Pc - Thee.bosfforum
Ruh Haliniz :
Hangi Takımlısızı :
Tecrübe Puanı : 6
Kayıt tarihi : 30/07/08

Kullanıcı profilini gör http://thee.yetkinforum.net

Sayfa başına dön Aşağa gitmek

Sayfa başına dön

- Similar topics

 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz