Sommario:
- Definizione - Cosa significa Pianificazione prioritaria?
- Techopedia spiega la pianificazione delle priorità
Definizione - Cosa significa Pianificazione prioritaria?
La pianificazione delle priorità è un metodo di pianificazione dei processi basato sulla priorità. In questo metodo, lo scheduler sceglie le attività in base alla priorità, che è diversa da altri tipi di pianificazione, ad esempio un semplice round robin.
La pianificazione delle priorità comporta l'assegnazione delle priorità a ogni processo e i processi con priorità più elevate vengono eseguiti per primi, mentre i compiti con priorità uguali vengono eseguiti in base al principio "primo arrivato, primo servito" (FCFS) o round robin. Un esempio di algoritmo di pianificazione con priorità generale è l'algoritmo SJF (short-job-first).
Techopedia spiega la pianificazione delle priorità
Le priorità possono essere dinamiche o statiche. Le priorità statiche vengono assegnate durante la creazione, mentre le priorità dinamiche vengono assegnate in base al comportamento dei processi all'interno del sistema. Per illustrare, lo scheduler potrebbe favorire attività intensive di input / output (I / O), che consentono di inviare richieste costose il prima possibile.
Le priorità possono essere definite internamente o esternamente. Le priorità definite internamente utilizzano una quantità misurabile per calcolare la priorità di un determinato processo. Al contrario, le priorità esterne sono definite utilizzando criteri al di fuori del sistema operativo (OS), che possono includere il significato del processo, il tipo e la somma delle risorse utilizzate per l'uso del computer, le preferenze dell'utente, il commercio e altri fattori come la politica, eccetera.
La pianificazione delle priorità può essere una delle seguenti:
- Preventivo: questo tipo di pianificazione può impedire l'unità di elaborazione centrale (CPU) nel caso in cui la priorità del processo appena arrivato sia maggiore di quella dei processi esistenti.
- Non preventivo: questo tipo di algoritmo di pianificazione posiziona semplicemente il nuovo processo in cima alla coda pronta.
Il blocco indefinito, altrimenti chiamato fame, è uno dei principali problemi relativi agli algoritmi di pianificazione prioritaria. È uno stato in cui un processo è pronto per essere eseguito, ma deve affrontare una lunga attesa per essere assegnato alla CPU.
È spesso possibile che un algoritmo di pianificazione prioritaria possa far attendere indefinitamente un processo a bassa priorità. Ad esempio, in un sistema a carico intensivo, se esistono numerosi processi con priorità più elevata, i processi con priorità bassa potrebbero non ottenere mai l'esecuzione della CPU.
Un rimedio alla fame è l'invecchiamento, che è una tecnica utilizzata per aumentare gradualmente la priorità di quei processi che attendono lunghi periodi nel sistema.
