Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Takto fungujú nepreemptívne algoritmy:
1. Výber procesu:
- Plánovač vyberá ďalší proces, ktorý sa má vykonať, na základe plánovacích zásad, ako je FCFS, najkratšia úloha ako prvá (SJF) alebo akýkoľvek iný plánovací algoritmus.
2. Neprerušiteľné vykonávanie:
- Akonáhle sa proces začne vykonávať, nemôže byť prerušený iným procesom. To znamená, že vybraný proces bude pokračovať vo vykonávaní, kým nedokončí svoje vykonávanie alebo sa dobrovoľne nevzdá CPU (napr. vykonaním I/O operácie).
3. Žiadne predkupné právo:
- Kým prebieha aktuálny proces, žiadny iný proces mu nemôže odobrať CPU. To zaisťuje dokončenie procesov bez prerušenia procesmi s vyššou prioritou.
4. Dokončenie:
- Proces pokračuje vo vykonávaní svojich pokynov, kým nedokončí vykonávanie alebo nedosiahne stav, kedy je zablokovaný (čakanie na I/O alebo nejaký zdroj). Po dokončení procesu je CPU k dispozícii na plánovanie ďalšieho procesu.
Nepreemptívne plánovacie algoritmy sa implementujú jednoduchšie ako preemptívne, pretože nie je potrebné časté prepínanie kontextu. Môžu však viesť k nižšej efektívnosti systému a suboptimálnemu výkonu, pretože procesy s vyššou prioritou môžu čakať, kým procesy s nižšou prioritou dokončia svoju realizáciu.
Príklady nepreemptívnych plánovacích algoritmov zahŕňajú:
- Kto príde, ten prv berie (FCFS): Procesy sa vykonávajú v poradí, v akom prichádzajú, bez zohľadnenia ich priority alebo požiadaviek na zdroje.
- Najskôr najkratšia úloha (SJF) bez preempcie: Tento algoritmus vyberie proces s najkratším odhadovaným časom vykonania pre ďalšie vykonanie. Akonáhle však proces začne vykonávať, nemôže byť prerušený iným procesom, aj keď tento príde neskôr s kratším odhadovaným časom vykonania.