Scheduling della CPU Flashcards
Ciclicità delle fasi d’elaborazione e di I/O
I processi si alternano tra due stati CPU burst e IO burst
Scheduler della CPU
Scheduler a breve termine ⇒ scheduler della CPU
Scheduling con prelazione
Dispatcher
Si tratta del modulo che effettivamente passa il controllo della CPU al processo scelto dallo scheduler
⇒ questa funzione comprende
⇒⇒⇒ il cambio di contesto
⇒ ⇒ ⇒ il passaggio alla modalità utente
⇒ ⇒⇒ il salto alla giusta posizione del programma utente por riavviare l’esecuzione
Criteri di scheduling 5
- Utilizzo della CPU
- Produttività == throughput ( nr. Di processi svolti po’ unità di tempo)
- Tempo di completamento == turnaround time
- Tempo d’altesa (somma degli intervalli d’attesa passati nella ready queue
- Tempo di risposta mie tempo che intercorre tra l’effetuazione di una richiesta e la prima risposta prodotta)
Algoritmi di scheduling
⇒ FCFS senza prelazione
⇒shortest job first
⇒RR
⇒scheduling a code multilivello
⇒scheduling a cade multilivello con retroazione
Scheduling dei thread
Ambito della contesa
⇒PCS process-contention scope= la contesa aggiudicarsi la cu e fra thread dello stesso processo
⇒SCS. System-contention scope=
Scheduling per i sistemi multiprocessore
Multielaborazione: simmetrica (smp) vs. Asimmetrica
Predilezione por il processore (p.affinity) ⇒ soft vs. Hard
⇒ bilanciamento del carico (migrazione push vs. Pull)
Processori multicore ( più unità di calcolo in un chip fisico)
Stallo della memoria ⇒ rimedio: più thread per ogni core
Come rendere un core multithread
Coarse- || Fine- grained ( fine ogni ciclo d’istruzione)
Schedulino real -time della CPU
Event latency:
⇒ relativa alle interruzioni
⇒ relativa al dispatch
Schedulino in base alla priorità (soft and hard ⇒ per hard c’è anche il controllo dell’ammissione
Scheduling EDF (earliest deadline First)
Scheduling a quote proporzionali
Modellazione deterministica
Def. valutazione analitica: partendo dall’ algoritmo e il carico di lavoro del sistema fornisce una formula o un numero che valuta le prestazioni dell’algoritmo per quel carico di lavoro.
La Modellazione deterministica ⇒ prende un carico di lavoro predeterminato e definisce le prestazioni dell’algoritmo per quel carico di lavoro.
Analisi delle reti di code ⇒ il sistema di calcolo si considera come una rete di server, ciascuno con una coda d’attesa. La CPU è un server come anche il sistema di io. CPU ⇒ready queue
E io ⇒ code di allena dei dispositivi
⇒ n= lambda* W ⇒ formula di Little