Prosesin vəziyyətləri - 1. Mühazirə Əməliyyat sistemi anlayışı

Prosesin vəziyyətləri
Bu cür abstraksiyadan istifadə etdikdə, hesablama sistemlərində yerinə yetirilən hər şey (yalnız istifadəçilər proqramları deyil, amma da, mümkün ola bilər ki, əməliyyat sistemlərinin müəyyən bir hissələri) proseslər toplusu kimi təşkil olunmuşdur. Başa düşüləndir ki, real olaraq, bir prosessorlu kompüter sistemində hər bir vaxt anında yalnız bir proses icra oluna bilər. Multiproqramlaşdırmalı hesablama sistemləri üçün bir neçə proseslərin psevdoparalel emalına prosessorun bir prosesdən digərinə keçirilmə köməkliyi ilə nail olunur. Prosesin biri yerinə yetirildikdə, yerdə qalanları öz növbəsini gözləyirlər.
Gördüyümüz kimi, hər bir proses minimum 2 vəziy-yətlərdə ola bilər: proses icra olunur və proses icra olunmur. Bu cür modeldə proses vəziyyətinin diaqramı şək.2.1-də təsvir olunmuşdur.
“Proses icra olunur” vəziyətində yerləşən proses müəyyən vaxtdan sonra əməliyyat sistemi tərəfindən bitirilə və ya dayandırıla bilər və yenidən “proses icra olunmur” vəziyyətinə keşirilə bilər.
Şək.2.1. Proses vəziyyətinin ən sadə diaqramı
Prosesin dayandırılması iki səbəblərə görə baş verir: onun sonrakı işi üçün hər hansı bir hadisə tələb olunmuş (məsələn, giriş-çıxış əməliyyatının bitməsi) və ya həmin prosesin işləməsi üçün əməliyyat sistemi tərəfindən ayrılmış vaxt intervalı bitmişdir. Bundan sonra, əməliyyat sistemi müəyyən alqoritm üzrə icra olunmaq üçün “proses icra olunmur” vəziyyətində yerləşən proseslərdən birini seçir və onu “proses icra olunur” vəziyyətinə çevirir. Sistemdə əmələ gələn yeni proses ilk əvvəl “proses icra olunmur” vəziyyətinə yerləşdirilir.
Bu çox kobud modeldir, o, nəzərə almır ki, xüsusi halda, icra üçün seçilmiş proses hələ də onun dayandırılmasına səbəb olan hadisələri gözləməlidir və real olaraq, yerinə yetirməyə hazır deyildir. Bu cür vəziyyətdən yaxa qurtarmaq üçün “Proses icra olunmur” vəziyyətini 2 yeni vəziyyətlərə bölək: hazır olma və gözləmə (şək.2.2-yə bax).
Sistemdə əmələ gələn hər hansı bir yeni proses “hazır olma” vəziyyətinə düşür. Əməliyyat sistemi, hər hansı bir planlaşdırma alqoritmindən istifadə edərək, hazır proseslərdən birini seçir və onu “icra” vəziyyətinə çevirir. İcra vəziyyətində prosesin proqram kodunun bilavasitə yerinə yetirilməsi baş verir. Proses bu vəziyyətdən 3 səbəblərə görə çıxa bilər:
-əməliyyat sistemi onun fəaliyyətini dayandırır;
-müəyyən bir hadisə baş verməsə, o, öz işinin davam etdirə bilmir və əməliyyat sistemi onu “gözləmə” vəziyyətinə keçirir;
Şək.2.2. Proses vəziyyələrinin daha ətraflı diaqramı
-hesablama sistemində kəsilmələrin əmələ gəlməsi nəticəsində (məsələn, nəzərdə tutulan yerinə yetirilmə vaxtı bitdikdə, taymerdən gələn kəsilmə) onu “hazır olma” vəziyyətinə qaytarırlar.
Gözlənilən hadisə baş verdikdə, “gözləmə” vəziy-yətindən proses “hazır olma” vəziyyətinə düşür və o, yenidən icra üçün seçilə bilər.
Bizim yeni modelimiz proseslərin mövcudluğu vaxtında proseslərin davranışını yaxşı təsvir edir, amma, o, sistemdə prosesin əmələ gəlməsinə və onun yox olmasına heç bir diqqət yetirmir. Mənzərənin tam olması üçün biz proseslərin daha iki vəziyyələrini daxil etməliyik: “törənmə” və “icranı bitirdi” (şək.2.3-ə bax).
İndi hesablama sistemində əmələ gəlməsi üçün proses “törənmə” vəziyyətindən keçməlidir. Törənmə zamanı proses öz sərəncamına prosesin proqram kodunun yüklənildiyi ünvan fəzasını keçirir; onun üçün stek və sistem resursları ayrılır; həmin prosesin proqram sayğacının başlanğıc qiyməti quraşdırılır. Törənmiş proses “hazır olma” vəziyyətinə keçirilir. Öz fəaliyyətini bitirdikdə, proses “icra” vəziyyətindən “icranı bitirdi” vəziyyəinə düşür.
Şək.2.3. Qəbul olunmuş proses vəziyyətlərinin diaqramı
Konkret əməliyyat sistemlərində prosesin vəziyyətləri daha da detallaşdırıla bilər, bir vəziyyətdən digərinə keçidlərin yeni variantları əmələ gələ bilərlər. Belə ki, Windows NT əməliyyat sistemində, məsələn, proseslərin vəziyyətlər modeli 7, Unix əməliyyat sistemində isə - 9 müxtəlif vəziyyətlər olur. Bununla bərabər, bu və ya başqa səbəbdən, bütün əməliyyat sistemləri yuxarıda göstərdiyimiz modelə tabe olurlar.
|