JET School

Scheduler nədir?

Scheduler, yəni planlayıcı, əməliyyat sisteminin ən vacib hissələrindən biridir. Onun əsas vəzifəsi proseslərə və iş iplərinə (thread-lərə) prosessorun (CPU) istifadəsini bölüşdürmək, yəni hansı prosesin nə vaxt və nə qədər müddətə CPU-dan istifadə edəcəyini müəyyənləşdirməkdir. Bu modul əməliyyat sisteminin nüvəsində (kernel) işləyir və kompüterin performansı, ədalətli resurs bölgüsü və sistemin cavabvermə sürəti kimi əsas göstəricilərə birbaşa təsir göstərir.

Scheduler nə edir?

Kompüterdə eyni anda onlarla proses işləyə bilər (məsələn, veb brauzer, antivirus, musiqi pleyeri və s.). Ancaq CPU fiziki olaraq eyni anda yalnız bir prosesi icra edə bilir (bəzi çoxnüvəli sistemlərdə hər nüvə bir prosesi). Belə olduqda scheduler:

  • Hər bir prosesi növbəyə qoyur,
  • Onların prioritetlərinə, növbə tipinə və vəziyyətinə əsasən seçim edir,
  • Seçilmiş prosesi CPU-ya ötürür,
  • Müəyyən vaxt keçdikdən sonra və ya prosess özü dayandıqda növbəti prosesi təyin edir.

Planlayıcının əsas funksiyaları:

  1. CPU zamanının paylaşdırılması: Proseslərin ədalətli və balanslı şəkildə CPU vaxtı almasını təmin edir.
  2. Proseslərin idarə olunması: Gözləyən (waiting), işləyən (running), dayandırılmış (suspended) və hazır (ready) vəziyyətində olan prosesləri izləyir.
  3. Prioritetlərə əsaslanan seçim: Bəzi proseslər digərlərindən daha vacib ola bilər. Planlayıcı bu prioritetləri nəzərə alır.
  4. Kontekst dəyişməsi (Context switching): Bir prosesdən digərinə keçid zamanı bütün müvafiq məlumatları yadda saxlayır və yenidən yükləyir.
  5. Çoxtapşırıqlılığın dəstəklənməsi: Bir neçə prosesin eyni vaxtda sanki paralel işləməsini təmin edir.

Scheduler növləri:

Əməliyyat sistemlərində müxtəlif planlaşdırma alqoritmləri mövcuddur. Hər birinin öz üstünlükləri və çatışmazlıqları var:

  • First Come First Serve (FCFS): Əvvəl gələn proses əvvəl icra olunur.
  • Round Robin: Hər prosesə eyni uzunluqda vaxt verilir, sonra növbə dəyişir.
  • Priority Scheduling: Proseslər prioritetlərinə görə icra olunur.
  • Shortest Job First (SJF): Ən az vaxt tələb edən proses əvvəl işlədilir.
  • Multilevel Queue: Proseslər müxtəlif növ növbələrdə saxlanılır (interaktiv, batch və s.).

Niyə Scheduler vacibdir?

  • Effektiv performans üçün: Sürətli və ağıllı seçimlər kompüterin səmərəli işləməsinə səbəb olur.
  • İstifadəçi təcrübəsi üçün: Proqramların gecikmədən və donmadan işləməsi üçün düzgün planlaşdırma vacibdir.
  • Ədalətli resurs bölgüsü üçün: Hər bir prosesə kifayət qədər vaxt ayrılmalıdır ki, heç biri sistemin işləməsini əngəlləməsin.
  • Server və real-time sistemlər üçün: Sistem resurslarının vaxtında ayrılması həyati əhəmiyyət daşıyır.

Misal:

Tutaq ki, siz videoya baxırsınız, eyni zamanda brauzerdə məqalə oxuyursunuz və arxa planda antivirus işləyir. Scheduler bu üç prosesi elə planlayır ki, siz videoya baxarkən görüntü donmasın, brauzer sürətli cavab versin və antivirus arxa planda səmərəli işləsin. Bütün bunları millisekundlarla ölçülən vaxtda edir.

Nəticə:

Scheduler, əməliyyat sisteminin ürəyi və beyni kimidir. Onun düzgün işləməsi sayəsində kompüterlər çoxsaylı prosesləri ardıcıllıqla və səmərəli şəkildə idarə edə bilir. Bu modul olmasa, resurs bölgüsü xaotik olar, sistem donar və performans kəskin şəkildə aşağı düşərdi.

Əlaqəli terminlər:

IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!