27 Aralık 2012 Perşembe

DAĞITILMIŞ İŞLETİM SİSTEMLERİ (D.İ.S)


DAĞITILMIŞ İŞLETİM SİSTEMLERİ (D.İ.S)

Dağıtılmış sistemlerin en büyük özelliği bu sistemlerde yazılım mimarisinin (yapısının)
merkezleşmiş sistemlerden tamamen farklı olmasıdır. (Not: D.İ.S. henüz gelişim
aşamasındadır. Bu sistemlerde henüz kabul edilmiş standartlar yoktur.)
D.İ.S ‘nin merkezleşmiş İ.S.’nden aşağıdaki farkları vardır.

􀂃 Düşük maliyet
􀂃 Yüksek işlem hızı ve verimlilik
􀂃 Dağıtılmış uygulamalara yönelik olması
􀂃 Daha yüksek güvenirlik
Bilgisayarların ağ ortamında kullanılması verilerin ve aygıtların ortak kullanımı ve
iletişim kolaylığını sağlar. (bu bağımsız bilgisayarlardan farklıdır.)

D.İ.S’nin problemleri aşağıdaki gibidir.
􀂃 Ağ sistemlerinin yazılımı yavaş yapılanmıştır, gelişim aşamasındadır.
􀂃 Ağda çalışma ile ilave problemler oluşmaktadır.
􀂃 Güvenlikle ilgili problemlerin çözülmesi gerekir.

Dağıtık sistemlerin 4 genel mimarisi mevcuttur.
1. SISD
2. SIMD
3. MISD
4. MIMD

1. SISD (Single Instraction Single Data)(Tek Komut Tek Veri) : Her komut üzerinde bir
veri işlenir. İşlemciye bir komut gönderildiğinde o komut o anda o veri üzerinde işlenir.
Tek işlemcili sistemler bu mimariye aittir.

2. SIMD (Single Instraction Multi Data) (Tek Komut Çok Veri) : bir tek komut birçok
veri üzerinde etkilidir. Çok işlemcili bilgisayarlar (paralel bilgisayarlar) bu mimariye
sahiptir.
komut
a1 f(a1)
a2 f(a2)
an f(an)

3. MISD (Multi Instraction Single Data)(Çok Komut Tek Veri) : Bu mimari teori olarak
var ancak gerçekte yoktur. Aynı zamanda veri üzerinde farlı işlemler yapılmasını ifade
İbrahim Türkoğlu – Fırat Üniversitesi, Elektronik ve Bilgisayar Eğitimi Bölümü – 2006
111
eder. Örneğin k’nın ünlü ünsüz olduğu belirlenirken aynı zamanda alfabenin kaçıncı harfi
olduğu belirlenmesin.

4. MIDM (Multi Instraction Multi Data)(Çok Komut Çok Veri) : Özellikle ağ
sistemlerinde bu mimari kullanılır.
Süper bilgisayarlarda SIMD mimarisi kullanılır.
Her biri ayrı bilgisayar. Her birinin kendi diski,
belleği,...vs. var.
Bu ağ sistemi değil çok işlemcili sistemdir.
Yönetimi kolaylaştırmak için yapısallık oluşturulur.
İki küp var. Bunlar birbirine bağlıdır.
Küp sayısı arttırılabilir.

Paralel olarak çalışan bir sistem
1. Çok işlemcili (bilgisayarlı) sistemler
2. Ağ sistemleri
Ağ sistemleri zayıf bağlı sistemlerdir.
􀂃 Bilgisayarlar arasında veri alışverişi yapılabilir.
􀂃 Kabukların ortak kullanımı yerel sistemlerde
􀂃 Aynı yazılımlara erişim tek kanallı
Çok işlemcili sistemler sıkı bağlı sistemlerdir. Bir ana bellekten işlemler gerçekleşir.
İşlemcilerin kendi yerel bellekleri olabilir.
Tek kanaldan aynı anda birden fazla veri gönderilmesi bilgi kaybına yol açabilir. Bunun
için çeşitli çözümler kullanılır. Örneğin her bilgisayara bir adaptör konulur. Adaptör ağı
dinler. Bir bilgiyi göndermeden önce kanal hakkında bilgi edinir. Kanalda bir veri yoksa
bilgiyi gönderir.
Bir başka yol da jetonlu halka yöntemidir.

Giriş Çıkış Yazılımlarının İlkeleri


Giriş Çıkış Yazılımlarının İlkeleri

Giriş-çıkış yazılımı çok seviyelidir. Her seviye donanımın aygıtlarını bir üst seviyeden
saklar. En üst seviye kullanıcıya anlaşılır bir arayüz sunmuş olur.
Yazılımların oluşturulmasında başlıca 4 ilke vardır:
􀂃 Aygıttan bağımsızlık
􀂃 Aynı biçimli adlandırma
􀂃 Hataların yönetimi
􀂃 Aygıtların ortak kullanılabilirliği

1. Aygıttan bağımsızlık : G/Ç yazılımların tasarımında başlıca hedef yazılımların
aygıttan bağımsızlığını sağlamaktır. Örneğin programın diskteki veya disketteki
kütüklere erişimi arasında fark olmamalıdır.
2. Aynı biçimli adlandırma : Birinci ilkeyle sıkı bağlıdır. Kütük adlarıyla aygıt adlarının
yapısında hiçbir fark olmamalıdır. Tüm kütüklere aynı yöntemle yol adlarıyla erişilir.
3. Hataların yönetimi : Genelde hatalar mümkün oldukça yönetim seviyesinde yönetilir
ve oradan götürülür. Eğer disk denetleyici okuma hatası bulmazsa ilk önce bu hatayı
kendisi düzeltmeye çalışır. Eğer bunu başaramazsa aygıt sürücüsü bu işi yapmalıdır.
Büyük olasılıkla okuma hatası giderilmek için uygun blok yeniden okunmaya
çalışılacaktır. Eğer alt seviyeler hatayı çözemezse yukarı seviyeler bu problemi
çözmelidir.
4. Aygıt paylaşımı : Bazı giriş çıkış aygıtları (örneğin disk) birçok kullanıcı tarafından
aynı zamanda kullanılabilir. Bu zaman G/Ç alt sisteminin görevlerinden birisi aygıtın
kullanıcılar arsında düzgün ve verimli paylaşımını sağlamaktır. Bazı aygıtlar ise
paylaşılamaz aygıtlardır. Aynı zamanda bu tür aygıtlara istek veya sorgu gelirse G/Ç
sistemi bu taleplerin hangi ardışıklıkla ve yöntemlerle gerçekleşeceğini de
belirlemelidir.

İşletim sistemi bu fonksiyonlarını gerçekleştirmek için dört katmandan oluşur.
􀂃 Kesilme yöneticileri
􀂃 Aygıt sürücüleri
􀂃 Aygıttan bağımsız işletim sistemi yazılımı
􀂃 Kullanıcı seviyeli yazılım

G/Ç işlemlerinin mümkün olduğu kadar AİB ‘den uzaklaştırılması denetleyiciler
tarafından yapılması önemlidir. AİB yapılacak işlemleri disk denetleyicisine sinyalle
gönderir, ayrıca bellekte hangi adrese yerleştireceğini de belirler. Bundan sonra AİB başka
işlemleri gerçekleştirir. Denetleyici verilen işlemi gerçekleştirir ve işini bitirince AİB ‘ye
sinyal gönderir.
1. Kesilme yöneticileri : Kesilmeler genelde işletim sisteminin alt seviyesinde saklanır
ve işletim sisteminin küçük bir kısmının bu kesilmeler hakkında ilgisi bulunur. G/Ç
işlemleri başladıktan bitene kadar görev kesilmeli, ve uygun sinyal geldikten sonra
görev yeniden işe başlayabilmelidir. Bu fonksiyonları kesilme yöneticisi gerçekleştirir.
Kesilme yöneticisinin bir fonksiyonu da G/Ç aygıtlarıyla ilgili hataların analizidir.
2. Aygıt sürücüleri : Aygıt sürücüleri aynı sınıfa ait aygıtları yönetmek içindir. Aygıta
bağımlı kodlar aygıt sürücülerinde bulunur. Denetleyicilerin kodlarında bulunan
yazmaçlar aygıt sürücüleri tarafından alınır ve sürücüler bu komutların doğru
çalışmasını kontrol eder. Sürücülerde denetleyicilerin kaç yazmacı olduğu ve bu
yazmaçların hangi amaçlarla kullanıldığı hakkında bilgiler bulunur. Örneğin yalnız
disk sürücüsünün diskin bölümleri, yol ve silindirleri, disk başlığı, motor sürücüleri
hakkında bilgi bulunur.
3. Aygıttan bağımsız G/Ç yazılımları : Sürücüler ve aygıttan bağımsız yazılımlar
arasında kesin sınır işletim sistemine bağlıdır. Öyle ki aygıttan bağımsız yazılımların
gerçekleştirdiği bazı fonksiyonları verimliliği yükseltmek amacıyla aygıt sürücüleri ile
yapmak mümkündür. Aygıttan bağımsız yazılımların başlıca fonksiyonu tüm aygıtlar
için ortak olan G/Ç fonksiyonlarını gerçekleştirmek ve kullanıcı seviyesiyle tek
biçimli ara yüzü oluşturmaktır. G/Ç aygıtları için ortak fonksiyonlar okuma yazmadır.
Kullanıcının diske, diskete ve yazıcıya yazmak arasında hiçbir fark olmamalıdır.

GİRİŞ-ÇIKIŞ İŞLEMLERİ


GİRİŞ-ÇIKIŞ İŞLEMLERİ

İşletim sisteminin önemli fonksiyonlarından birisi G/Ç aygıtlarının yönetimidir. Bu
yönetim aygıtlara gönderilen komutlarla, kesilmelerle, hataların kontrolü ve yönetimiyle ifade
edilebilir. G/Ç yönetim sistemi aynı zamanda aygıtlarla sistemin diğer bileşenleri arasında ara
yüzü oluşturur ve bu ara yüzü kullanıcı için basit bir biçime dönüştürür.

G/Ç aygıtlarını genelde 2 kategoriye ayırmak mümkündür.
􀂃 Blok aygıtları
􀂃 Karakter aygıtlar

Blok aygıtlarının her biri sabit boyutta adreslerde saklanıyor ve her bir bloğun kendi
adresi mevcuttur. Bu tür aygıtlar da blokları diğer bloklardan bağımsız olarak okuyup yazmak
veya erişmek mümkündür. Disk blok aygıtıdır.
Karakter aygıtlarında ise, bilgilerin okunup yazılması (bilgi alışverişi) karakter
yardımıyla gerçekleştirilir. Bunlar adreslenebilen değildir. Bu bakımdan bu tür aygıtlar da
arama yapılamaz. Terminaller, bilgisayar ağ arayüzleri, yazıcılar bu tür aygıtlardandır.
Birçok aygıtlar bu 2 kategoriye ait değildir. Örneğin saat; saat ne adreslenebilendir ne de
karakterlerle işlenir.

8.1. Aygıt Denetleyiciler
G/Ç aygıtları mekanik ve elektronik bileşenlerden oluşur. Elektronik bileşene aygıt
denetleyicisi veya adaptör denir. Mekanik bileşen ise aygıtın kendisidir. Denetleyici ve aygıt
arasında standart arayüzleri (ANSI, IEEE, ISO) vardır. İşletim sistemi aygıtlarla değil
denetleyicilerle ilgilidir. Denetleyici genelde iki veya daha fazla aynı türlü aygıtı
denetleyebilirler.

Kütükler Üzerinde İşlemler


Kütükler Üzerinde İşlemler

Kütük diske yerleşmiş veri topluluğudur. Disk bloklarında yerleşir. Bloklara yerleşme
çeşitli şekillerde olur. Bağlaçlı liste, vs. Kütükler için disk bloklarının kullanımı birkaç
yöntemle gerçekleştirilebilir.

1. Ardışık yerleşim yöntemi : Bu yöntemle her bir kütük diskteki ardışık bloklarda saklanır.
Örneğin 50K ‘lık bir kütüğümüz varsa ve disk bloklarının boyutu 1K ise, 50 Blok
gerekecektir.

Ardışık yerleşimin iki üstünlüğü vardır:
1. Çalıştırılması basittir ve sadedir; kütük bloklarının yerini belirlemek için yalnız 1.
bloğun adresini bilmek yeterlidir.
2. Verimlilik yükseltir; bir işlemde tüm kütüğün okunması mümkündür.
Ardışık yerleşimin 2 yetersiz yönü vardır:

1. Kütük oluşturulduğu zaman onun maksimum uzunluğu (boyutu) çoğu zaman belli
olmuyor. Bu bakımdan kütükler için ne kadar yer ayrılacağı problem oluşturur.
2. Disk alanının verimsiz kullanımı ile ilgilidir. Bir kütük için ayrılmış fakat şu anda boş
olan disk alanları diğer kütükler tarafından kullanılamaz.

2. Bağlaçlı Liste Yerleşimi : Bu yöntemde kütükler bağlaçlı liste oluşturan disk bloklarına
yerleştirilirler. Her bloğun 1. kelimesi sonraki bloğun göstergesidir.

Bu yöntemde tüm disk blokları kullanılabilir. Kütüklerde, diskin kütükler arasında
dağıtılmasından dolayı disk alanı kaybı olmuyor. Dizinlerde, 1. disk bloğunun adresi
gösterilir. Doğrudan (rastgele) erişim, ardışıklığa oranla yavaştır. Burada, bir adresin
bulunması daha kolaydır.

3. İndeksleri kullanan bağlaçlı liste yerleşimi : Bu yöntemde her bir disk bloğundaki
göstergeler bellekte bir indeksler tablosu oluşturur. Bu yapıyı kullanmakla blokların içeriğine
daha kolay erişilir. Rast gele (doğrudan) erişim hızı yüksektir. MS DOS ‘da kullanılır.
Başlıca yetersizliği indeksler tablosunun her zaman (kütüğün çalışması süresince) ana
belleğe yerleşmesidir.

KÜTÜK SİSTEMLERİ


KÜTÜK SİSTEMLERİ

Kütük soyut bir kavramdır. Diske Lojik-0,1 ‘ler şeklinde yerleşir. Kullanımı
kolaylaştırmak için kütük görünümleri kullanılır.
Kütük kullanımının amacı :
1. Program ve veriler üzerinde işlemleri kolaylaştırmak.
2. Büyük hacimde verilerin ana belleğe sığmaması durumunda kütüler kullanılır.

Dizinler bir ağaç yapısı oluşturur. Dizinlerde kütüğün bir türüdür. Tüm bilgisayar
okumaları için bilginin kaydedilmesi ve okunması gerekiyor. Ama bu bilgilerin tümüyle ana
bellekte tutulması ve saklanması çoğu zaman üç sebepten gerçekleştirilemez.

1. Bellek alanının yetersizliği
2. Görev kesildikten veya işini tamamladıktan sonra onunla ilgili bilgilerin de ana
bellekten silinmesi kaybı.
3. Birden fazla görevin aynı zamanda aynı verilere erişiminin sağlanabilmesidir.
Bu üç problemi çözmek için bilgiler disk ortamına kaydediliyor. Buna ikinci bellek
denir. Diske kaydedilmiş bu tür bilgi birimlerine kütük denir. Kütükteki bilgiler kalıcıdır ve
görevin oluşturulması veya kesilmesine bağlı değildir. Kütükler İşletim Sistemi tarafından
yönetilir. Onların yapılandırılması, adlandırılması, kullanımı, çalıştırılması İşletim Sisteminin
başarımının başlıca konularıdır. İşletim Sisteminin kütüklerle ilgili kısmı kütük sistemini
oluşturur. Kütükler soyut mantıksal varlık olduğundan onlara erişim, kütük adlarıyla
gerçekleştirilir.
Çeşitli İşletim Sistemlerinde kütüklerin adlandırılması için farklı kısıtlamalar vardır.
Çoğu kütükler iki kısımlı adı destekliyor. Birincisi kütüğün özel adı, ikinci kısım uzantısı.
􀂃 Linux’ta uzantıların sayısının sınır yoktur.
Örn : prog_adi.tar.gz

􀂃 Windows da .exe uzantılı olamayan dosya çalıştırılamaz.
Örn : prog_adi.exe

􀂃 Ms-DOS da büyük küçük harf ayrımı yoktur.
Örn : prog.exe ile PROG.exe aynı


􀂃 Unix de büyük küçük harf ayrımı vardır.
Örn : prog.exe
PROG.exe farklıdırlar.
Prog.exe

7.1. Kütük Yapılandırmaları
Kütükler çeşitli şekillerde yapılandırılabilir :
1. Bitler ardışıklığı şeklinde yapılanma: Erişim bit ardışıklığı ile yapılır. Bit sayısı çok
olduğundan erişim kolay değildir. Eski sistemlerde kullanılır. Arama işlemleri zordur ve
çok zaman gerektirir.

2. Kayıtlar ardışıklığı şeklinde yapılanma: Genelde kullanılan yapıdır. Kayıt ve alt
seviyeleri bitlerden oluşur. Verilere erişim kayıtlar üzere yapılır. Kütük ise sabit
uzunluklu kayıtlardan oluşur (80-128-132 karakter uzunluk).

3. Ağaç şeklinde yapılanma: Bu sistemler, DataBase machine türü sadece verilerle
uğraşmak için yapılır. Kütük, kayıtlar ağaç biçiminde yapılanır. Kayıtların aynı
olmayabilir, farklı olabilir. Her kayıtta kendi adı veya anahtarı ile erişim mümkündür.
Bu tür yapılar özel işletim sistemlerinde (veri tabanına yönelik sistemlerde) kullanılır.
Kayıtların yapılanmasında başlıca amaç, verilmiş anahtarla herhangi bir kayıta doğrudan
erişimi sağlamaktır.
Ağaç
Yapılanması
A B C
A1 A2 A3
A11 A22 A33

Kayıtların Yapısı : Sabit boyutlu ve değişken boyutlu kayıtlar vardır. Mantıksal kayıtlar
değişken boyutludur. Her bir kaydın anahtarı vardır. Anahtar üzerinde sıralama yapılır. Erişim
bu şekilde sağlanır. Kayıt adı ile erişilemez.
Kütük türleri : İşletim sistemleri, çeşitli kütük türlerini desteklemektedirler. Bunlar;
􀂃 Kullanıcı bilgilerini içeren kütükler
􀂃 Kütük sisteminin yapısını içeren kütükler
􀂃 Simge kütükleri (Ardışık giriş-çıkış aygıtlarında işlem yapmak için kullanılır. Yazıcı,
ağlar, terminaller. Bunlar, geçici olarak oluşturulurlar ve işlem bitikten sonra
silinirler).
􀂃 Blok kütükleri (Diskle işlem yapmak için kullanılır).

Kütüklere ardışık ve rast gele (doğrudan) erişim mümkündür. Ardışık erişimde gereken
veriye ulaşmak için 1.’den başlayarak tüm veriler okunmalıdır. Şimdiki sistemlerde her ikisi
de kullanılır. Genelde doğrudan erişim.

Her bir kütüğün adı ve içerdiği bilgilerin yanı sıra başka özellikleri de vardır. Sistemden
sisteme bu özellikler değişebilir. Genel özellikler şunlardır.
􀂃 Koruma
􀂃 Parola
􀂃 Kütüğü oluşturanın adı, özellikleri, oluşturulma tarihi
􀂃 Bayraklar (Geçici yada kalıcı kütük, sistem veya kullanıcı kütüğü olduğu, erişim
hakkında bilgiler bulunur).
􀂃 Kayıtın uzunluğu, boyutu
􀂃 Kütüğün son güncelleme tarihi
􀂃 Kütüğün şimdiki ve maksimum boyutu
Kütüğün okunması sırasında tüm kütük belleğe aktarılır (açma işlemi). İşlem bittikten
sonra kapanır ve diske gönderilir.