Bu sayfadaki yazılar
Sayfanın metni
Sayfa 8
İŞLETİM SİSTEMİNİN FONKSİYONLARI
Buraya kadar genel olarak işletim sistemi tiplerinin ayrımlarını gözden geçirdik. Şimdi işletim sistemlerinin bazı özgül fonksiyonlarını ayrıntılarıyla inceleyeceğiz.
İşlemci Yönetimi
Adından da anlaşılacağı gibi işlemci yönetimi, işlemcilerin yönetimi için hazırlanmış bir dizi program demektir. Bunlar arasında girdi/çıktı talebinin tamamlanması gibi sisteme ilişkin bir olay nedeniyle programın yarıda kesilmesini ve sonra da doğru biçimde yeniden işleme girmesini sağlayan kesinticiler (interrupt handlers), sistemi paylaşan bir dizi program arasında işlemcinin ilgisini bir programdan diğerine kaydıran gönderici (dispatcher) program, iki programın bir sistem hatasına yolaçabilecek biçimde aynı kaynağı kullanmalarını engelleyen programlanmış mekanizma sayılabilir. İşlemci yönetiminin ayrıntıları, işletim sistemini çalıştıran işlemcinin özgül yapısına bağlıdır. Kesinti ve görev kaydırma işlemlerinin ikisinde de, program verilerinin belleğin belirli bir yerinde bir sicilin içindekiler gibi saklanması sözkonusudur; böylece, durdurulan program doğru biçimde yeniden işleme sokulabilir. Görev kaydırma program statüsünün depolanmasını, arkadan gelecek olan programın statüsünün işlemci sicillerine kaydedilmesini ve belki de yeni program için bir tür ilk bellek yükünün oluşturulmasını içerir. Yeni program, bilgisayarda kullanılacak programları kapsayan bir gönderme listesinden seçilir. Zaman paylaşımının ya da çoklu programlamanın sözkonusu olduğu ortamlarda, bir terminal üzerinde, ya da batch'li bir program karışımı haliyle işlem gören programların aralıklı olarak çalıştırılıp durdurulmaları yaygın rastlanan bir durumdur.
Bellek Yönetimi
Bellek yönetimi, bir sistemin bellek içeriğini yöneten bir dizi program anlamına gelir. Bu yönetim, programların belleğe yerleştirilmelerini, program parçaları ve verilerin belleğe ve saklayıcı ortamlara giriş çıkışlarını düzenler. Belleğin yönetimi statik ya da dinamik olabilir. Statik durumda programın tümü, çalıştığı süre boyunca bellekteki konumunda tutulur. Dinamik yönetimde ise her kullanım anında programın gerekli parçası, her defasında farklı bir bellek bölgesine yerleştirilebilme olasılığıyla belleğe çağrılır.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 9
Program Yönetimi
Program yönetimi, sistemde çalışmakta olan uygulama programlarını yöneten programlardan oluşur. Sistemin bazı kaynaklarına yerleşmiş ve sistemi kullanmak isteyen her program, işlem kontrol bloğu adı verilebilecek bir yapıyla temsil edilmektedir. Bu blok bir yazılım olarak tanımlanmış, uygulanacak kodu ve gerekli verileri saptayan bir yapıdır. Görev aktarımı için durdurulan bir program için saklanan siciller, o programı temsil eden işlem kontrol bloğunda depolanır. Sistemi kullanabilecek programların gönderme listesi bu kontrol bloklarının listesinden oluşur. Görev aktarımı, sırasını bekleyen işlemlerin işlemci tarafından belirli bir düzenle devreye sokulmaları etkinliğidir. Buna ek olarak bir işletim sistemi, işlemler (işlem kontrol blokları) oluşturma, işlemlerin birbirine mesaj göndermesini sağlama, işlem kontrol bloklarını silme, bu blokların çalışabilir ya da çalışamaz durumda olduklarını belirleme gibi özellikler de taşımalıdır. Bloke olmuş bir işlem kontrol bloğu, bir kaynağı kullanabilmeyi ya da bir olayın tamamlanmasını beklediği için çalışmayan bir programı temsil eder. Bir işletim sisteminin önemli bir fonksiyonu da, çalışmakta olan programlar arasında haberleşmeyi sağlayacak mekanizmaları oluşturmaktadır. Bu özelliğe genellikle işlemlerarası iletişim adı verilir. Böylece aralarında CALL/RETURN ilişkisi olmayan programlar iletişim kurabilmektedir.
Veri Yönetimi
Veri yönetimi, sistemin olanaklarını denetleme, tamponda boşluk bulma, girdi/çıktı isteğinde bulunan bir uygulama programı adına kayıt tutma ve girdi/çıktı isteklerinin statülerini saptayıp bildirmeye yönelik hizmetleri kapsar. Bunlara ek olarak genellikle, disk alanları üzerindeki alan dağılımını denetleme, on-line veri kataloglarını saklama, dosyaların kopyalama kontrollarını yapma fonksiyonları da vardır. Veri elemanları arasındaki karmaşık mantıksal ilişkiler ve sözlükler türünden daha kapsamlı bir veri yönetimi, veri tabanlı yönetim altsistemlerinde daha yaygın olarak görülür.
Kaynak Yönetimi
Kaynak yönetimi bir makinenin kullanımı ve kullanıcılara cevap verme yetisine ilişkin stratejiler uygulamak üzere öncelik, acillik gibi kavramlardan yararlanan bir dizi programdan oluşur. Büyük, çok amaçlı ve çok kullanıcılı sistemlerde işyükü ve kullanımın yönetimi özellikle önem taşır.
Bir işletim sisteminin gönderme listesi genel olarak, sistemin belirli kullanıcılara hizmet verme ve kaynakları verimli biçimde kullanmaya yönelik hedeflerini yansıtacak şekilde düzenlenir. Ayrıca IBM/MVS tipinde büyük bir işletim sisteminde, kaynak kullanımını ve programın ilerleyişini denetlemek üzere kesin sıra ve listeler de bulunabilir. Böylece işletim sisteminin planlama fonksiyonu, gönderme listesindeki düzene göre çalıştırılacak bir sonraki programın seçimi yanısıra, bir dizi programdan hangilerinin planlanmış belirli bir zaman aralığında işleme girmek için çekişebileceklerini belirlemeyi, sistemin tüm yükünü gözönüne alarak kaynakları kullanan program sayısını değiştirebilmeyi ya da belirli bir kaynağın yükünü değiştirebilmeyi vb. mümkün kılar. Çok kullanıcılı genel amaçlı büyük işletim sistemlerinde kaynak yönetiminin fonksiyonları da çok kapsamlı olabilir: Çeşitli kaynakların taşıdığı yük, belleğin, kanalların ve bilgi işlem biriminin kullanımına ilişkin sürekli veri toplanır. Ayrıca sistem, bir kullanıcıya sunulması amaçlanan hizmet düzeyinin yanısıra, kullanıcının öncelik durumuna göre gereksindiği hızda hizmet görüp görmediğini de gözönüne alır. Bir makinenin varolan durumunu kontrol etmek için zaman ve belleğin geniş tutulması şu gerekçeye dayanır: Kullanılan kaynakların, bunları verimli şekilde kullanmak için yapılan çok sıkı bir yönetim için harcanacak kaynaklara yetmemesi olasıdır. Yönetilecek daha az olan ve dolayısıyla kapasite-altı kullanılma riskiyle daha az karşı karşıya gelen küçük sistemler, evrensel olarak, pek hırslı denemeyecek kaynak yönetim stratejilerinden yararlanırlar. Kaynakların daha verimli kullanılmasıyla ulaşılacağı tahmin edilen düzey, en uygun kullanıma karar vermek için harcanan kaynakların altındadır.
Açık ve Kapalı
Fonksiyonlar
İşletim sisteminin bazı fonksiyonları, çalışmakta olan bir program tarafından, çalışma ortamında açık olarak çağrılır. İşletim sisteminin bu tür çağrıları WRITE, GET STORAGE, GET BUFFER SPACE, WAIT (bir olay için), CREATE PROCESS gibi fonksiyonlardır. Bu çağrılabilir fonksiyonların, bir makinenin komutlar dizisini tamamlayan ve karmaşık hizmetler sunan birtakım uzantıları olduğu düşünülebilir. İşletim sisteminin, işlenmemiş donanım kaynaklarından daha kolay yönlendirilebilen bir dizi soyut kaynak sağlayan yönü de budur. İşletim sistemi, donanımın kontrol mekanizmalarının uzantıları gibi düşünülebilecek bir dizi fonksiyonu da mümkün kılar. Bu fonksiyonlar belirli bir programın içinden çağrılmayıp, sistemin istediği anda yerine getirilir. Paylaşılan kaynakları korumak üzere kilitleme, program durdurma, görev aktarma ve bellek bölümlerinin kullanımını dinamik biçimde saptama, kapalı fonksiyonlara örnek olarak verilebilir. İşletim sistemleri arasındaki fark, kimin efendi kimin köle olduğuyla ilintilidir. Genel amaçlı işletim sistemi çoğunlukla uygulama programının, sistemin uygun gördüğü anda çalışmasını sağlayacak konumdadır. Gerçek zamanlı küçük sistemlerin bazıları ise, uygulama programını efendisi olarak görür, hizmet vermek onun sorumluluğudur. Bu iki konum arasındaki fark şu soruyla daha iyi ifade edilebilir: “Program bir girdi kütüğünden bir kayıt isterse ve o kayıt kütükte yoksa ne olur?” İşletim sistemi açıkça efendi durumundaysa, programı durdurur ve yerine bir başkasını geçirir. Uygulama programı hükmettiği zaman ise işletim sistemi basitçe durumu programa rapor eder. Bir işletim sistemi çalışma ortamında yürütülen fonksiyonların yanısıra bir programın bilgisayarda çalıştırılmasından önce ya da sonra gerçekleştirilen belli hizmetler de görür. Bu hizmetler, programı çalıştırmak ve sonuçlarını sergilemek için gereken kaynakları betimleyen bir kontrol dilinin kullanımı yoluyla çağrılır.