Junior
Məkan dəyişdirmə nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Context Switching (Məntiqi Dəyişiklik) — əməliyyat sisteminin bir prosesin (və ya axının) vəziyyətini yadda saxlaması və başqa bir prosesin (və ya axının) vəziyyətini bərpa etməsidir. Bu, bir neçə prosesin eyni prosessoru paylaşmasına imkan verir.
Algoritm aşağıdakı addımları əhatə edir:
- Cari kontekstin yadda saxlanması: Prosessorun qeydiyyatları, əmrlər sayğacı (PC), yığım vəziyyəti və digər məlumatlar onun təsvirçisinə (PCB - Proses Nəzarət Bloku) yadda saxlanılır.
- Növbəti prosesin seçilməsi: Əməliyyat sisteminin planlayıcısı növbəti icra ediləcək prosesi seçir.
- Kontekstin bərpası: Seçilmiş prosesin yadda saxlanmış vəziyyəti onun PCB-dən prosessor qeydiyyatlarına yüklənir.
Kontekst dəyişmənin xərcləri (overhead):
- Vəziyyətin yadda saxlanması və bərpasına sərf olunan vaxt.
- Cache misses (kesh xətaları) səbəbindən səmərəliliyin itirilməsi, çünki bir prosesin doldurulmuş kesh digər proses üçün aktual deyil.
- Planlayıcının əmrlərinin icrası xərcləri.
Nümunə:
Tutaq ki, iki prosesimiz var, A və B, bir CPU nüvəsində işləyirlər.
// Əvvəlcə, Proses A işləyir
// Proses A CPU resurslarından istifadə edir
// Bir hadisə baş verir, məsələn, Proses A-nın vaxt kvantı bitir
// Proses A-nın vəziyyəti (qeydiyyatlar, PC) yadda saxlanılır
// Əməliyyat sistemi Proses B-ni icra üçün seçir
// Proses B-nin vəziyyəti yüklənir
// Proses B icraya başlayır
Kontekst dəyişməsi əməliyyat sistemlərində çoxlu tapşırıq mexanizminin əsas mexanizmidir və bir fiziki prosessor üzərində çoxsaylı proseslərin paralel icrasını illüziya etmək imkanı verir.