Gli algoritmi di pianificazione dei processi sono metodi utilizzati dai sistemi operativi per gestire l'esecuzione di più compiti, determinano quale processo funziona in qualsiasi momento, mirando a ottimizzare le prestazioni e l'utilizzo delle risorse.

Primo, primo-served (FCFS)

Questo algoritmo pianifica i processi nell'ordine che arrivano. È semplice e facile da implementare, ma può portare a lunghi tempi di attesa per le attività più brevi se le attività più lunghe arrivano prima.

Ad esempio, in una linea di checkout negozio di alimentari, i clienti vengono serviti nell'ordine che arrivano, indipendentemente dal numero di articoli che hanno. Questo può causare ritardi per i clienti con meno articoli se qualcuno con molti articoli si unisce la linea prima.

Robin rotonda (RR)

Questo algoritmo assegna ad ogni processo una fetta di tempo fissa o quantistica. I processi vengono ciclizzati in una coda, garantendo una corretta distribuzione del tempo della CPU.

Immaginate un gruppo di persone che condividono un singolo computer, ogni volta che si gira per un periodo impostato. Se una persona non finisce nel loro tempo, vanno al retro della linea per un altro giro. Questo approccio impedisce qualsiasi processo di monopolizzare la CPU.

Il prossimo lavoro più breve (SJN)

Questo algoritmo seleziona il processo con il tempo di esecuzione più breve previsto. Riduce al minimo il tempo di attesa medio ma richiede una conoscenza preventiva delle durate di processo.

Considerate un centro di assistenza clienti dove le domande rapide sono prioritarie su problemi di lunghezza, che assicura una risoluzione più rapida per compiti semplici, ma possono causare tempi di attesa più lunghi per casi complessi.

Priorità

I processi sono assegnati priorità, e il programmatore seleziona il processo di massima priorità da eseguire.

In un ospedale, i casi di emergenza vengono trattati prima dei controlli di routine. I compiti di alta priorità sono affrontati prontamente, ma le attività di bassa priorità possono sperimentare ritardi.

  • Equità
  • Efficienza
  • Responsabilità
  • Complessità