Dağıtık sistemler
DAĞITIK
SİSTEMLER
Dağıtık sistemler
Dağıtık sistem, farklı bilgisayarlardaki donanım ve
yazılım bileşenleri arasında haberleşme ve koordinasyonunun sadece mesajlaşma
yoluyla sağlanabildiği ağ olarak tanımlanır. Dağıtık sistemi diğer bilgisayar ağlarından
farklı kılan özelliğin, ağın varlığı ve işlevinin kullanıcıya görünmemesi
olduğu söylenebilir. Örneğin kullanıcı bir program çalıştırdığında, en iyi
işlemciyi seçmek, giriş dosyalarını bu işlemciye aktarmak ve dönen sonuçları
uygun yere koymak işlemcinin yürüttüğü işlerdir. Çok işlemcili bir dağıtık
sistemde çalışmakta olmasına rağmen, kullanıcıya görünen ise tek bir sanal
işlemcidir. Diğer ağlarda, kullanıcının kendisi bir makineye bağlanır, iş
isteğinde bulunur, dosya gönderir vs. Diğer bir deyişle, ağ yönetim işlemleri
kullanıcı tarafından yürütülür. Dağıtık sistem, bir ağ üzerine kuruludur.
Yazılımla, ağdaki bileşenler arası işlevsel uyumluluk ve kullanıcı açısından
saydamlık sağlanır. Dolayısıyla, dağıtık sistemin diğer ağlardan farkı donanım
değil, yazılım katmanından –özellikle işletim sisteminden- kaynaklanmaktadır. Dağıtık sistemlerin var
oluş amacı, kaynakları paylaşmaya duyulan gerekliliktir. Bu kaynaklar
donanımsal bileşenler (disk, yazıcı) olabileceği gibi, dosyalar, veri tabanı,
nesneler gibi yazılım varlıkları da olabilir.
Donanım ve Yazılım
Kavramları
Giriş birimleri ile dış dünyadan aldıkları veriler
üzerinde aritmetiksel ve mantıksal işlemler yaparak işleyen ve bu işlenmiş
bilgileri çıkış birimleri ile bize ileten, donanım ve yazılımdan oluşan
elektronik makinedir. Bilgisayar donanımı, bilgisayarların fiziksel kısımlarına
donanım denilmektedir. Elle tutulabilirler. Ekran, klavye, sabit disk, fare,
yazıcı, bellek, mikroişlemci, tarayıcı…
Bilgisayar yazılımı, donanımı kullanmak için gerekli
programlardır. Bilgisayarın nasıl çalışacağını söylerler. Elle tutulmazlar.
Belirli bir işlemi yapmak üzere bilgisayara kurulurlar. Öreğin, kelime işlem
programları son kullanıcıların yazı yazması için kullanılır. Tablolama, sunu,
programlama dilleri, ses programı gibi…
İstemci – Sunucu
Modeli
İstemci-sunucu,
istemciyi sunucudan ayıran bir ağ mimarisidir. Her bir istemci yazılımı,
sunucuya ya da uygulama sunucusuna isteklerini gönderir. Bu fikrin pek çok
çeşitli uygulaması olmasına karşın, en güzel örneği İnternet üzerindeki Web sayfalarıdır. Bir web
sayfası incelenirken, bilgisayar ve web tarayıcısı istemci olarak adlandırılır.
Web sayfasını oluşturan gelişmiş bilgisayarlar, veri tabanları ve uygulamalar
da sunucu olarak adlandırılır. Web tarayıcısı, web sitesinden bir istekte
bulunur ve sunucu istenen bilgileri toplar ve onu bir web sitesi şekline
getirerek web tarayıcısına geri yollar, kullanıcılar da ekranda web sitesini
görmüş olur. Bir istemci/sunucu mimarisi, ölçeklenebilir bir mimari sunmayı
amaçlar. Böylece ağdaki her bir bilgisayar bir istemci ya da sunucu rolünü
üstlenir. Sunucu yazılımı genelde, fakat her zaman değil, bir iş yazılımı için
adanmış güçlü bir bilgisayarda çalışır. İstemci yazılımı ise genelde sıradan
bir PC veya işistasyonunda çalışır. İstemciler gerek duydukları verinin pek
çoğunu ya da tamamını uygulama sunucusundan isterler. Mesela; ayar dosyaları,
stok verileri, iş uygulama yazılımları vs. gibi.
Uzak Yordam
Çağrısı (RPC)
Uzak yordam çağrısı, bir diğer adres
uzayı (genelde ağ paylaşımlı bilgisayarlar) üzerinde programcı açıkça bu
uzaktan etkileşim detayları kodlama olmadan çalıştırmak için bir alt yordam
veya prosedürü sağlayan bilgisayar programına izin veren süreçler arası
iletişim teknolojisidir. Sunucu üzerindeki servisleri kontrol ettiğimizde
karşımızı çıkan RPC, arka plânda birçok şeyi gerçekleştiren bir servistir. RPC,
temelde istemci ve sunucu arasında yapılan işlemlerin iletişimi için
tasarlandı. Bir işlemin gerçekleşmesi için bir gönderici (sunucu) ve bir de
istemci vardır.
İstemciler
İstemci, Bir ağ
üzerinde, sunucu bilgisayarlardan hizmet alan kullanıcı bilgisayarlarıdır.
Bilgiye erişim yetkileri sunucu tarafından belirlenir.
Değişik çeşitleri olmakla
birlikte önemli sınıflaması
·
Şişman/Zengin
istemci: Yazılımın her seferinde sunucudan bütün
istemcilere yüklenmesi ya da bir başka medyadan yüklenmesi gerekir. Örnek: Microsoft Outlook.
·
Zayıf
istemci: Sâdece sunumla ilgili grafik birimleri ve onların denetim yazılımını
içerir. İşle ilgili yazılım sunucudadır. Haberleşme
kanalından gönderilen bilgi az olmasına dikkat edilir. Yazılımının bilgisayara
yüklenmesi problemi yoktur. Zengin istemciye nazaran daha değişik
bilgisayarlarda, hatta mobil gereçlerde de kullanılabilir. Örnek: J2EE/J2ME mimarisiyle yapılmış bir sitenin istemcisi. WEB istemci-sunucu sistemi olarak bilinir.
Sunucular
Sunucu (Server), bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların)
erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi.
Bir ağda birden fazla sunucu birim bulunabilir. Karşıtı istemcidir.
Çeşitleri de vardır: Shared Hosting (paylaşımlı
barındırma), Co-Location, Reseller ve Dedicated Hosting (barındırma).
Paylaşımlı barındırmada bir sunucuda birden fazla alan (İngilizce: domain)
barındırılabilir. Co-Location, Kendi sunucumuzu özel hazırlanmış veri merkezlerinde
yüksek hızda hizmet bağlantısı ile yayına açar. Dedicated, Sunucu ve bağlantı
dahil tüm hizmetler firma tarafından karşılanır. Reseller Hosting de belli
sayıda alan (domain), disk ve bandwidth sınırları ile kullanıcıya sunulur. Windows türevi
ve UNIX türevleri
mevcuttur.
Windows tarafından önceleri Windows NT vardı
fakat zamanla Windows 2000 Server, Windows 2003 Server, Windows 2008 Server ve
Windows 2012 Server piyasaya çıktı.
Ayrıca sunucuların hangi amaçla kullanılacağı da
önemlidir. Örnek vermek gerekirse web hizmeti
veren sunucular vardır. Bunlara örnek olarak Apache, Microsoft IIS ve Abyss ve
Fastream IQ Web/FTP Server gösterilebilir. Dosya paylaşım, canlı
yayın ve hatta çevrim içi oyun hizmeti
verenleri de mevcuttur. Tüm bu sunucuların değişik sistem gereksinimleri
olacaktır.
Yazılım Etmenleri
Yazılım
etmenleri teknolojisi; açık, dinamik değişimlerin çok olduğu ve heterojen
ortamların yapısına uygun yazılımların geliştirilmesine yönelik bir
teknolojidir. Genel olarak, yazılım etmenleri söz edilen türdeki ortamlarda
özerk bir biçimde davranma özelliğine sahip birimler olarak tanımlanmaktadır.
Açık, dinamik ve heterojen ortamlara verilebilecek en iyi örneklerden birisi
İnternet ortamıdır. Yazılım etmenleri, 1990’lı yıllardan itibaren İnternet
üzerine dağılmış, değişik biçemlerde tutulan, sürekli değişen ve gelişen
bilgilerin kullanıcı amaçları doğrultusunda derlenmesi ve işlenmesini
gerektiren Web temelli uygulamalarda başarı ile kullanılmıştır. Yazılım
etmenleri günümüzde de bilgi teknolojileri alanının en önemli ve en hızlı
gelişim gösteren araştırma alanlarından birisi olma özelliğini korumaktadır.
Etmen Tabanlı Yazılım Mühendisliği alanının temel amacı, etmen tabanlı yazılım
sistemlerinin oluşturulması için gerekli geliştirme araçlarının/ortamlarının
tasarımı ve gerçekleştirimini sağlamak ve daha sonra bu araçların/ortamların
kullanımına dayanan geliştirme metodolojileri tanımlamaktır. Bu bağlamda, etmen
tabanlı yazılım sistemleri geliştirenlere bu geliştirme sürecinde ihtiyaç
duyacağı temel etmen sınıflarını ve servisleri sunan birçok etmen çerçevesi
geliştirilmiş ve etmen sistemlerini geliştirmek için değişik metodolojiler
tanımlanmıştır. Bununla birlikte, yazılım sistemlerini geliştirirken hangi
durumlarda etmen teknolojisinin kullanılması gerektiği konusu büyük önem
taşımaktadır. Etmen teknolojisini amaç dışında kullanmak, geliştirilen
yazılımları gereksiz yere karmaşıklaştırarak zaman ve işgücü kaybına neden olacaktır.
Bu durumda, etmen geliştirme çerçeveleri kullanmak veya belli bir etmen sistemi
geliştirme metodolojisini takip etmenin de anlamı olmayacaktır.
Senkronizasyon
Senkronizasyon eş zamanlı ya da eş zamanlama anlamına
gelen bir kelimedir. Senkron ve Senkronize olarak ve çeşitli durumlar için
kullanılabilmektedir. Örneğin bir şarkı icra edilirken playback yapılıyorsa
senkron ağız ve dinlenen şarkının uyumu için kullanılır. Ya da Facebook gibi
sosyal mecralarda gördüğümüz bu kelime (Senkronize); telefon rehberiniz ile
Facebook listenizdeki kişilerin eşleştirilmesi anlamına gelir. Ya da bir dans
grubunun her elemanının hareketleri aynı anda ve uyumlu yapması bir senkrondur.
Kelime anlamını toparlayacak olursak, eş anlı, eş zamanlı ya da uyumlu gibi
anlamlara gelir.
Yorumlar
Yorum Gönder