Fletxes o espai per passar · clic a la dreta avança, a l’esquerra torna · F pantalla completa · Esc torna aquí.
A font/ hi ha genera.py, que fa aquesta pàgina, i les figures.
TEMA 4
qui fa servir la CPU, quan i durant quanta estona

PROGRAMA
La recepta.Un fitxer guardat al disc. Està quiet.
PROCÉS
Cuinar.El programa en marxa: a la RAM i amb la CPU executant-lo.
Dues finestres del Bloc de notes: un sol programa, dos processos.
PREGUNTA PER A LA CLASSE
«Tens tres finestres del Chrome obertes.»
Quants programes? Quants processos?
Cada fil té la seva pila; la resta de la memòria la comparteixen.

Gràcies al PCB, un procés s’atura i després segueix exactament on era.

Costa temps: mentrestant, la CPU no fa res útil.

new · ready · running · blocked · terminated
L’ERROR CLÀSSIC DE L’EXAMEN
De Bloquejat no es passa mai directament a En execució.
Quan acaba el que estava esperant, torna a Preparat i fa cua, com tothom.

Un cop té la CPU, la té fins que acaba o es bloqueja.
FIFO · SJF
El sistema li pot treure la CPU encara que no hagi acabat.
ROUND ROBIN · SRT
Primer la graella: d’allà treus l’Inici i la Fi. Després, la resta.
Els farem servir amb els quatre algorismes, per poder-los comparar.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
| A | X | X | F | |||||||||||
| B | X | F | ||||||||||||
| C | X | X | F | |||||||||||
| D | X | X | X | F | ||||||||||
| E | X | F | ||||||||||||
| Cua | C | D | D | E | E | E | E | |||||||
| E |
La E necessita 2 i n’espera 5.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
| A | X | X | F | |||||||||||
| B | X | F | ||||||||||||
| C | X | X | F | |||||||||||
| D | X | X | X | F | ||||||||||
| E | X | F | ||||||||||||
| Cua | C | D | E | E | C | C | D | |||||||
| C | C | D | D |
Cicle 8: primer E, que és nou.
PREGUNTA PER A LA CLASSE
«Amb aquestes dades, Round Robin dona més servei i més espera que FIFO.»
Llavors, per què es fa servir? Mira la resposta.
Cal buscar el punt mitjà.
L’ESPERA, ARA
Espera = Servei − CPU − E/SA arriba al 1: CPU 3 · E/S 2 · CPU 1 · B al 2: CPU 2 · E/S 2 · CPU 2 · C al 3: CPU 2 · E/S 2 · CPU 2
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |
| 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 |
X a la CPU · W fa E/S · F acaba · a sota, la cua
Columna 8: A i C fan E/S alhora.
No expulsiu. De tots els que ja han arribat, tria el que menys cicles de CPU necessita.
Servei 4 · Espera 1,2El millor servei i la millor espera.
Inanició (starvation): si no paren d’arribar processos curts, un de llarg no entra mai.
El sistema no sap quant trigarà un procés: l’ha d’estimar.
P1 arriba al cicle 1 i necessita 7. P2 arriba al 3 i necessita 3.
Al cicle 3, P2 necessita 3 i a P1 li’n queden 5: P2 li pren la CPU.
No hi ha el millor: hi ha el que va millor per al que vols.
LINUX
WINDOWS
Ctrl+Shift+EscL’Administrador de tasques. A la pestanya Detalls hi ha el PID de cada procés.
120 processos i 1 en execució? La resta, gairebé tots bloquejats.