İ Program Yönetimi Program yönetimi, sistemde çalış- makta olan uygulama programlarını yöneten programlardan oluşur. Siste- min bazı kaynaklarına yerleşmiş ve sistemi kullanmak isteyen her prog- ram, işlem kontrol bloğu adı verilebi- lecek bir yapıyla temsil edilmektedir. Bu blok bir yazılım olarak tanımlan- mış, uygulanacak kodu ve gerekli ve- rileri saptayan bir yapıdır. Görev ak- tarımı için durdurulan bir program için saklanan siciller, o programı tem- sil eden işlem kontrol bloğunda depo- lanır. Sistemi kullanabilecek program- ların gönderme listesi bu kontrol blok- ları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- Bidir. Buna ek olarak bir işletim sis- temi, işlemler (işlem kontrol blokla- rı) oluşturma, işlemlerin birbirine me- saj göndermesini sağlama, işlem kont- rol bloklarını silme, bu blokların ça- lışabilir ya da çalışamaz durumda ol- duklarını belirleme gibi özellikler de taşımalıdır. Bloke olmuş bir işlem kontrol bloğu, bir kaynağı kullanabil- meyi ya da bir olayın tamamlanması- nı beklediği için çalışmayan bir prog- ramı temsil eder. Bir işletim sisteminin önemli bir fonksiyonu da, çalışmakta olan prog- ramlar arasında haberleşmeyi sağlaya- cak mekanizmaları oluşturmaktadır. Bu özelliğe genellikle işlemlerarası ile- tiş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 uy- gulama programı adına kayıt tutma ve girdi/çıktı isteklerinin statülerini sap- tayıp bildirmeye yönelik hizmetleri kapsar. Bunlara ek olarak genellikle, disk alanları üzerindeki alan dağılımı- nı denetleme, on-line veri katalogla- rını saklama, dosyaların kopyalama kontrollarını yapma fonksiyonları da vardır. Veri elemanları arasındaki kar- maşık mantıksal ilişkiler ve sözlükler türünden daha kapsamlı bir veri yö- netimi, veri tabanlı yönetim altsistem- lerinde daha yaygın olarak görülür. Kaynak Yönetimi Kaynak yöntemi bir makinenin kullanımı ve kullanıcılara cevap ver- me yetisine ilişkin stratejiler uygula- mak üzere öncelik, acillik gibi kav- ramlardan yararlanan bir dizi prog- ramdan 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 lis- tesi genel olarak, sistemin belirli kul- lanıcılara hizmet verme ve kaynakla- rı verimli biçimde kullanmaya yöne- lik 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 siste- minin planlama fonksiyonu, gönder- me listesindeki düzene göre çalıştırı- lacak bir sonraki programın seçimi ya- nısıra, bir dizi programdan hangileri- nin planlanmış belirli bir zaman ara- lığında işleme girmek için çekişebile- ceklerini belirlemeyi, sistemin tüm yü- künü gözönüne alarak kaynakları kul- lanan program sayısını değiştirebilme- yi 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önetimi- nin 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 kul- lanıcıya sunulması amaçlanan hizmet düzeyinin yanısıra, kullanıcının önce- lik 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ı ve- rimli şekilde kullanmak için yapılan çok sıkı bir yönetim için harcanacak kaynaklara yetmemesi olasıdır. Yöne- tilecek daha az olan ve dolayısıyla kapasite-altı kullanılma riskiyle daha az karşı karşıya gelen küçük sistem- ler, evrensel olarak, pek hırslı dene- meyecek kaynak yönetim stratejilerin- den yararlanırlar. Kaynakların daha verimli kullanılmasıyla ulaşılacağı tah- min edilen düzey, en uygun kullanı- ma karar vermek için harcanan kay- nakların altındadır. Açık ve Kapalı Fonksiyonlar İşletim sisteminin bazı fonksiyon- ları, çalışmakta olan bir program ta- rafından, çalışma ortamında açık ola- rak çağrılır. İşletim sisteminin bu tür çağrıları READ, WRITE, GET STO- RAGE, GET BUFFER SPACE, WA- IT (bir olay için)) CREATE PRO- CESS gibi fonksiyonlardır. Bu çağrı- labilir fonksiyonların, bir makinenin komutlar dizisini tamamlayan ve kar- maşık hizmetler sunan birtakım uzan- tıları olduğu düşünülebilir. İşletim sis- teminin, işlenmemiş donanım kaynak- ları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 üze- re kilitleme, program durdurma, gö- rev aktarma ve bellek bölümlerinin kullanımını dinamik biçimde sapta- ma, kapalı fonksiyonlara örnek ola- rak verilebilir. İşletim sistemleri arasındaki fark, kimin efendi kimin köle olduğuyla ilintilidir. Genel amaçlı işletim siste- mi çoğunlukla uygulama programı- nın, sistemin uygun gördüğü anda ça- lışmasını sağlayacak konumdadır. Gerçek zamanlı küçük sistemlerin ba- zıları ise, uygulama programını efen- disi olarak görür, hizmet vermek onun sorumluluğudur. Bu iki konum ara- sı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, progra- mı durdurur ve yerine bir başkasını geçirir. Uygulama programı hükmet- tiği zaman ise işletim sistemi basitçe durumu programa rapor eder. | Bir işletim sistemi çalışma ortamın- da yürütülen fonksiyonların yanısıra bir programın bilgisayarda çalıştırıl- masından önce ya da sonra gerçekleş- tirilen belli hizmetler de görür. Bu hiz- metler, programı çalıştırmak ve so- nuçlarını sergilemek için gereken kay- nakları betimleyen bir kontrol dilinin kullanımı yoluyla çağrılır. N BN EETEEEEEEEEEEE commodore aa