Anteprima
Vedrai una selezione di 3 pagine su 10
Scheduling CPU Pag. 1 Scheduling CPU Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Scheduling CPU Pag. 6
1 su 10
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Scheduling della CPU

Scheduler a breve termine

  • Seleziona fra i processi in memoria, pronti per l'esecuzione, quello a cui allocare la CPU.

La selezione dello scheduling può avvenire quando un processo:

  1. passa da running a waiting
  2. passa da running a ready
  3. passa da waiting a new a ready
  4. termina

Nei casi 1 e 4 lo scheduling è non preemptive, negli altri è preemptive.

Esso della relazione ha effetti sulla progettazione del Kernel (accesso concorrente delle stesse strutture dati)

Dispatcher

Modulo che dà il controllo della CPU al processo selezionato dallo scheduler di breve termine. Questo comporta:

  • Context switch
  • Passaggio della CPU da supervisor mode a user mode
  • Salto alla locazione del programma utente per riprendere il processo

È essenziale che il dispatcher sia veloce.

La latenza di dispatch è il tempo necessario per fermare un processo e riprendere un altro.

Criteri di valutazione dello Scheduling

  • Utilizzo della CPU: mantenere la CPU più carica possibile
  • Throughput: numero di processi completati nell'unità di tempo
  • Tempo di turnaround: tempo totale impiegato per l'esecuzione di un processo
  • Tempo di attesa: quanto tempo un processo ha atteso in ready
  • Tempo di risposta: quanto tempo è trascorso da quando era richiesto l'uso individuale quando è ottenuto la prima risposta. (Non throughput!) è pensato per i sistemi time-sharing.

• Variazione del tempo di risposta: quando il tempo di risposta è variabile.

Algoritmi di Scheduling

First Come First Served (FCFS)

  • Senza prelazione, inadatto per time-sharing
  • Equo: non c'è pericolo di starvation

Esempio: ordine Processi

ProcessoBurst time P124 P23 P33

ordine di arrivo: P1, P2, P3

Diagramma di Gantt:

(P1, t)   (P2, t)   (P3, t)

P1   P2   P3

0   24   27   30

Tempi di attesa:

  • P1 = 0
  • P2 = 24
  • P3 = 27

Tempo di attesa medio: (0 + 24 + 27) / 3 = 17

Supponiamo che l'ordine di arrivo ora sia P2, P3, P1

Diagramma di Gantt:

P2   P3   P1

0   3   6   30

Tempi di attesa:

  • P1 = 6
  • P2 = 0
  • P3 = 3

Tempo di attesa medio: (6 + 0 + 3) / 3 = 3

molto migliore rispetto al caso precedente.

Effetto convoglio: i processi di I/O bound si accodano dietro un processo cpu bound

Esempio

q = 20

Processo Burst time

  • P1 53
  • P2 17
  • P3 68
  • P4 24

Diagramma di Gantt

P4 P2 P3 P4 P1 P3 P4 P1 P3

0 20 34 57 71 91 117 121 134 154 162

- Tipicamente si ha un tempo di turnaround medio maggiore ma minore tempo di risposta

Prestazioni dello scheduling RR

  • q grande ⇒ degenza nel FCFS
  • q piccolo ⇒ q deve essere comunque grande rispetto al tempo di context switch altrimenti l'overhead è elevato
  • l'80% dei CPU burst dovrebbe essere inferiore a q
Dettagli
Publisher
A.A. 2017-2018
10 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher _Tob_ di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Udine o del prof Scagnetto Ivan.