Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> CPU >> .

Quali proprietà dei processi determinano quale processo dovrebbe essere utilizzata la CPU?

La selezione di cui il processo ottiene il tempo della CPU successiva è una decisione complessa presa dallo Scheduler del sistema operativo. Diverse proprietà dei processi influenzano questa decisione e l'importanza relativa di queste proprietà varia a seconda dell'algoritmo di pianificazione utilizzato. Ecco alcune proprietà chiave:

* Priorità: A ogni processo viene spesso assegnato un livello di priorità. I processi di priorità più elevati generalmente ottengono il tempo della CPU prima di quelli a basso priorità. Le priorità possono essere assegnate staticamente (ad esempio, in base al tipo di processo) o dinamicamente (ad esempio, in base all'utilizzo delle risorse o al tempo di attesa).

* tempo di scoppio della CPU (o tempo di scoppio della CPU stimato): I processi a breve termine sono spesso favoriti per ridurre al minimo i tempi di attesa medi (come si vede nella prima pianificazione del lavoro più breve). Tuttavia, prevedere accuratamente il tempo di scoppio può essere impegnativo.

* Tempo di arrivo: Il tempo in cui un processo diventa pronto a eseguire le decisioni di programmazione influenze. Alcuni algoritmi danno la priorità ai processi che hanno aspettato i più lunghi (ad esempio, il primo arrivo, il primo servito).

* Requisiti di memoria: I processi con requisiti di memoria elevati potrebbero essere penalizzati se la memoria è scarsa, poiché dando loro la CPU potrebbe portare a uno scambio eccessivo o di paging, rallentando l'intero sistema.

* I/O legato vs. CPU Bound: I processi legati a I/O aspettano frequentemente operazioni I/O (accesso al disco, comunicazione di rete), mentre i processi legati alla CPU utilizzano costantemente la CPU. Gli scheduler spesso favoriscono i processi legati all'I/O per migliorare la reattività complessiva del sistema, poiché rilasciano frequentemente la CPU.

* Invecchiamento: Il tempo di attesa di un processo potrebbe aumentare la sua priorità nel tempo. Questo "invecchiamento" impedisce ai processi di morire di fame indefinitamente.

* Stato di processo: Solo i processi nello stato "pronto" sono ammissibili all'allocazione della CPU. I processi bloccati su I/O o altri eventi non sono considerati.

* Utilizzo delle risorse (incluso l'utilizzo della CPU): Alcuni programmi considerano la storia di un processo di utilizzo della CPU. I processi che hanno acceso la CPU potrebbero essere temporaneamente depresi per garantire l'equità.

* Vincoli in tempo reale: Per i sistemi operativi in ​​tempo reale, le scadenze sono cruciali. I processi con scadenze imminenti ricevono una priorità più elevata, anche se significa preempare altri processi.

La combinazione specifica di queste proprietà e la loro ponderazione determina il comportamento dell'algoritmo di pianificazione. Diversi algoritmi, come Round Robin, prima lavoro più corto, programmazione prioritaria, programmazione delle code multilivello e altri, danno la priorità a queste proprietà in modo diverso per raggiungere diversi obiettivi (ad esempio, massimizzare la velocità

 

hardware © www.354353.com