Repàs · Tema 4. Gestió de processos

omple, corregeix i mira què et falla

Això no és un examen i no ho veu ningú més que tu. Tot passa dins aquesta pàgina: no s'envia res enlloc i no es desa res. Les respostes són les del llibre.
La nota surt de les 421 preguntes de resposta curta. Les preguntes obertes no puntuen, perquè no es poden corregir soles.
La solució només surt on hagis contestat. El que deixis en blanc es queda en blanc: així no et pots donar les respostes sense pensar-hi.

Posa-hi el nom abans de descarregar el PDF: si no, no se sabrà de qui és.

Practica 4.1

a) Tens obertes tres finestres del Chrome. Quants programes hi ha? Quants processos?

b) Explica amb les teves paraules la diferència entre programa i procés.

Practica 4.2

Digues en quina zona va cada cosa.

ElementZona
Les instruccions del programa
Una variable que es crea dins d'una funció
Una variable global
Memòria que el programa reserva mentre corre

Guiat 4.3

Completa quin estat correspon a cada situació.

SituacióEstat
El procés està esperant que l'usuari premi una tecla
El procés està fent servir la CPU en aquest moment En execució
Ha esgotat el seu quantum i torna a la cua
Acaba de crear-se i encara no és a la cua
Ha acabat la seva última instrucció

Guiat 4.5 — FIFO

Amb aquests processos, completa la graella, la cua i la taula. El P1 ja et ve fet.

ProcésArribadaCPUIniciFiRespostaServeiEspera
P1 1 4 1 4 0 4 0
P2 2 3
P3 3 2
P4 6 5
Mitjana
1234567891011121314
P1 X X X F
P2
P3
P4
Cua

Practica 4.6 — Round Robin

Repeteix l'exemple anterior però amb q = 3. Completa la graella, la cua i la taula.

1234567891011121314
A
B
C
D
E
Cua
ProcésArribadaCPUIniciFiRespostaServeiEspera
A 1 3
B 4 2
C 5 3
D 7 4
E 8 2
Mitjana

Surt millor o pitjor que amb q = 2? Per què t'ho esperaves?

### 10.1. Quan un procés demana entrada/sortida

Fins ara els processos només feien servir la CPU. A la realitat, gairebé tots s'aturen a mig camí

per llegir el disc, esperar una tecla o rebre dades de la xarxa. Mentre esperen no volen CPU:

estan bloquejats.

Als exercicis t'ho donaran per ràfegues, així:

A: CPU 2 · E/S 2 · CPU 2

Vol dir que A fa servir la CPU 2 cicles, després s'està 2 cicles esperant l'entrada/sortida, i

després torna a necessitar la CPU 2 cicles més. A classe ho veuràs escrit només amb números:

2 2 2.

A la graella, els cicles d'E/S es marquen amb una W (de wait, esperar).

Tres regles noves:

1. Quan un procés demana E/S, deixa anar la CPU a l'acte, encara que no hagi esgotat el

quantum. Entra el següent de la cua.

2. Mentre fa E/S, no és a la cua. L'E/S no ocupa la CPU: passa alhora que un altre procés

s'executa.

3. Quan acaba l'E/S, torna al final de la cua de preparats. Mai directament a la CPU. És la

fletxa de Bloquejat a Preparat del diagrama d'estats.

I els empats a la cua es resolen igual: passa primer el que fa més temps que no s'executa.

- Si un arriba nou, passa davant: no s'ha executat mai.

- Si un torna d'E/S i l'altre ha esgotat el quantum, primer el que torna d'E/S.

- Si tornen dos d'E/S, primer el que fa més temps que hi és.

Si a la cua no hi ha ningú, la CPU queda aturada: en aquella columna de la graella no hi ha

cap X.

I la fórmula de l'espera canvia una mica. Els cicles que un procés passa fent E/S no els ha passat

a la cua, així que també s'han de restar:

Espera = Servei − CPU − E/S

on CPU és la suma de totes les ràfegues de CPU i E/S la suma de totes les d'entrada/sortida.

### Exemple resolt 3 — Round Robin amb E/S, q = 2

ProcésArribadaRàfegues
A 1 CPU 3 · E/S 2 · CPU 1
B 2 CPU 2 · E/S 2 · CPU 2
C 3 CPU 2 · E/S 2 · CPU 2

Pas 1. Seguim la cua cicle a cicle. Aquest és el pas que no et pots saltar.

- Cicle 1. Només hi ha A. Entra a la CPU.

- Cicle 2. Arriba B. Va a la cua.

- Cicle 3. Arriba C i A ha esgotat el quantum, amb 1 cicle encara per fer: han d'entrar alhora

a la cua. Primer C, que és nou, després A. Entra B. A la cua queden C i A.

- Cicle 5. B ha acabat la primera ràfega i se'n va a fer E/S els cicles 5 i 6. Entra C. A

la cua, A.

- Cicle 7. C se'n va a fer E/S els cicles 7 i 8. B torna de l'E/S i va a la cua, darrere A.

Entra A.

- Cicle 8. A ha acabat la primera ràfega i se'n va a fer E/S els cicles 8 i 9. Entra B.

- Cicle 9. C torna de l'E/S i va a la cua.

- Cicle 10. B ha acabat. A torna de l'E/S i va a la cua, darrere C. Entra C.

- Cicle 12. C ha acabat. Entra A, amb la segona ràfega, i acaba en aquest mateix cicle.

Pas 2. La graella.

123456789101112
A X X X W W F
B X X W W X F
C X X W W X F
Cua B C C A A B C A A
A A

Fixa't a la columna 8: A i C fan E/S alhora mentre B fa servir la CPU.

Pas 3. La taula, ara amb les ràfegues d'E/S:

ProcésArribadaCPU i E/SIniciFiRespostaServeiEspera
A 1 3 · 2 · 1 1 12 0 12 6
B 2 2 · 2 · 2 3 9 1 8 2
C 3 2 · 2 · 2 5 11 2 9 3
Mitjana 1 9,66 3,66

Fixa't en la A: fa servir la CPU 4 cicles, les dues ràfegues sumades (3 + 1), i fa 2

cicles d'E/S. Servei 12 − 1 + 1 = 12. Espera 12 − 4 − 2 = 6.

Comprova sempre. A la fila de la A, compta les caselles buides des que arriba fins que acaba:

la 3, 4, 5, 6, 10 i 11. En són 6, com l'espera. Si no coincideix, és que no has restat l'E/S.

Practica 4.7 — Round Robin amb E/S

Amb q = 2, completa la graella, la cua i la taula.

ProcésArribadaRàfegues
P1 1 CPU 2 · E/S 2 · CPU 1
P2 3 CPU 3 · E/S 2 · CPU 1
P3 4 CPU 3 · E/S 2 · CPU 1
123456789101112
P1
P2
P3
Cua
ProcésArribadaCPU i E/SIniciFiRespostaServeiEspera
P1 1 2 · 2 · 1
P2 3 3 · 2 · 1
P3 4 3 · 2 · 1
Mitjana

a) Al cicle 5 dos processos han d'entrar alhora a la cua. Quins són, i en quin ordre hi entren?

b) A la columna 10 no hi ha cap X. Per què?

Practica 4.8 — Els quatre amb les mateixes dades

ProcésArribadaCPU
P1 1 5
P2 2 2
P3 3 4
P4 5 1

Resol els quatre algorismes (Round Robin amb q = 2) i compara les mitjanes.

FIFO

123456789101112
P1
P2
P3
P4
Cua

Round Robin, q = 2

123456789101112
P1
P2
P3
P4
Cua

SJF

123456789101112
P1
P2
P3
P4
Cua

SRT

123456789101112
P1
P2
P3
P4
Cua
FIFORR (q=2)SJFSRT
Resposta mitjana
Servei mitjà
Espera mitjana

Quin dona la millor mitjana d'espera? Quin triaries per a un ordinador de sobretaula i per què?

Practica 4.9 — A l'ordinador

a) Obre un terminal i executa ps -aux | grep firefox. Apunta el PID que et surti.

b) Executa top. Quants processos hi ha en total? Quants estan realment en execució?

c) Si a top hi ha 120 processos i només 1 en execució, en quin estat estan els altres 119?

d) Obre l'Administrador de tasques de Windows i busca un procés que estigui al 0 % de CPU.

Quin estat del diagrama li correspon?

A. Vertader o fals

FraseV o FPer què
Un programa i un procés són el mateix
Un procés bloquejat passa directament a execució
Round Robin és expulsiu
SJF pot provocar inanició
Els fils d'un procés comparteixen la pila
El canvi de context no costa temps

B. Preguntes curtes

1. Què guarda el sistema al PCB abans d'un canvi de context?

2. Per què un quantum molt petit és mala idea?

3. Quina diferència hi ha entre SJF i SRT?

4. Explica l'efecte comboi amb un exemple teu.

C. Problemes

Problema 1. Amb aquests processos, resol FIFO: la graella, la cua i les tres mitjanes.

ProcésArribadaCPUIniciFiRespostaServeiEspera
A 1 6
B 2 3
C 4 1
D 6 4
Mitjana
1234567891011121314
A
B
C
D
Cua

Problema 2. Els mateixos processos amb Round Robin i q = 2.

1234567891011121314
A
B
C
D
Cua
ProcésArribadaCPUIniciFiRespostaServeiEspera
A 1 6
B 2 3
C 4 1
D 6 4
Mitjana

Problema 3. Els mateixos amb SJF. Quin dels tres dona la menor espera mitjana?

1234567891011121314
A
B
C
D
Cua
ProcésArribadaCPUIniciFiRespostaServeiEspera
A 1 6
B 2 3
C 4 1
D 6 4
Mitjana

Problema 4. Un procés està esperant que el disc li torni un fitxer. Mentre espera, un altre

procés fa servir la CPU. Explica en quin estat està cadascun i què passarà quan el disc contesti.

Encara no has corregit