Çox səviyyəli sistemlər (Layered systems)

Çox səviyyəli sistemlər (Layered systems)
Strukturlaşmanı davam etdirərək, bütün hesablama sis-temini öz aralarında yaxşı təyin olunmalı əlaqələr olan bir sıra daha xırda səviyyələrə elə bölmək olar ki, N səviyyəsinin obyektləri yalnız (N-1) səviyyəsinin obyektlərini çağıra bilsin. Bu cür sistemlərdə hardware aşağı səviyyəni, istifadəçi interfeysi isə yuxarı səviyyəni təmsil edir. Səviyyə nə qədər aşağıda olursa, o qədər də imtiyazlı əmrlər olurlar və həmin səviyyədə olan modul hərəkətləri yerinə yetirə bilirlər. Bu cür yanaşma ilk dəfə olaraq, Deykstra və onun tələbələri tərəfindən 1968-ci ildə THE (Technishe Hogeschool Eindhoven) sisteminin yaradılmasında tətbiq olunmuşdu. Bu sistem aşağıdakı səviyyələrə malik idi (şək1.1.2).
Şək.1.2. THE-nin qat-qat sistemi
Qat-qat sistemlər yaxşı həyata keçirilirlər. Aşağı qatın əməliyyatından istifadə etdikdə, onların necə həyata keçiril-mələrini bilmək lazım deyil, ancaq onların nə etmələrini başa düşmək lazımdır. Qat-qat sistemlər yaxşı testlənirlər. Sazlanma aşağı qatdan başlayır və qat-qat aparılır. Səhv əmələ gəldikdə, biz əmin olmalıyıq ki, o, testlənən qatda yerləşir. Qat-qat sistemlər yaxşı təkmilləşirlər. Lazım gəldikdə, yerdə qalanlara əl dəyməyərək, yalnız bir qatı əvəz etmək olar. Amma, qat-qat sistemlər işlənilmə üçün mürəkkəb olurlar: qatlar qaydasını və nəyin hansı qata aid olmasını düzgün təyin etmək çətin olur.
Qat-qat sistemlər monolitlərlə müqayisədə, daha az effektli olur. Belə ki, məsələn, giriş-çıxış əməliyyatlarının yerinə yetirilməsi üçün istifadəçi proqramı yuxarıdan başlaya-raq aşağıya qədər bütün qatları ardıcıl keçməyə məcbur olacaq-dır.
Virtual maşınlar
Mühazirənin başlanğıcında biz əməliyyat sisteminə virtual maşın kimi baxmaq barəsində danışmışdıq - bu halda istifadəçiyə kompüterin daxili qurğusunun detallarını bilmək vacib deyil idi. O, maqnit başlıqları və mühərriklə deyil, fayllarla işləyir; o, məhdud real əməli yaddaşla deyil, çox böyük virtualla işləyir; maşında yeganə istifadəçi olub-olması, onu az maraqlandırır. Bir qədər başqa yanaşmanı nəzərdən keçirək. Tutaq ki, əməliyyat sistemi hər bir istifadəçi üçün onun həyatını sadələşdirmək üçün yox, əksinə, mürəkkəbləş-dirmək üçün virtual maşını həyata keçirir. Bu cür hər bir virtual maşın istifadəçi qarşısında bir xalis dəmir kimi durur – hesablama sistemində prosessor, imtiyazlı olan və imtiyazlı olmayan əmrlər, giriş-çıxış qurğuları, kəsilmələr və i.a., daxil olmaqla, bütün hardware-nın surəti. Bu halda istifadəçi bu dəmirlə üzbəüz qalmış olur. İmtiyazlı əmrlər səviyyəsində bu cür virtual dəmirə müraciət etmək cəhdi, həqiqətdə real əməliy-yat sisteminin sistem çağrışına oxşayır və o da bütün lazım olan hərəkətləri yerinə yetirir. Bu cür yanaşma hər bir istifadə-çiyə özünün əməliyyat sistemini virtual maşına yüklənməsinə və onunla istədiyini etməsinə imkan verir (şək.1.3).
Bu cür birinci real sistem CP/CNS sistemi və ya İBM/370 maşınlar ailəsi üçün VM/370 olmuşdu.
Bu cür əməliyyat sistemlərinin mənfi cəhəti real kompüterlə müqayisədə, virtual maşınların effektivliyinin aşağı düşməsidir və bundan əlavə, bir qayda olaraq, onlar çox yer tuturdu. Üstünlüyü isə ondan ibarət idi ki, bir hesablama sistemində müxtəlif əməliyyatlar sistemləri üçün yazılmış proqramlardan istifadə etmək mümkün idi.
Şək.1.3. Virtual maşının variantı
Mikronüvə arxitekturası
Əməliyyat sistemlərinin işlənilməsində müasir meyl on-dan ibarət olmuşdu ki, sistem kodunun əhəmiyyətli hissəsi istifadəçi səviyyəsinə keçirilmiş və eyni zamanda da nüvə minimallaşdırılmışdır. Söhbət əməliyyat sisteminin mikronüvə arxitekturası (microkernel architecture) adlanan nüvənin qurul-ması üçün yanaşmadan gedir və onun əksər tərkib hissələrini müstəqil proqramlar təşkil edirlər. Bu halda onlar arasındakı qarşılıqlı əlaqəni mikronüvə adlanan nüvənin xüsusi modulu təmin edir. Mikronüvə imtiyazlı rejimdə işləyir və proqramlar arasında qarşılıqlı əlaqəni, prosessordan istifadənin planlaşdı-rılmasını, kəsilmələrinin ilkin emalını, giriş-çıxış əməliyyatla-rını və yaddaşın baza idarə olunmasını təmin edir (şək.1.4).
Yerdə qalan komponentlər mikronüvə vasitəsilə məlu-matların ötürülmə yolu ilə bir-birilə qarşılıqlı əlaqədə olurlar.
Mikronüvəli arxitekturanın əsas üstünlüyü - əməliyyat sistemi nüvəsinin modulluğunun yüksək dərəcəli olmasıdır. Bu, əhəmiyyətli dərəcədə oraya yeni komponentlərin əlavə olunma-sını sadələşdirir. Mikronüvəli əməliyyat sistemində onun işini dayandırmadan, yeni drayverləri, fayl sistemlərini və s.-ni yükləmək və boşaltmaq olar.
Şək.1.4. Əməliyyat sisteminin mikronüvəli arxitekturası
Əhəmiyyətli dərəcədə nüvə komponentlərinin sazlanıl-ma prosesi sadələşir, çünki, drayverin yeni versiyası bütün əməliyyat sistemini yenidən yükləmədən, yüklənilə bilər. Əmə-liyyat sisteminin komponentləri istifadəçi proqramlarından prinsipial olaraq, heç nə ilə fərqlənmirlər, buna görə də, onların sazlanılması üçün adi vasitələri tətbiq etmək olar. Mikronüvəli arxitektura sistemin etibarlığını artırır, çünki, nüvə rejimi sə-viyyəsində imtina ilə müqayisədə imtiyazsız proqram səviyyəsində səhvlər daha az qorxulu olurlar.
Eyni zamanda da əməliyyat sisteminin mikronüvəli arxitekturası məlumatların ötürülməsi ilə əlaqəli olan əlavə qaimə xərclərinə səbəb olur ki, bu da məhsuldarlığa əhəmiy-yətli dərəcədə təsir göstərir. Mikronüvəli əməliyyat sisteminin sürətə görə monolit nüvə bazasında qurulan əməliyyat sistemindən geridə qalmaması üçün sistemin komponentlərinə bölünməsinin və onlar arasındakı qarşılıqlı əlaqənin minimal-laşdırılmasını səliqəli layihələndirmək tələb olunur. Beləliklə, mikronüvəli əməliyyat sistemlərinin yaradılmasında əsas mürəkkəblik – səliqəli layihələndirmə zəruriyyəti təşkil edir.
|