Nüvə (kompüter)

**Nüvə (kompüter)** — Əməliyyat sisteminin nüvəsi, onun mərkəzi hissəsidir. O, tətbiqi proqramlara prosessor vaxtını və yaddaş kimi kompüter resurslarını bölüşdürməklə yanaşı, fayl sistemi və şəbəkə protokolları kimi xidmətləri də təmin edir. Əməliyyat sisteminin ən əsas elementi olaraq, nüvə proqramların resurslardan istifadəsində ən aşağı səviyyəni təşkil edir. Bu zaman nüvə proqramların proseslərarası əlaqə mexanizmi ilə qarşılıqlı fəaliyyətini və əməliyyat sisteminin vasitələrinə (ƏS-in sistem çağırışlarına) müraciətini təmin edir. Nüvənin arxitekturası və onun həyata keçirilməsi üsulu bu məsələlərin həlli yollarını müxtəlif edir.

## Nüvə arxitekturaları
Aşağıdakı nüvə arxitekturaları mövcuddur:
* Monolit nüvə
* Modullardan təşkil olunmuş nüvə
* Mikronüvə
* Ekzonüvə
* Nanonüvə
* Hibrid nüvə

*Monolit nüvə* zəngin qurğu seçiminə malik olur. Monolit nüvəni xarakterizə edən xüsusiyyətlərdən biri onun bütün hissələrinin yaddaşın eyni ünvan məkanında işləməsidir. Köhnə monoloit nüvələrdə qurğuların tərkibinin hər hansı şəkildə dəyişikliyə məruz qalması halında onların yenidən kompilyasiyasını tələb olunurdu. Müasir monolit nüvələrəin əksəriyyəti isə iş zamanı nüvənin funksional imkanlarını artıran modulların yüklənməsini təmin edirlər. Bu, nüvənin yenidən kompilyasiya edilməsi zərurətini aradan qaldırır. Yüksək iş sürəti, təqdim etdiyi funksyaların çoxluğu, müxtəlif qurğuları dəstəkləməsi monolit nüvənin üstünlüklərindəndir.

Monolit nüvə tamamən eyni ünvan məkanında yerləşdiyindən nüvənin hər hansı bir komponentinin işinin pozulması bütün sistemin işinin pozulması ilə nəticələnir. Bu xüsusiyyət monolit nüvənin mənfi cəhətlərindəndir. Bu halda deyirlər ki, əməliyyat sisteminin komponentləri müstəqil olmayıb, onlar böyük bir proqramın tərkib hissələridir. Əməliyyat sisteminin bü cür strukturu monolit nüvə adlanır. Monolit nüvə prosedurlar yığımından ibarətdir. Bu prosedurlardan hər hansı biri digərini çağıra bilər.
Prosedurların hamısı yüksək imtiyazlı rejimdə işləyir. Beləliklə, monolit nüvə əməliyyat sisteminin elə bir sxemidir, hansının ki, bütün komponentləri eyni proqramın tərkib hissələridir. Onlar ümumi məlumatlar strukturundan istifadə etməklə bir-birilə prosedurları çağırmaqla əlaqə saxlayırlar. Nəticə etibarilə monolit əməliyyat sistemində nüvə bütün sistemlə üst-üstə düşür. Monolit nüvəyə malik olan bir çox əməliyyat sistemlərində hər tip kompüter üçün nüvə ayrıca kompilyasiya olunur. Kompilyasiya zamanı nüvənin dəstəkləyəcəyi qurğuların siyahısı və proqram protokolları nüvəyə daxil edilir. Nüvə bütöv bir proramdan ibarət olduğundan ona komponentlərin əlavə olunması və gərək olmayan komponentlərin çıxarılması yalnız yenidən kompilyasiya yolu ilə mümkün olur. Digər tərəfdən, nüvə tamamilə operativ yaddaşda yerləşdiyindən artıq komponentlərin olması arzuolunmazdır. Bundan başqa, lazımsız komponentlərdən imtina olunması əməliyyat sisteminin etibarlığını da artırır.

Monolit nüvə - əməliyyat sisteminin təşkil olunmasının ən köhnə üsullarından biridir. Unix-sistemlərin əksəriyyəti məhz monolit arxitekturaya uyğundur.
Monolit nüvə mikronüvəyə nisbətən daha məhsuldardır, çünki o, bir-birilə mesajların (message) ötürülməsi mexanizmilə əlaqə saxlayan müxtəlif proseslərdən ibarət deyil, eyni ünvan məkanında yerləşən komponentlərdən təşkil olunur. Bu halda proseslərarası çevrilməyə ehtiyac qalmadığından sistemin daha məhsuldar işləməsi təmin olunur.

Monolit nüvə arxitekturasından istifadə edən əməliyyat sistemləri:
* UNIX sistemləri
* Linux
* DOS və b.

*Çoxmodullu nüvə* monolit nüvəli əməliyyat sistemləri arxitekturasının müasir, təkmilləşdirilmiş variantıdır. Hazırda köhnəlmiş hesab edilən "klassik" monolit nüvələrdən fərqli olaraq modullardan təşkil olunmuş nüvələrdə aparat dəstəyinin dəyişilməsi halında nüvənin yenidən kompilyasiyasına ehtiyac olmur. Problem bu vəya digər mexanizm vasitəsilə yeni modulun nüvəyə qoşulması ilə həll edilir. Məsələn, qurğu drayverlərinin qurulması mahiyyətcə əməliyyat sistemi nüvəsinin yeni qurğularla işləməsini təmin edən mexanizmlərdən biridir. Bundan başqa, qeyd etmək lazımdır ki, yeni modulların qoşulması dinamik və statik ola bilər. Birinci halda əməliyyat sisteminin yenidən yüklənməsinə ehtiyac olmursa, ikinci halda isə əməliyyat sisteminin konfiqurasiyasının dəyişməsi səbəbindən onun yenidən yüklənməsi tələb olunur.

Çoxmodullu nüvəyə malik əməliyyat sistemində bütün modullar nüvənin ünvan məkanında işləyir və onun bütün prosedurlarından istifadə edirlər. Buna görə də çoxmodullu nüvə də monolit nüvənin bir formasıdır demək olar. Belə ki, bu halda nüvənin çoxmodulluğu mikronüvə və hibrid nüvədəki kimi nüvənin arxitekturası səviyyəsində deyil, binar obraz səviyyəsində həyata keçirilir. Belə ki, dinamik yüklənən modullar nüvənin ünvan məkanında yerləşir və nüvənin bir hissəsi kimi işləyirlər. Modulların dinamik yüklənməsi operativ yaddaşdan səmərəli istifadə edilməsinə imkan verir. Aparat resursları məhdud olan sistemlərdə bu əhəmiyyətlidir. Lakin, qeyd etmək lazımdır ki, nüvənin bütün hissələrini modul kimi yükləmək mümkün deyil. Nüvənin bəzi hissələri daim yaddaşda olmalı və ona "bitişik" olmalıdır.

Çoxmodullu monolit nüvənin mikronüvə və hibrid nüvəyə xas olan çoxmodullu arxitektura ilə qarışdırmaq olmaz. Praktik olaraq modulların dinamik yüklənməsi nüvənin çevik dəyişdirilməsi üçün sadəcə bir üsuldur. Beləlikə, modullar nüvənin imkanlarını asanlıqla dəyişməyə imkan verir.

Çoxmodullu nüvələr modulların nüvə ilə əlaqələndirilməsini həyata keçirmək üçün xüsusi proqram interfeysinə (API- Application Program Interface) malik olurlar. Bu isə öz növbəsində o deməkdir ki, modulların yaradılmasına xüsusi şərtlər qoyulur. Məsələn, nüvəyə qoşulacaq modulda C/C++ -un standart kitabxanasına müraciət olmamalıdır. Modul yalnız nüvənin proqram interfeysindən istifadə edə bilər.

*Mikronüvə* — *m*onolit nüvənin mənfi cəhətlərindən biri təkmilləşdirmə nəticəsində onun həcminin daim artmasıdır. Bu, onun operativ yaddaşı kiçik olan sistemlərdə tətbiqinə ciddi əngəl olur. Bu halda monolit nüvənin alternativi mikronüvə ola bilər. Mikronüvə arxitekturasında nüvə proseslərin idarə edilməsi üçün ən elementar funksiyalara və minimum sayda qurğu ilə işləmək üçün imkanlara malikdir. İşin əsas hissəsi servis adlanan xüsusi istifadəçi prosesləri vasitəsilə həyata keçirilir. Başqa sözlə ifadə etsək, mikronüvə arxitekturasında əməliyyat sisteminin əsas tərkib hissəsini ayrı-ayrı proqramlar təşkil edir.

Bu halda bu proqramlar arasında əlaqəni nüvənin xüsusi modulu- mikronüvə həyata keçirir. Bundan başqa, mikronüvə əməliyyat sisteminin əsas funksiyalarından olan prosessorun işinin planlanması, kəsilmələrin ilkin emalı, giriş-çıxış əməliyyatları və operativ yaddaşın idarə edilməsi kimi önəmli işlərin həyata keçirilməsini təmin edir.

Mikronüvə arxitekturasında sistemin bütün komponentləri bir-birilə mikronüvə vasitəsilə mesajlarla əlaqə saxlayırlar.

Mikronüvə arxitekturası aşağıdakı müsbət cəhətlərə malikdir:
* Sistemin proqram xətalarına qarşı dayanıqlı olması;
* Avadanlıqda olan xətalarına qarşı sistemin dayanıqlı olması.
* Sistemin yeni komponentlərlə zənginləşdirilməsinin sadə olması.

Mikronüvə arxitekturasında sistemin işini saxlamadan yeni drayverlərin qoşulması və onların söküıməsi mümkündür. Bundan başqa, əməliyyat sisteminin komponentləri prinsipcə istifadəçi proqramlarından fərqlənmirlər və onların hazırlanması üçün adi vasitələrdən istifadə etmək mümkündür.

Mikronüvənin monolit nüvə ilə müqayisədə mənfi xüsusiyyəti proseslərin birindən digərinə keçid zamanı və proseslərarası məlumatın (mesajların) ötürülməsində əlavə resurs məsrəfinin olmasıdır.

Hazırda yeni əməliyyat sistemlərinin işlənməsində sistem kodunun əhəmiyyətli hissəsinin istifadəçi səviyyəsinə keçirilməsi və nüvənin minimizasiyası tendensiyası müşahidə olunmaqdadır. Mikronüvə arxitekturasına malik əməliyyat sisteminin əsas xüsusiyyəti onun əsas tərkib hissələrinin müstəqil proqramlar olmasıdır. Belə olan halda onlar arasında əlaqəni xüsusi modul həyata keçirir.

*Ekzonüvə* — ekzonüvə arxitekturasında nüvə yalnız proseslərarası əlaqə funksiyalarına, resursların təhlükəsis ayrılması və azad edilməsi imkanlarına malik olur. Ənənəvi əməliyyat sistemlərində nüvə, təkcə proqramların icrası üçün zəruri minimum servis toplusuna malik olmayıb o, eyni zamanda kompüter resurslarının (operativ yaddaş, sərt disklər, şəbəkə birləşmələri və b.) idarə edilməsini və onlardan istifadəni təmin edən müxtəlif vasitələrə malik olur. Bundan fərqli olaraq, ekzonüvə üzərində olan əməliyyat sistemlərində sadəcə proqramlarası əlaqəni təmin edən servislər toplusu, təhlükəsizliklə (resursların təhlükəsiz ayrılması və azad edilməsi, istifadə haqlarına nəzarət və b.) əlaqəli olan minimum funksiya mövcud olur. Başqa sözlə, ekzonüvə fiziki resursların təqdimatı ilə məşğul olmur. Bu funksiyalar istifadəçi səviyyəsində olan kitabxanalar (LibOS) vasitəsilə təqdim olunur.

Ekzonüvənin əsas ideyası ondan ibarətdir ki, nüvə yalnız kiçik proseslər arasında koordinator funksiyasını yerinə yetirməlidir. Bununla yanaşı, o, proqramlar üçün kompüter resurslarının ayrılması və azad edilməsinin təhlükəsizliyini təmin etmək imkanına malik olmalıdır. Mikronüvə üzərində olan əməliyyat sistemindən fərqli olaraq ekzonüvə əsasında olan əməliyyat sistemində yüksək səmərəlik təmin olunur. Bunun əsas səbəbi proseslərarası çevrilmələrə ehtiyacın olmamasıdır. Ekzonüvə arxitekturası mikronüvə ideyasının daha da dərinləşdirilməsi və inkişaf etdirilməsindən ibarətdir.

*Nanonüvə* — nanonüvə arxitekturası nüvənin son dərəcə sadələşdirilməsinə əsaslanır. Bu arxitekturada nüvə sadəcə bir məsələni həll edir- kompüter qurğuları tərəfindən generasiya edilən aparat kəsilmələrinin emalı. Nanonüvə aparat kəsilməsinin emalından sonra özündən yuxarıda duran proqram təminatına emalın nəticəsi haqda informasiya göndərir. Bu zaman o, həmin, kəsilmə mexanizmindən istifadə edir.

*Hibrid nüvə* — Hibrid nüvə- işin sürətlənməsi üçün əməliyyat sisteminin bəzi komponentlərinin nüvənin ünvan fəzasında yerləşməsini nəzərdə tutan təkmlləşdirilmiş mikronüvədir. Hibrid nüvə baxılan digər arxitekturalara nisbətən müəyyən üstünlüklərə malik olduğu kimi, ona bəzi mənfi xüsusiyyətlər də xasdır.

Şəkil 61. Hibrid nüvə arxitekturası

Əməliyyat sisteminin qurulmasında olan prinsiplərin hər biri həm müsbət, həm də mənfi cəhətlərə malikdirlər. Müasir əməliyyat sistemləri əksər hallarda baxılan prinsiplərin hər birindən bu və ya digər dərəcədə istifadə edirlər. Məsələn, Linux əməliyyat sisteminin nüvəsi monolit arxitekturaya aid olsa da o, eyni zamanda çoxmodullu nüvə elementlərindəndə istifadə edir. Belə ki, nüvənin kompilyasiyası zamanı nüvənin bir çox komponentlərinin- modullarının yüklənməsi (və ya bunun əksi) mümkündür. Windows NT – monolit nüvə elementləri ilə mikronüvə elementlərinin daha sıx bir araya gəldiyi əməliyyat sistemlərindəndir. Buna görə də Windows NT əməliyyat sistemini hibrid arxitekturaya aid etmək olar.

## Mənbə
* M. A. Camalbəyov, R. Ə. Fərəməzov. IBM PC tipli kompüterlərin arxitekturası, sistem proqram təminatı və əməliyyat sistemləri. Bakı, H. Əliyev adına AAHM, 2009. – 307 səh.
Retrieved from