Proses
|
Növbədə əmələ gəl-mə vaxtı
|
Növbəti CPU burst vaxt müddəti
|
Üstünlük
|
p0
|
0
|
6
|
4
|
p1
|
2
|
2
|
3
|
p2
|
6
|
7
|
2
|
p3
|
0
|
5
|
1
|
Hesablama sistemlərində üstünlüyün hansı qiymətinin - 1 və ya 4-ün daha üstün olmasını hesab etmək üçün müəyyən razılaşma mövcud deyildir. Bu qarmaqarışığı aradan qaldırmaq üçün, bizim bütün misallarda biz belə fərz edəcəyik ki, böyük qiymət kiçik üstünlüyə, kiçik qiymət isə - böyük üstünlüyə uyğun gəlir, yəni, bizim misalda ən böyük üstünlüyə p3 prosesi, ən kiçik üstünlüyə isə - p0 prosesi malik olacaqdır.
Sıxışdırılıb çıxarılmayan planlaşdırmada proseslər özlərini necə aparacaqlar? Vaxt anı t=0 üçün birinci olaraq, yerinə yetirilmək üçün ən yüksək üstünlüyə malik olan p3 prosesi seçilir. Onun bitməsindən sonra t=5 vaxt anında proseslər növbəsində icra olunmaq üçün hazır olan p0 и p1 kimi iki proseslər olacaqlar. Onlardan böyük üstünlüyə p1 prosesi malik olur və o da yerinə yetirilməyə başlayacaq (cədvəl 3.9). Sonra t=8 vaxt anında icra olunmaq üçün p2 prosesi, sonra isə p0 prosesi seçiləcəklər.
Sıxışdırılıb çıxarılan üstünlük planlaşdırma halında proseslərə prosessorun təqdim olunması başqa cür olacaqdır (cədvəl 3.10).
Cədvəl 3.9.
|
Vaxt
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
p0
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
İ
|
İ
|
İ
|
İ
|
İ
|
İ
|
p1
|
|
|
H
|
H
|
H
|
İ
|
İ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p2
|
|
|
|
|
|
|
H
|
İ
|
İ
|
İ
|
İ
|
İ
|
İ
|
İ
|
|
|
|
|
|
|
p3
|
İ
|
İ
|
İ
|
İ
|
İ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cədvəl 3.10
|
Vaxt
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
p0
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
İ
|
İ
|
İ
|
İ
|
İ
|
İ
|
p1
|
|
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
H
|
İ
|
|
|
|
|
|
|
p2
|
|
|
|
|
|
|
İ
|
İ
|
İ
|
İ
|
İ
|
İ
|
İ
|
|
|
|
|
|
|
|
p3
|
İ
|
İ
|
İ
|
İ
|
İ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Əvvəlki halda olduğu kimi, birinci olaraq p3 prosesi, o, bitdikdən sonra p1 prosesi olmalı id. Amma t=6 vaxt anında o, p2 prosesi ilə sıxışdırılacaq və özünün yerinə yetirilməsini yalnız t=13 vaxt anında davam etdirə biləcəkdir. Sonuncu, əvvəldə olduğu kimi, p0 prosesi icra olunacaqdır.
Yuxarıda baxdığımız misalda proseslərin üstünlükləri vaxt keçdikcə dəyişməmişdi. Qəbul olunmuşdur ki, bu cür üs-tünlüklər, statiki adlandırılsınlar. Statiki üstünlk mexanizm-lərini yüngül bir şəkildə həyata keçirtmək mümkün olur və onlar ən üstünlüklü prosesin seçimində nisbətən, çox da böyük olmayan xərclərlə əlaqəli olurlar. Amma, statiki üstünlüklər hesablama sistemindəki vəziyyətin dəyişilməsinə reaksiya vermirlər, çünki, onlar proseslər icrasının qaydasına arzi edilən təshihi verə bilərlər. Proseslərin icra olunma gedişində öz qiymətlərini dəyişdirən proseslərin dinamiki üstünlükləri daha çevik olurlar. Prosesə mənimsənilmiş dinamiki üstünlüyün başlanğıc qiyməti yalnız qısa vaxt müddətində qüvvədə olur, bundan sonra ona yeni, daha uyğun qiymət təyin olunur. Prosesin dinamiki üstünlüyünün dəyişilməsi proseslər üzərindəki yeganə əməliyyatdır ki, biz onu bu vaxta qədər nəzərdən keçirtməmişik. Bir qayda olaraq, proseslərin üstünlüyünün dəyişilməsi yeni proses törənəndə, proses təcrid olunduqda və təcriddən azad olunduqda, müəyyən kvant vaxtı və ya proses bitdikdə hər hansı bir digər əməliyyatların baş verməsi ilə birlikdə aparılır. Dinamik üstünlüklü alqoritmlərə misal olaraq, SJF alqoritmini və zəmanətli planlaşdırma alqoritmini göstərmək olar. Dinamiki üstünlüklü sxemlər həyata keçirilmədə daha mürəkkəb olurlar və statiki sxemlərlə müqayisədə böyük xərclərlə əlaqəli olurlar. Lakin, onlardan istifadə olunması nəzərdə tutur ki, bu xərclər sistem işinin yaxşılaşdırılması ilə özünü doğruldur.
Üstünlük planlaşdırmanın baş problemi ondan ibarət olur ki, təyin olunma mexanizmin lazım olan kimi seçilməməsində və üstünlüklər dəyişildikdə, aşağı üstünlüklü proseslər qeyri-müəyyən vaxt müddətində işə buraxıla bilməzlər. Adətən ikisindən biri baş verir. Ya onlar heç olmazsa icra olunmaq üçün öz növbələrini gözləməlidirlər (istirahət günü səhər saat 9-da bütün tərbiyəli proqramçılar yatmış olduqda), ya da hesablama sistemini dövrədən açmaq lazımdır - bu halda onlar itirlər (Massaçuzet texnoloji institutda 1973-cü ildə İBM 7094 dayandırıldıqda, 1967-ci ildə işə salınmış proseslər tapılmış və onlar, o vaxtdan bir dəfə də olsun icra olunmamışdılar). Bu problemin həlli vaxt keçdikcə, “hazır olma” vəziyyətində yerləşən prosesin üstünlük qiymətinin artırılması köməkliyi ilə əldə edilə bilər. Tutaq ki, lap əvvəldən proseslərə 128-dən 255-ə qədər üstünlüklər mənimsədilmişlər. Hər dəfə müəyyən vaxt müddəti keçdikdən sonra, hazır olan proseslərin üstünlüklər qiyməti bir vahid kiçildilmişdir. İcra olunma vəziyyətində olan prosesə üstünlüyün ilk başlanğıc qiyməti mənimsədilir. Hətta bu cür kobud olan sxem zəmanət verir ki, istənilən prosesə ağıllı vaxt müddətində icra olunmaq üçün hüquq veriləcəkdir.
Mühazirə 10 Çox səviyyəli növbələr (Multilevel Queue)
Proseslərin müxtəlif qruplar üzrə çox yüngül bir şəkildə çeşidləndiyi sistemlər üçün planlaşdırma alqorimlərinin digər sinfi işlənilmişdir. Proseslərin hər bir qrupu üçün hazırlıq vəziyyətində yerləşən proseslərin öz növbələri yaradılır (şək.3.5).
Şək.3.5. Planlaşdırmanın bir neçə növbələri
Bu növbələrə qeyd olunmuş üstünlüklər əlavə olunurlar. Məsələn, sistem prosesləri növbəsinin üstünlüyü istifadəçi proseslər növbəsinin üstünlüyündən yüksək quraşdırılır. Tələbələr tərəfindən işə salınan proseslərin üstünlüyü isə, müəllimlər tərəfindən işə salınan proseslər növbəsi üstünlüyündən aşağı olur. Bu o deməkdir ki, hələ, nə qədər ki, bir hazır sistem prosesi varsa, istifadəçilər prosesinin heç biri icra olunmaq üçün seçilməyəcək, hələ nə qədər ki, icra olunmağa hazır olan müəllimlər prosesi varsa, tələbə prosesinin heç biri prosessoru öz sərəncamına ala bilməyəcəkdir. Bu növbələrin daxilində planlaşdırmaq üçün ən müxtəlif alqoritm-lər tətbiq oluna bilərlər. Belə ki, məsələn, istifadəçi ilə qarşılıqlı əlaqəni tələb etməyən (fon prosesləri) böyük hesablama prosesləri üçün FCFS alqoritmindən, interaktiv proseslər üçün isə - RR alqoritmindən istifadə etmək olar. Çox səviyyəli növbələr adını alan bu cür yanaşma planlaşdırmanın çevikliyini artırır: müxtəlif xarakteristikalı proseslər üçün onlara ən çox uyğun gələn alqoritm tətbiq olunur.
Əks əlaqəli çox səviyyəli növbələr (Multilevel Feedback Queue)
Çox səviyyəli növbələr alqoritminin sonrakı inkişafı onlara əks əlaqə mexanizminin əlavə edilməsi olmuşdu. Burada proses müəyyən növbəyə daimi qeyd olunmamış, özünün davranışından asılı olaraq, bir növbədən digərinə miqrasiya oluna bilər.
Sadəlik üçün elə bir vəziyyəti nəzərdən keçirək ki, orada proseslər şək.3.6-da göstərilən kimi, “hazır olma” vəziyyətində 4 növbədə təşkil olunmuşlar.
Növbələr arasında proseslərin planlaşdırılması sıxışdırılıb çıxarılan üstünlüklü mexanizm əsasında həyata keçirilir. Şəkildə növbə nə qədər yuxarıda yerləşirsə, onun üstünlüyü də o qədər yüksək olur. Əgər 0 növbəsində heç olmasa bir proses olmuş olsa, növbə 1-dəki proseslər icra oluna bilməzlər. Əgər 0 və 1 növbələrində heç olmasa bir proses olmuş olarsa, növbə 2-dəki proseslər yerinə yetirilmək üçün seçilə bilməzlər. Və, nəhayət, 3 növbəsində prosessor öz sərəncamına yalnız o vaxt götürə bilər ki, 0, 1 və 2 növbələri boş olmuş olsunlar. Əgər prosesin işləməsi zamanı hər hansı bir daha üstünlü növbədə digər proses əmələ gələrsə, icra olunan proses yenisi ilə sıxlaşdırılıb çıxarılacaqdır. 0-2 növbələri daxilində proseslərin planlaşdırılması RR alqoritmindən istifadə etməklə, həyata keçirilir, növbə 3-də proseslərin planlaşdırması FCFS alqoritminə əsaslanmışdır.
Şək.3.6. Planlaşdırmanın çox səviyyəli əks əlaqəli növbələrində proseslərin miqrasiya olunma sxemləri
Törənən proses 0 növbəsinə daxil olur. İcra olunmaq üçün seçimdə o, öz sərəncamına 8 vahid ölçüdə kvant vaxtını əldə edir. Əgər onun CPU burst vaxt müddəti bu kvant vaxtından kiçik olarsa, proses 0 növbəsində qalır. Əks təqdirdə, o, növbə 1-ə keçir. Növbə 1-dəki proseslər üçün 1 kvant vaxtı 16 qiymətinə malikdir. Əgər proses bu vaxta yerləşmirsə, o, növbə 2-yə keçir. Əgər yerləşirsə, onda növbə 1-də qalır. Növbə 2-də kvant vaxtının qiyməti 32 vahid təşkil edir. Əgər prosesin fasiləsiz işi üçün bu da az olarsa, proses, kvant vaxtının tətbiq olunmadığı növbə 3-ə daxil olur və digər növbələrdə hazır proseslər olmadığı halda, özünün CPU burst qurtarana qədər icra oluna bilər. CPU burst vaxt müddətinin qiyməti nə qədər böyük olarsa, o zaman proses daha aşağı üstünlüklü növbəyə düşür, amma, o, böyük prosessor vaxtını nəzərdə tuta bilər. Beləliklə, bir qədər müddətdən sonra prosessor işinin az vaxtını tələb edən bütün proseslər yüksək üstünlüklü növbələrdə yerləşmiş olacaqlar, böyük prosessor vaxtını tələb edən və cavab vaxtına alçaq sorğulu olan bütün proseslər aşağı üstünlüklü növbələrdə yerləşmiş olacaqlar.
Əks istiqamətdə proseslərin miqrasiyası müxtəlif prinsiplər üzrə həyata keçirilə bilərlər. Məsələn, klaviaturadan daxil olunmanı gözlədikdən sonra, növbə 1,2 və 3-də olan proseslər 0 növbəsinə yerləşdirilə bilərlər; giriş-çıxışın disk əməliyyatları bitəndən sonra, növbə 2 və 3–də olan proseslər növbə 1-ə yerləşdirilə bilərlər; bütün digər hadisələrin bitməsindən sonra, proseslər növbə 3-dən götürülüb növbə 2-də yerləşəcəklər. Aşağı üstünlüklü növbələrdən yüksək üstünlüklü növbələrə proseslərin yerdəyişməsi müəyyən vaxt müddətində proseslər davranışının dəyişilməsini tam şəkjildə nəzərə almağa imkan verir.
Əks əlaqəli çox səviyyəli növbələr proseslərin planlaş-dırmasında, bizim nəzərdən keçirtdiyimiz yanaşmaların içərisindən ən ümumi yanaşmadan istifadə etmişdir. Onlar həyata keçirilmədə ən çətin olur, eyni zamanda da, ən böyük çevikliyiə malik olur. Aydındır ki, bu cür planlaşdırmanın, yuxarıda göstərdiyimiz variantdan başqa, çoxlu sayda digər müxtəlif növləri də mövcuddur. Onların konkret cəmləşdiril-məsinin tam şəkildə təsviri üçün aşağıdakıları göstərmək lazımdır:
-“Hazır olma” vəziyyətində yerləşən proseslər üçün növbələrin sayı;
-Növbələr arasında işləyə bilən planlaşdırma alqoritmi;
-Növbələr daxilində işləyə bilən planlaşdırma alqoritmləri;
-Törənən prosesin növbələrdən birinə yerləşdirilmə qaydaları;
-Proseslərin bir növbədən digərinə keçirilmə qaydaları;
Bu göstərdiyimiz bəndlərdən hər hansı birini dəyişdir-məklə, biz hesablama sisteminin davranışını əhəmiyyətli dərəcədə dəyişdirə bilərik.
Mühazirə12
|