Page 30 - 6111
P. 30

Лекція № 3

                                              ПЛАНУВАННЯ РОБІТ В КС

                                Планування  робіт  в  КС  містить  у  собі  рішення  наступних
                            завдань:
                                - визначення моменту часу для зміни виконуваного процесу;
                                - вибір процесу на виконання з черги готових процесів;
                                - перемикання контекстів “старого” і “нового” процесів.
                                Перші  два  завдання  вирішуються  програмними  засобами,  а
                            останнє значною мірою апаратно.
                                Існує  безліч  різних  алгоритмів  планування  процесів,  які  по
                            різному вирішують перераховані вище завдання, переслідують різні
                            цілі  і  забезпечують  різну  якість  мультипрограмування.  Серед  цієї
                            безлічі  алгоритмів  розглянемо  докладніше  дві  групи  найбільш
                            розповсюджених алгоритмів: алгоритми, засновані на квантуванні, і
                            алгоритми, засновані на пріоритетах.
                                Відповідно  з  алгоритмами,  заснованими  на  квантуванні,  зміна
                            активного процесу відбувається, якщо:
                                - процес завершився і залишив систему;
                                - сталася помилка;
                                - процес перейшов у стан очікування;
                                -  вичерпаний  квант  процесорного  часу,  відведений  даному
                            процесу.
                                Процес,  який  вичерпав  свій  квант,  переводиться  в  стан
                            готовність  і  чекає,  коли  йому  буде  наданий  новий  квант
                            процесорного часу, а на виконання відповідно до певного правила
                            вибирається  новий  процес  з  черги  готових.  Таким  чином,  жоден
                            процес не займає процесор надто довго, тому квантування широко
                            використовується в системах поділу часу.
                                Кванти,  виділювані  процесам,  можуть  бути  однаковими  для
                            всіх  процесів  чи  різними.  Кванти,  виділювані  одному  процесу,
                            можуть бути фіксованої величини або змінюватися в різні періоди
                            життя процесу. Процеси, які не повністю використали виділений їм
                            квант  (наприклад,  через  відхід  на  виконання  операцій  введення-
                            виведення),  можуть  отримати  або  не  отримати  компенсацію  у
                            вигляді привілеїв при наступному обслуговуванні. По різному може
                            бути  організована  чергу  готових  процесів:  циклічно,  за  правилом
                            “перший  прийшов  -  першим  обслужений”  (FIFO)  чи  за  правилом
                            “останній прийшов - першим обслужений” (LIFO).
                                Інша  група  алгоритмів  використовує  поняття  “пріоритет”
                            процесу.  Пріоритет  -  це  число,  що  характеризує  ступінь
                            привілейованості     процесу     при    використанні     ресурсів
                                                              29
   25   26   27   28   29   30   31   32   33   34   35