Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> Compressione dei dati >> .

Cosa sono gli algoritmi non preventivi?

Nella pianificazione non preventiva, una volta che un processo inizia la sua esecuzione, non può essere anticipato da un altro processo prima che completi la sua esecuzione o rilasci volontariamente la CPU.

Ecco come funzionano gli algoritmi non preventivi:

1. Selezione del processo:

- Lo scheduler seleziona il processo successivo da eseguire in base a politiche di pianificazione come First-Come First-Served (FCFS), Shortest Job First (SJF) o qualsiasi altro algoritmo di pianificazione.

2. Esecuzione non interrompibile:

- Una volta avviata l'esecuzione di un processo, non può essere interrotto da un altro processo. Ciò significa che il processo selezionato continuerà ad essere eseguito finché non completerà la sua esecuzione o rinuncerà volontariamente alla CPU (ad esempio, eseguendo un'operazione di I/O).

3. Nessuna prelazione:

- Mentre il processo corrente è in esecuzione, nessun altro processo può sottrargli la CPU. Ciò garantisce che i processi vengano completati senza essere interrotti da processi con priorità più elevata.

4. Completamento:

- Il processo continua a eseguire le sue istruzioni finché non termina l'esecuzione o raggiunge uno stato in cui è bloccato (in attesa di I/O o di qualche risorsa). Una volta completato il processo, la CPU è disponibile per pianificare il processo successivo.

Gli algoritmi di pianificazione non preventiva sono più semplici da implementare rispetto a quelli preventivi poiché non sono necessari frequenti cambi di contesto. Tuttavia, possono portare a una minore efficienza del sistema e a prestazioni non ottimali, poiché i processi con priorità più elevata potrebbero dover attendere che i processi con priorità inferiore completino la loro esecuzione.

Esempi di algoritmi di pianificazione non preventiva includono:

- Primo arrivato, primo servito (FCFS): I processi vengono eseguiti nell'ordine in cui arrivano, senza considerare la loro priorità o i requisiti di risorse.

- Shortest Job First (SJF) senza prelazione: Questo algoritmo seleziona il processo con il tempo di esecuzione stimato più breve per l'esecuzione successiva. Tuttavia, una volta che il processo inizia l'esecuzione, non può essere anticipato da un altro processo, anche se quest'ultimo arriva più tardi con un tempo di esecuzione stimato più breve.

 

software © www.354353.com