Bu sayfadaki yazılar
Sayfanın metni
Sayfa 10
YAPIYA İLİŞKİN TEMEL KAVRAMLAR
Bir işletim sisteminin, sağladığı tüm hizmetleri temsil eden komutların çeşitliliği, sistemin fonksiyonlarının çeşitliliği kadar yüksektir. Hedeflediği fonksiyonlar açısından fazla iddialı olmayan küçük bir işletim sistemi 8 K düzeninde; daha büyük işlemcilerin bulunduğu büyük ve iddialı bir genel amaçlı işletim sistemi ise 8 Mbyte düzeninde olabilir. Modül değeri, modüllerin birbirleriyle ilişkisi ve modeller arasındaki veri akışı bakımından böyle programların organizasyonu büyük ilgi uyandırmaktadır. Kolayca kurulup değiştirilebilen, güvenilirliği kanıtlanmış sistemlerin bir programlama yöntemine uygun olarak inşa edilmeleri gerekir. İşletim sistemlerinin yapısal tutarlılığını artırma girişimi olarak, yazılım mühendisliği, bileşik tasarım, yapılaşmış programlama vb. konularında ortaya atılan düşüncelerin ışığında pek çok çalışma yapılmıştır.
Kaynak/Operatör Eşlemeleri
İşletim sistemi, iş yapan kaynaklar ile operatörler arasındaki işlemleri yerine getirir, bütünler. Böyle bir bütünlükte kaynaklarla operatör arasında çeşitli eşlemeler yapmak mümkündür. Bunlardan biri, operatörden kaynağa eşlemedir. Burada, sistemdeki her türlü kaynak üzerinde etkili olacak READ, WRITE, DESTROY, CREATE gibi bir dizi kapsamlı operatör tanımlanır. Örneğin READ operatörü, sistemin READ etmesi istenen herhangi bir kaynağını semantik olarak anlamlı bir eylemle görevlendirir. Diğer alternatif, tahmin edilebileceği gibi, kaynaktan operatöre eşlemedir. Böyle bir organizasyonda, özgül bir kaynağa sunulabilecek fonksiyonların tümüne ilişkin yöntemler tanımlanır. CREATE, READ, WRITE, DESTROY Object of Type A, A kaynağına yönelik herhangi bir fonksiyonun nesneye ait genelleştirilmiş operatör tarafından yerine getirilmesi demektir. Bu genelleştirilmiş operatörlere monitör adı verilir. Monitör yapımının ardında yatan düşünce, bilgi saklama kurallarından yararlanmak ve özgül bir programı özgül bir kaynak ya da kaynaklar grubu çevresine yaymaktır. Bu durum bir yandan kaynağın organizasyonuna ilişkin ayrıntıları değiştirebilmeyi, diğer yandan da programın yalnızca kendi monitöründen etkilenmesini sağlar. Örneğin, tüm programların monitör aracılığıyla bir tablo ya da listeye gönderme yaptığı düşünülürse, tablo ya da listenin yapısındaki herhangi bir değişimin yalnızca monitörü etkilemesi önem kazanır. Gerçek zamanlı işletim sistemleri genellikle bu iki eşlemenin bileşiminden oluşur. Çağdaş işletim sistemi tasarımındaki sorunlardan biri, daha küçük işletim sistemlerine tutarlılık kazandıran belirli yapısal yaklaşımların çok büyük işletim sistemlerinde de verimli biçimde göstermektir. Çok fazla çevre kaynağı olan ve büyük çeşitlilik gösteren bir sistem için gerekli eşlemeler, yapısal kavramların uygulanabildiği küçük sistemlere özgü esnekliği ortadan kaldırabilir.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 11
Hiyerarşik Yapı
İşletim sistemlerini açıklayan temel kavramlardan biri hiyerarşidir. Hiyerarşik bir sistemde çeşitli fonksiyonlar, iyi tanımlanmış program katmanları halinde yapılaşmışlardır. Belli bir basamaktaki her program ancak daha üst bir basamakta yeralan bir programla tamamlandığında da kontrol için tekrar üst basamağa dönebilir. Hiyerarşi ilkesinin bir kullanımı, yükselen ayrıcalık düzeylerini gösteren basamaklardır. Belli bir dosya üzerinde oynama ya da belli bir tabloyu inceleme hakkı, belli bir düzeydeki programa aittir. Daha alt düzeydeki bir programla ilintili bir kaynak üzerinde çalışmayı isteyen bir programın fonksiyonunu yerine getirebilmesi için, uygun basamaktaki programı aşağıdaki yapıya çağırması gerekmektedir. Tam bir hiyerarşi amaçlandığında, işletim sisteminin bileşenleri fazlasıyla sıkı yapılara dönüşebilir. Hata bulma kolaylığı ve koruma avantajları yitirilmeden, sıkı hiyerarşik yapının ne dereceye kadar gevşetilebileceği üzerine çalışmalar yapılmaktadır.
TASARIMA
İLİŞKİN EĞİLİMLER VE ETKİLER
Donanım ve İşletim Sistemleri Karşılıklı Etkiler
İşletim sistemiyle donanım tasarımı arasındaki ilişki esas olarak çift yönlü olmuştur. İşletim sistemlerine ilişkin kavramlar geliştikçe dikkatler, donanım/yazılım arabirimi ve donanımın fonksiyonlarıyla işletim sisteminin sundukları arasındaki sınır üzerinde yoğunlaşmaya başlamıştır.
1960'ların başına gelindiğinde makinelerin yapı ve tasarımlarında, uygulama programlarının bir işletim sisteminin yanısıra çalışacağı ve makinelerin bir şekilde paylaşılacağı genel kabulünden yola çıkılmaktaydı. Görünen (virtual) bellek yapısında çalışan bir programda yeralan adresler, donanım belleğindeki mevcut konumları göstermez. Amaç, bir program için, makinenin belleğinden daha geniş bir adresleme alanı sağlamaktır. İşletim sistemi böyle bir yapıda, derlenen programdaki adresleri gerçek bellek konumlarına çeviren bir tablo kullanır. Her bellek referansının, ona karşılık düşen gerçek bellek konumunu bulmak için bu tabloya başvurulur. Bellek genel olarak, sayfa adı verilen yapılara ayrılmıştır ve her program bellek adresi, sayfadaki başlangıç yerine ek olarak bir boşluk bırakmak suretiyle işlem görür. Programın kullandığı bir bellek adresi, bellek çeviri tablosuyla temsil edilmediğinde, program adresini içeren sayfanın disk ya da tamburdaki konumunu bulmayı sağlayan bir sinyal işletim sistemine verilir. Sonra sistem, sayfayı alacak genişlikte bir alanı kendi belleğinde ayırır, sayfayı bu bellek bloğuna taşır ve sayfanın bellekteki yerini bellek tablosunda belirtir.
görünen tam adres
Şekil. Çeviri Tamponu gerçek — referans adres — biti 8192 0 12288 4098 —— 1 8192 16384 —— 1 16384 65536 —— 0 — 65536 20480 32768 —— 1 128 24576 ——— 61440 —— 1 “55664 32768 —— 12788 ——0 40960 —— 36864 —— O Notlar
a. Görünen adresin üst kısmı anahtardır b. Array'in paralel taraması gerçek taban adresini verir c. Düşük düzeyli bitler özel gerçek adresleri verir d. Referans biti, sayfaya yakın zamanda başvurulup başvurulmadığını gösterir.
Belirli bir sayfanın bellekte olup olmadığını saptama işlemini hızlandırmak için yeni bilgisayarların çoğu çeviri tamponu (bkz. Şekil) adlı bir donanım mekanizması kullanır. Bu tampon, bir adresin aranma ve çevrilmesinde bellek mantığı yerine işlemci mantığı hızıyla çalışır. En son başvurulan sayfaların bellek konumları tamponda belirtilir. Bir sayfa için işletim-sistemi-esaslı yazılım tablosuna başvurmak, yalnızca bu sayfanın çeviri tamponunda bulunmaması durumunda gerekli olur. Böylece, gereksindiği toplam bellek hacmi, belleğin fiziksel hacmini aşan bir işletim sistemine, önemli bir donanım desteği sağlanmış olur. Donanımın yapısı, makinenin paylaşılma durumuna ve bir dizi programın doğru çalıştırılması için belli fonksiyonların koordine edilme gerekliliğine göre değişir. Örneğin çoğu donanım yapısı bir girdi/çıktı komutunun kontrol durumunda olmayan bir program tarafından kullanılmasına elvermez.
Programlar sistemin olanaklarını paylaşırken birbirlerinin sistemdeki varlıklarından haberdar olmayabilirler; bu yüzden işletim sisteminin, makineyi kullanan programlarla, program referansları arasında koordine edici bir mekanizma işlevini görmesi gerekir. İşletim sistemi kontrol durumunda çalışır ve sıraya koyma, uyarma, koordine etme fonksiyonlarını üstlenir.
Yakın zamanlarda donanım arabirim alanını büyüterek, işletim sisteminin fonksiyonlarına donanım desteğini arttıracak çalışmalar yapılmaktadır. Artık birtakım yapılar, işletim sisteminin işlem kontrol bloğuna donanım desteği vermekte ve temel veri yapılarının daha verimli yönlendirilmesini kolaylaştıran komutları da içermektedir. Böylece işletim sisteminin sıraya koyma, yönetme, yer bulma, bağlantı kurma fonksiyonları daha az komutla yürütülebilmektedir. Bazı donanımlarda program hiyerarşisi, basamaklar halinde hiyerarşik bir yapıya sahip işletim sistemi fonksiyonlarını temsil eden çoklu kontrol durumlarıyla desteklenir. Bunun sonucunda, kontrol ve kontroldışı durumları yerine birçok kontrol düzeyi bulunabilir. Her kontrol düzeyi, işletim sisteminin bir düzeyiyle ilişkili ayrıcalık ve otorite düzeyine karşılık düşer.