La pianificazione in linea è una tecnica utilizzata nei sistemi operativi in cui un processo viene pianificato solo dopo che è arrivato ed è diventato disponibile per l'esecuzione. Ciò implica che lo schedulatore considera solo quei processi per la schedulazione che sono attualmente disponibili nella memoria principale.
Alcuni processi potrebbero entrare nella coda pronta e alcuni processi potrebbero uscire dinamicamente dalla coda pronta. A causa della natura dinamica e imprevedibile della pianificazione online, è difficile stimare accuratamente le risorse necessarie per l’esecuzione di un processo.
Alcuni degli algoritmi più diffusi per la pianificazione online includono:
- Primo arrivato, primo servito (FCFS)
- Prima il lavoro più breve (SJF)
- Girone all'italiana (RR)
- Rapporto di risposta successivo più alto (HRRN)
Pianificazione offline:
A differenza della pianificazione online, la pianificazione offline considera tutti i processi prima che arrivino effettivamente all'esecuzione. Questa tecnica può essere applicata quando si conosce in anticipo la conoscenza futura dell'intero insieme di processi.
In base al dato insieme di processi, un algoritmo di pianificazione offline crea una pianificazione che determina quando ciascun processo verrà eseguito e per quanto tempo. Poiché gli arrivi e i dettagli di esecuzione dei processi sono noti in anticipo, la pianificazione offline può determinare la pianificazione ottimale.
Tuttavia, la pianificazione offline non è fattibile negli scenari in cui i processi arrivano in modo dinamico e il loro comportamento durante l'esecuzione non può essere previsto in anticipo.
Gli algoritmi comuni per la pianificazione offline includono:
- Lavoro più breve senza prelazione (SJF)
- Pianificazione prioritaria senza prelazione (Priorità)
- Girone all'italiana (RR)
Confronto:
| Caratteristica | Pianificazione online | Pianificazione offline |
|---|---|---|
| Conoscenza dell'arrivo del processo | Richiede solo informazioni aggiornate sui processi | Richiede la conoscenza completa di tutti i processi in anticipo |
| Adattabilità | Può gestire in modo efficiente gli arrivi dinamici dei processi | Impossibile adattarsi agli arrivi dinamici dei processi |
| Ottimalità | Impossibile fornire orari ottimali | Può fornire pianificazioni ottimali a seconda dell'algoritmo |
| Complessità | Meno complesso da implementare | Più complesso da implementare a causa della necessità di conoscere dettagliatamente tutti i processi |
networking © www.354353.com