Разлика између превентивног и не-превентивног заказивања у оперативним системима

Заказивање процесора (или Распоред ЦПУ-а) одређује који су процеси додељени и уклоњени из ЦПУ-а на основу модела заказивања као што су Предност и Непрепоручно заказивање (такође познат као Планирање задруга).

Старији системи би могли да раде у једноставним самосталним режимима, али уз све већу потребу за флексибилним системима, као и виртуализацијом, ефикасно управљање вишеструком обрадом омогућава брзи одговор на све захтеве за обраду задатака.

Јединице за заказивање често се називају а задатак а посао Планера је да извршава и управља тим задацима кад год је то потребно; Сцхедулер бира задатак који ће бити уклоњен и додељен ЦПУ-у на обраду, према кориштеном моделу заказивања.

Како планер зна који су задаци приоритети?

Планер мора да покрене правичан и ефикасан процес одабира, узимајући у обзир променљиве, динамичне захтеве за обраду и искориштавајући максимално ЦПУ циклусе.

Током обраде задаци могу бити у два стања:

  1. У а ЦПУ Бурст где ЦПУ обавља прорачуне за обраду задатка (период за ЦПУ Бурст варира од задатка до задатка, а програм у програм).
  2. Ин ан Улаз / излаз (И / О) праска чекају да се подаци приме или пошаљу из система.

Кад ЦПУ ради у празном ходу, Сцхедулер очитава Спремни ред, и бира следећи задатак који ће се покренути. Онда је то Диспечер која омогућава одабраном задатку контролу процесора, тако да мора бити брз! Било које време које је диспечер преузео познато је као Латенција отпреме.

Постоје различите структуре и прилагођени параметри за дефинисање Спремни ред, као и неколико метода које се могу користити за управљање сложеностима процеса заказивања.

Генерално, ради се о оптимизацији и максимизирању коришћења ЦПУ-а, пропусности итд.

Планер мора да донесе одлуку током једне од следећих фаза:

  1. Када се Задатак промени из а Трчање до а Држава чекања (на пример, чекање током И / О захтева).
  2. Када се Задатак промени из Трчање до Спреман (на пример одговор на прекид).
  3. Када се Задатак промени из Чекање до Спреман (на пример, улаз / излаз захтев је завршен).
  4. Када Задатак

Мора се изабрати нови задатак ако се догоди фаза 1 или 4 да се осигура пуна употреба ЦПУ-а, и у фази 2 и 3, задатак се може наставити са покретањем или је изабран нови.

Након разумевања како се задатак обрађује, погледајмо два модела заказивања који се баве прекидима ЦПУ-а.

Обе имају сличне карактеристике са задацима, стањима задатака, редовима реда и приоритетима (статичким или динамичким):

  • Непрепоручно заказивање је када задатак траје док се добровољно не заустави или заврши. Виндовс® је имао Нон-Преемптиве Сцхедулинг до Виндовс 3.к, након чега се из Виндовс 95 променио у Преемптиве.
  • Превентивно планирање где се задатак може присилно обуставити прекидом ЦПУ-а, за разлику од Нон-Преемптиве где се задатак покреће све док не ослободи контролу над ЦПУ-ом..

Непрепоручно заказивање

Задаци унутар не-превентивног система покренут ће се док се не заврше.

Планер затим проверава стања свих задатака и заказује следећи задатак са највишим приоритетом са Спреман држава.

Са Нон-Преемптиве Сцхедулингом, једном када задатак додељује ЦПУ, он се не може одузети, чак и ако кратки задаци морају да сачекају да се заврше дужи задаци.

Управљање заказивања за све задатке је „фер“, а времена одзива су предвидљива, јер задаци високог приоритета не могу нагомилати задатке даље према реду чекања.

Планер осигурава да сваки задатак добије свој удео у ЦПУ-у, избегавајући одгађање са било којим задатком. „Количина времена“ додељена ЦПУ-у не мора нужно бити једнака, јер зависи од времена који задатак треба да се заврши.

Превентивно планирање

Овај модел заказивања омогућава прекид задатака - за разлику од не-превентивног заказивања који има приступ „трчање до завршетка“.

Прекиди, који могу бити покренути из екстерних позива, позивају Сцхедулера да заустави текући задатак како би управљао другим задатком вишег приоритета - тако да контрола ЦПУ-а може бити претпостављена.

Задатак највишег приоритета у а Спреман држава се извршава, омогућавајући брзо реаговање на догађаје у стварном времену.

Неки од недостатака код Преемптиве Сцхедулинг-а укључују повећање опћих трошкова за ресурсе при кориштењу прекида и проблема могу се догодити са два задатка дељења података, јер један може бити прекинут током ажурирања дељених структура података и може негативно утицати на интегритет података.

С друге стране, практично је бити у могућности зауставити задатак да управљате другим који би могао бити критичан.

Укратко

Може се дефинисати много варијација и зависности у различитим политикама, као што је коришћење а „Политика округлих робина [и]“ где се сваки задатак (с једнаким приоритетом) покреће једном, а затим поставља на крај реда, за следећи циклус.

Остале политике укључују Први улази - први излази, Најкраћи посао-први, Најкраћи посао-Следећи, Најкраће преостало време, итд.

Анализа историјских података може пружити информације о аспектима, као што су брзина доласка нових задатака, ЦПУ и И / О провале итд., Тако да дистрибуције вероватноће могу израчунати карактеристике чекања задатака, на тај начин наоружавајући администраторе релевантним подацима за дефинисање модела заказивања.