1. Criteri di performance:
* Utilizzo della CPU: Mira a mantenere la CPU il più possibile, massimizzandone l'utilizzo.
* throughput: Misura il numero di processi completati per unità di tempo.
* Tempo di consegna: Il tempo totale che un processo spende nel sistema, dall'arrivo al completamento.
* Tempo di attesa: Il tempo in cui un processo spende in attesa in coda pronta prima di ottenere la CPU.
* Tempo di risposta: Il tempo impiegato per un processo per iniziare a rispondere dopo una richiesta dell'utente.
* Equità: Garantisce che tutti i processi ottengano una buona parte del tempo della CPU.
2. Criteri di utilizzo delle risorse:
* Utilizzo delle risorse: Misura come vengono utilizzate risorse di sistema in modo efficiente come la CPU, la memoria e i dispositivi I/O.
* Allocazione delle risorse: Si concentra su come le risorse vengono assegnate a processi diversi e non garantisce la fame (in cui un processo non viene mai assegnato risorse).
3. Altri criteri:
* Priorità: Assegnare priorità diverse ai processi in base alla loro importanza o urgenza.
* Scadenza: Considera le scadenze associate ai processi, garantendo il completamento tempestivo.
* Requisiti in tempo reale: Gestire processi in tempo reale che hanno rigorosi vincoli di temporizzazione (ad esempio, nelle applicazioni multimediali).
4. Criteri specifici dell'algoritmo di pianificazione:
Alcuni algoritmi di pianificazione hanno criteri specifici oltre quelli generali sopra elencati. Ad esempio:
* Primo lavoro più breve (SJF): Favorisce i processi con il tempo di esecuzione più breve previsto.
* Pianificazione prioritaria: Assegna le priorità ai processi e pianifica prima il processo di priorità più elevata.
* Round Robin: Fornisce a ciascun processo una fetta di tempo fissa della CPU, ruotando tra i processi.
Scegliere i criteri giusti:
La scelta dei criteri di pianificazione dipende dai requisiti specifici di sistema e dalla natura dei processi programmati. Per esempio:
* Sistemi interattivi: Dai la priorità ai tempi di risposta e all'equità per fornire un'esperienza utente regolare.
* Sistemi batch: Concentrati sull'utilizzo di throughput e CPU per massimizzare l'efficienza di elaborazione.
* Sistemi in tempo reale: Dai la priorità alle scadenze e ai tempi di risposta per garantire un'esecuzione tempestiva.
Comprendendo i diversi criteri di pianificazione, è possibile scegliere l'algoritmo e i parametri più appropriati per le esigenze specifiche del sistema.
hardware © www.354353.com