Bilgisayar
dünyasında yeni teknolojileri daha iyi kavramanın yolu çoğu zaman bu
teknolojinin, teknolojiyi geliştiren şirketin tarihine bakmaktan geçiyor. Teknolojiyi
geliştirmekteki amaç neydi, nasıl bir ürün ortaya kondu, piyasada ne kadar
tutuldu ve devamında ne var soruları netlikle cevaplanırsa teknolojiyi satın
alırken ve uygularken yanlış kararlar verilmesinin önüne geçilir.
İsterseniz bizde
önce bilgisayar ağlarının tarihsel gelişimine bir göz atalım.
Bilgisayarların
gerçek manada kullanılmaya başladığı 60'lı yıllarda, bilgisayar dendiğinde akla
gelebilecek tek şey büyük mainframe'lerdi. İsmindeki haşmete rağmen, bu mainframe'ler
bugün hepimizin masasında duran kişisel bilgisayarlara göre çok daha yavaş
çalışan makinalardı. Sakın aklınıza bugünküne benzer bir bilgisayar getirmeyin,
bu cihazlar klavyesi ve monitörü olmayan, dev dosya dolapları gibi aletlerdi.
|
|
Yanda Londra
Bilim Müzesinde sergilenen bir mainframe'in açıklama kartı var. İş dünyasında
kullanılan ilk bilgisayarlardan birisidir. Sınırlı sayıda üretilen bu
makinalardan birisi büyük bir sigorta şirketince kullanıldı ve bu cihaz da
1984 yılında müzeye devredildi. |
|
|
Günümüz
bilgisayarlarından biraz!! farklı. |
|
|
1950 yılında
maden yorgunluğundan bir çok uçağın düşmesi sonucu, bu bilgisayarlardan 40
tanesi çok fazla matematiksel işlem gerektiren stres hesaplamarında
kullanıldı, aralarından Sidney Opera binasının da bulunduğu bir çok bina ve
köprünün yapımında bu bilgisayarlardan faydalanıldı. 1955 yılında,
bilgisayarların üreticisi Ferranti şirketi, bilgisayarlardan birini herkesin
(daha çok bilim adamları ve matematikçiler tabii ki) hizmetine sundu. Böylece
elle yapılması yıllar sürebilecek hesaplamalar gerektiren bilimsel veya
teknik çalışmalar bu firmaya getiriliyor, hesaplamalar bilgisayarda
yapıldıktan sonra sonucu kişiye teslim ediliyordu. |
|
|
Monitör, klavye
hak getire... |
İlk başlarda klavye
ve monitörü olmayan bu cihazlar bir veya daha fazla operatör tarafından
programlanıyor ve çalışmaları sağlanıyordu. Bir süre sonra ekran ve klavyeler
kullanılmaya başlandı. Bir mainframe'e birden fazla klavye ve monitör
bağlanılabiliyor aynı anda birden fazla kişi bu makina üzerinde program
yazabiliyordu. Böylece eskiden olduğu gibi bu cihazları kullanmak için bugün
git-yarın gel dönemi kapanmıştı. Dikkat ederseniz program yazmaktan bahsettim,
öyle hazır programı alıp kullanmak yok, bir programa ihtiyacın varsa oturup
yazıyordun.
Ancak bu sistemlere
"ağ" diyemeyiz, çünkü bu klavye ve monitörler sadece veri giriş-çıkış
aygıtıydılar. Belki aptal terminal terimini duymuşsunuzdur, işte kendi
üzerlerinde CPU'su olmayan bu cihazlar Dumb
terminal-Aptal terminal olarak adladırılıyordu.
Zaman içinde
mainframe'ler geliştiler, hard diskler kullanılmaya başlandı. Kullanıcılar,
mainframe üzerindeki veriye erişebiliyorlardı. Ancak ulaşılan veri hala aynı
bilgisayar üzerindeydi.
Mainframe'ler
arasında veri paylaşımı fikri çok geçmeden ortaya çıktı. Ancak mainframe'ler
genellikle birbirinden binlerce kilometre uzaktaydılar. Aynı bina içinde
bulunan mainframe'ler ise çoğu zaman farklı üreticilerin cihazlarıydı ki, bu
birbirlerinden çok farklı yapıda oldukları anlamına geliyordu.
|
|
Gerçek networkler
varolmadan çok önce, bilim adamları farklı iki sistemin verilerini nasıl
paylaşabileceklerini tasarlamaya başlamışlardı. Bir çok insan pratik manada ilk
bilgisayar ağının ARPANET olduğunda birleşir. ARPANET Advanced Research
Agency(ARPA) isimli kurum tarafından kuruldu. ARPA 1958 yılında kurulan ve
Amerikan devleti için yüksek teknoloji projeleri üreten bir kurumdur . 1972
yılında ismi DARPA(Defence Advanced Research Agency) olarak değişti, 1993'te
tekrar ARPA, 1996'da ise tekrar DARPA oldu. DARPA bilgisayar ağları ile ilgili
dağınık haldeki yüzlerce projeyi bir araya toplayan ve bir form kazanmasını
sağlayan kuruluştur. Bu kurum sayesinde ilk bilgisayar ağı projesi ve sonradan
internet'in temelini oluşturacak TCP/IP ve benzeri teknolojiler geliştirildi.
Peki mainframe'lere
ne oldu sorusu akla gelebilir. Aslında hiçbirşey olmadı ancak, 80'li yıllarla
ortaya atılan "insanların evlerine ve küçük/orta ölçekli iş yerlerine
bilgisayar alması fikri" ilk başta bazılarına "çılgınca"
geldiyse de, IBM'in Personal Computer (PC) adıyla piyasaya sürdüğü
"cihaz" yeni bir çığır açtı. Kısa zamanda çok değişik üreticiler
IBM'in bu cihazının aynısı bilgisayarlar ürettiler. Bu bilgisayarları sıradan
insanların da kullanabilmesi hatta üzerinde program yazılabilmesi için işletim
sistemleri (DOS, Windows vs.) üretildi. Bu bilgisayarlarda kullanılan işlemci,
disk, bellek ve diğer tüm bileşenler inanılmaz hızda gelişti ve yaygınlaştı.
Sonuçta PC veya
mini-computer olarak anılan bu bilgisayarlar dünya üzerinde
milyonlarca-milyarlarca adede ulaştı. Bu arada mainframeler de teknolojideki bu
gelişmelerden nasiplerini aldılar ve ilk başta üretildikleri amaca hizmet etmeye
devam ettiler ve hala ediyorlar. Belli bir kapasitenin üzerinde veri işleme
ihtiyacı duyan firmalar hala veritabanlarını IBM'in As400 makinalarında veya
benzeri mainframe sistemleri üzerinde tutuyorlar. Bunun yanında üniversitelerde
ve araştırma kurumlarında kullanılan "süper bilgisayarları" da
unutmamak gerekir.
PC'lerin çok
yaygınlaşması sonucu, mainframe alamayacak/ihtiyaç duymayacak firmalara ağ
imkanlarını sağlamak amacıyla mini-computer/PC ağ işletim sistemleri üretildi.
Novell'in Netware işletim sistemi, Microsoft'un NT'si ve devamı olan Windows
2000 buna örnek verilebilir. PC'lerin CPU gücünün tavana vurması ve Windows
2000 gibi güçlü işletim sistemleri günün birinde belki mainframe'lerin sonu
olabilir, tabii olmayabilir de :)
Bilgisayar ağlarını
anlamanın ilk adımı en basit bir ağın bile çok kompleks bir yapıya sahip
oduğunun kavranmasıdır. Bilgisayar ağlarının amacı genellikle söylendiği gibi
veri paylaşımı değildir. Ancak paylaşım bilgisayar ağları için anahtar kelimedir.
Binlerce terminali
olan bir mainframe düşünün, evet tüm bu terminaller mainframe'e ve üzerindeki
dataya erişiyorlar, ancak veri hala tek bir bilgisayarın üstünde tutuluyor.
Dolayısı ile buna ağ diyemeyiz.
Çünkü bir
bilgisayar ağı en az iki bilgisayardan oluşur.
Günümüzdeki normal
bir ofis kullanıcısı için cevap hazır, "dosyaları ve yazıcıları, hımm...,
bir de internete bağlanıyoruz biz ofiste...".
Oysa 60'lı yıllarda
bilgisayar ağlarının tasarımı yapanlarlar için bu o kadar da açık değildi.
Elbette veri paylaşımını istiyorlardı ama zaman içinde geliştirilecek yeni
teknolojilere de uyum sağlayabilecek bir yapı kurmaları gerektiğini
biliyorlardı. O zamanlar kimse WWW'i hayal bile edemezdi, ancak yarattıkları ağ
teknolojisi, bugün bizim WWW'yi kullanmamızı sağlıyor.
Bilgisayar ağları,
bilgisayarların kaynaklarını(resources)
paylaşmalarını sağlar.
Bir kaynak bir cihazın
diğerleriyle paylaşmak isteyebileceği herhangi bir şeydir. Kaynaklar'a örnek olarak
hemen dosyalar, dizinler ve yazıcılar verilebilir. Ancak örneğin e-mail mesajların
iletilmesine yarayan bir kaynaktır. İnternet paylaşımında bir bilgisayarın
internet bağlantısını paylaşıyoruz değil mi?
Sonuç olarak
bilgisayar ağlarının amacı paylaşımdır. Ancak paylaşım sadece dosya ve
yazıcılarla sınırlı değildir.
Paylaşım konusunu
biraz açıkladıktan sonra, peki kim paylaşıyor, kim bu paylaşımı kullanıyor
sorusu akla gelebilir. En azından benim aklıma geldi, neyse, üzerindeki
herhangi bir kaynağı paylaşan bilgisayara sunucu(server), bu kaynağa erişen cihaza da istemci(client) adı
veriliyor.
Bir dakika, sunucu
dediğin şey şu kapalı kapılar arkasında duran, milyon megabayt diski, zilyon
megabayt belleği olan bilgisayarlar değil mi? Evet, bu tip bilgisayarlar sunucu
olarak anılıyor ve muhtemelende öyleler. Ancak bir bilgisayarı sunucu yapan şey, üzerindeki
donanım miktarı, hatta özel bir donanım olup olmaması değil, üzerindeki bir
kaynağı paylaştırmasıdır. Doğal olarak üzerindeki kaynağı paylaştıran ve bir
çok kullanıcının hizmetine sunan bir bilgisayar, talebi karşılamak için daha
"güçlü" olmalıdır. Ancak akılda tutulması gereken şey şudur;
sunucu'yu sunucu yapan üzerindeki donanım değil, kaynaklarını paylaştırmasını
sağlayan yazılımdır (çoğunlukla işletim sistemi veya işletim sistemi içindeki
bir yazılım modülü).
Eğer bir sunucu
yazılımı çalıştıran bilgisayar, sunucu oluyorsa bir ağ üzerinde birden fazla
sunucu olabilir mi? Evet. Peki bir bilgisayar üzerinde birden fazla sunucu
yazılımı çalıştırabilir mi? Evet, evet, evet...
Örneğin Windows
2000 veya Linux yüklü bir bilgisayar çok rahat 5-10 farklı sunucu programını
çalıştırabilir. Dosya sunucusu, e-mail, web, yazıcı...
Bir bilgisayar hem
sunucu hem de istemci olabilir. Novell Netware hariç tüm işletim sistemleri
(Windows, Unix/Linux ve Machintosh işletim sistemleri) bilgisayarın hem sunucu
hem de istemci olarak çalışmasını sağlayabilir. Çoğu ofis ortamında bilgisayarlar
hem sunucu hem de istemci olarak çalışırlar. Üzerindeki yazıcıyı paylaştırmış PC2 bilgisayarı, PC1 üzerindeki dosyalara
erişirken, PC1'de
PC2'nin
yazıcısını kullanıyorsa, bu iki bilgisayarda hem sunucu hem de istemci olarak
görev yapıyor demektir. Oysa PC3
sadece bu iki bilgisayarın paylaştırdığı kaynaklara erişiyor,
kendi üzerinde paylaşılmış bir kaynak yoksa, sadece istemci durumda demektir.
|
|
|
Sunucu
paylaştırıyor, istemci de kullanıyor. Ancak istemci bilgisayar(ve onu
kullanan vatandaş) paylaşılan kaynağı gerçekte nasıl kullanacaklar. Yani bu
karmaşık yapı nasıl son kullanıcı için problemsizce hizmet edecek? Çözüm: paylaşılan
kaynak, istemci üzerinde sanki istemci bilgisayara ait yerel bir cihaz gibi
görülmeli, böylece istemci üzerinde çalışan programların her biri(yazı
editörü, dosya yönetisici-Word, Windows Explorer...) ağmış, sunucuymuş vs.
uğraşmadan, sanki o bilgisayarın kendi kaynağına erişiyor gibi bu cihazı
kullanabilmelidir. Tabii ki, bu
paylaşılan kaynak istemci üzerinde ufak bir farkla gözükmeli ki normal
aygıtlardan ayrılabilsin. Mesela azıcık farklı bir ikonla.. |
|
Bilgisayar
ağlarının amacı paylaşımdır. Bilgisayar ağı en az iki cihazdan oluşur.
Kaynaklarını paylaşan cihaz sunucu, paylaşılan kaynağı kullanan cihaz ise
istemci olarak adlandırılır.
Bir bilgisayarda
aynı anda bir çok sunucu yazılımı çalışabilir. Bir bilgisayar hem sunucu hem de
istemci olabilir