Scheduling nei processi mono-processore Flashcards

1
Q

Cos’è uno schedulatore?

A

Lo schedulatore (o scheduler) è quella parte del S.O. preposta all’assegnazione di risorse a favore dei processi
La selezione di un processo in una coda può avvenire mediante differenti criteri, a seconda dell’algoritmo di scheduling implementato

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quante tipologie di scheduler esistono

A

Lo schedulatore a breve termine o scheduler della CPU
Lo schedulatore a medio termine o schedulatore di swap (swapper)
Lo schedulatore a lungo termine o schedulatore di job

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cosa fa lo scheduler di lungo termine

A

Lo scheduler di lungo termine determina quale programma caricare nella coda dei processi pronti del sistema
Obiettivo: regolare la quantità di processi nel sistema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Differenza tra processi CPU-bound e I/O-bound

A

Processi CPU-bound:
-poche chiamate di sistema
-tendono ad occupare la CPU per lunghi periodi (se il SO non li interrompe)
Processi I/O-bound:
-fanno frequenti chiamate di sistema
-usano brevemente la CPU, per poi mettersi subito in attesa di I/O
-tipico dei programmi interattivi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cosa fa lo scheduler di medio termine

A

Rappresenta quella funzione del SO che ha il compito di trasferire temporaneamente processi dalla memoria centrale alla memoria di massa e viceversa
Obiettivo: migliorare l’efficienza nell’utilizzo della risorsa memoria

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cosa fa lo scheduler di breve termine

A

Conosciuto anche con il nome di Dispatcher, è lo scheduler che viene attivato più frequentemente nel sistema
Ha il compito di scegliere a quale tra i processi pronti assegnare la CPU
Obiettivo: ottimizzare il comportamento del sistema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quali sono i criteri utilizzati dall’algoritmo del Dispatcher

A

User-oriented: comportamento del sistema così come percepiti dall’utente o da un processo
System-oriented: utilizzare in modo efficiente il processore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quali sono i parametri utilizzati dal criterio User-oriented e System-oriented

A

User-oriented:
-tempo di turnaround (intervallo di tempo dall’istante in cui un processo è sottomesso al sistema fino alla sua terminazione)
-tempo di risposta
-deadlines
System-oriented:
-throughput (processi terminati per unità di tempo ovvero misura la produttività)
-utilizzo della CPU
-Fairness

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cos’è la Starvation

A

L’utilizzo di un algoritmo di scheduling a priorità può causare Starvation, ovvero situazioni di attesa indefinita di processi a priorità più bassa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Differenza tra scheduler Nonpreemptive e Preemptive

A

Nonpreemptive: una volta che il processo è nello stato di Esecuzione, esso continuerà in tale stato fin quando non si sospenderà
Preemptive: un processo in stato di esecuzione può essere interotto e spostato nello stato Pronto dal SO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Come funziona l’algoritmo di scheduling First-Come-FIrst-Served

A

Quando il processo cessa la sua esecuzione, viene scelto il processo che attende da più tempo ma un processo con tempo di esecuzione corto può aspettare un tempo molto lungo prima di essere eseguito
Non risente di starvation
Favorisce i processi CPU-bound , infatti i processi I/O-bound devono attendere il completamento di quelli CPU-bound (effetto convoglio->tempo di risposta più lento)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Come funziona l’algoritmo di scheduling Round-Robin

A

Nasce dalla trasformazione preemptive del FCFS mediante l’impiego di un timer che definisce il quanto di tempo di massimo utilizzo della risorsa o time slice

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Come funziona l’algoritmo di scheduling Short Process Next

A

Può avere sia uno schema non-preemptive sia preemptive (chiamato Short Remaining Time)
Vengono selezionati i Processi con il minor tempo di esecuzione stimato
Progettato al fine di rendere minimo il tempo medio di attesa per un insieme di processi
Possibilità di starvation per processi più lunghi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Come funziona l’algoritmo di scheduling Feedback

A

Lo scheduling è di tipo preemptive basato su quanto di tempo, code multiple, e priorità
è utilizzato un meccanismo di priorità dinamico (se un processo usa “troppo” tempo di CPU, viene spostato in una coda con priorità minore)
Mantiene i processi con prevalenza di I/O e i processi interattivi nelle code a priorità più elevata
Ogni coda è gestita in round-robin
I processi a bassa priorità eseguono quando si esauriscono quelli ad alta priorità

How well did you know this?
1
Not at all
2
3
4
5
Perfectly