Domanda

In uno scheduler round-robin, l'aggiunta di un processo più volte per la lista dei processi è un modo economico per dare maggiore priorità.

Mi chiedo come pratica un approccio questo potrebbe essere. Quali vantaggi si hanno più altre tecniche come dando il processo un intervallo di tempo più lungo (vantaggio: tempo di commutazione inferiore) o mantenere un elenco separato di processi ad alta priorità. In particolare, come fa messa in vendita di un processo più volte influenza l'equità e reattività?

(Da esercizio 2.16 a Andrew Tanenbaum di Sistemi operativi:. Progettazione e realizzazione 1a ed)

È stato utile?

Soluzione

Il vantaggio di questo approccio è che la pianificazione rotondo robin è molto efficiente, quindi non è necessario fare affidamento su uno scheduler più complessa, che avrebbe rubato cicli. Introducendo intervalli di tempo più lunghi per processi ad alta priorità diminuirebbe la reattività di altri fili e rendere più difficile per il sistema operativo di saltare a trattare con un interrupt e così via. Il mantenimento di liste separate dei processi richiederebbe un programmatore molto più complesso, che sarebbe più costoso in termini di cicli. Non vedo come non ci sarebbe alcun problema con l'equità, però. Credo che il problema è che la granularità è abbastanza naturalmente: i processi possono avere solo interi multipli del base time-slice

.

Un punto negativo è che la rimozione di un processo sarebbe più costose, come ogni occorrenza del processo dovrebbe essere rimosso dalla coda. Forse questo può essere fatto pigramente, però.

Altri suggerimenti

L'aggiunta l'attività a una coda di schedulazione round-robin più volte si apre il problema di assicurare che le voci rimangono ragionevolmente evently distribuiti. Questo è facile per garantire se il sistema non consente la creazione di un'attività dinamica o la cancellazione, ma non è possibile in generale.

In aggiunta al più complesso processo di rimozione degli elementi dalla coda, l'eventuale inclinazione delle voci di processo nella coda si tradurrà in un comportamento squilibrato che è più facile fare fiera con più livelli di priorità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top