Aquesta és la l’última part de la pràctica, en què haureu
d’implementar la classe Processador
.
Un processador és simplement un contenidor d’objectes de la classe
Programa
. El mètode més important és
executa(int t)
, que fa que executi t
unitats
de temps dels programes que té encuats.
En realitat, una unitat de temps vol dir
l’execució d’una instrucció d’un programa
(o, si us ho estimeu més, una línia d’un programa).
Tenint en compte que un processador pot tenir més d’un programa
encuat, com gestiona un processador les t
unitats de temps?
El processador té programes encuats en una cua de prioritat. La prioritat (d’un programa) és un enter més gran que zero: com més gran, més prioritari. Ara bé, pot ser que dos programes diferents en un processador tinguin la mateixa prioritat. En aquest cas, el programa més prioritari de tots dos serà el que tingui l’identificador de programa més gran (els identificadors són únics a cada programa dins d’un processador). Certament, és una manera arbitrària de trencar l’empat.
Per exemple, si tenim un programa P1
amb l’id = 2
i
prioritat = 100
, un programa P2
amb l’id = 4
i
prioritat = 90
i un programa P3
amb l’id = 7
i
prioritat = 90
, l’ordre de prioritat serà P1, P3, P2
.
És a dir, el més prioritari serà P1
, després P3
i finalment P2
.
El que fa el processador amb les t
unitats de temps és el següent:
agafa el programa més prioritari i l’executa, almenys, t
unitats de temps. Pot passar que el programa acabi i no hagi consumit
les t
unitats. En aquest cas, el programa ja ha acabat i
el fa fora de la cua, i desencua el següent programa (per prioritat)
i mira d’executar-lo les unitats de temps que li queden.
Això ho va fent mentre li quedin programes i unitats de temps.
Ara bé, també podria ser que el programa hagués consumit totes les
unitats de temps i que, tanmateix, no hagi encara acabat.
En aquest cas, el processador el que farà és tornar a encuar aquest
programa, però li rebaixarà la prioritat en 10 unitats.
Per exemple, si tenia prioritat 47, el reencuarà amb prioritat 37.
Com que la prioritat sempre ha de ser ≥ 0, si aquesta rebaixa
fa que la prioritat sigui negativa, li posarà prioritat 0.
Això farà que a la cua d’un processador hi hagi només programes que encara no han acabat. Recordem que cada vegada que executem una instrucció, retornarem l’estatus del programa, que indicarà si el programa ha acabat, i per quin motiu.
Us recordem que el registre STATUS
pot tenir els següents valors:
Un programa acaba de manera normal si retorna −10, però pot tenir altres tipus d’incidències, i tornarà un estatus diferent de −10 però també negatiu. En aquest cas, el programa també haurà acabat i haurà de sortir fora de la cua de prioritats del processador i no podrà ser reencuat.
Cada vegada que un programa acaba, cal escriure el contingut del seu dispositiu (això ho fem perquè la interfície dels programes ho simulem amb el dispositiu).
Bàsicament, heu d’implementar dos mètodes: el que ja hem esmentat
executa (int t)
, i el mètode encuaPrograma(Programa& p)
,
que, simplement, encua un programa a la cua de prioritats.
Tingueu en compte que la gestió de les prioritats es fa mitjançant
la cua de prioritats PriorityQueue<T>
, que encua per prioritats.
Ara bé, per a fer-ho ha de poder comparar dues instàncies del tipus
de la cua (en aquest cas, instàncies de la classe Programa
).
Això ho fa assumint que tots els tipus T
amb què instanciem
PriorityQueue<T>
tenen l’operació
bool T::compare(const T& t) const
implementada. Aquesta operació, que ja teníeu definida al problema
X55206
(Test de la classe Programa), ara agafa sentit.
Si bé en el problema X55206
no calia que tornés un valor
concret, ara sí que cal que torni cert/fals depenent de la
definició de prioritat que hem definit anteriorment.
Si teniu aquesta funció ben definida, segons el que hem
explicat, llavors la gestió de la prioritat és transparent i la
fa la classe PriorityQueue
.
Fixeu-vos que l’enunciat d’aquest exercici ja ofereix uns fitxers que haureu d’utilitzar per a compilar: Makefile, program.cpp,
apart de les versions *.old
dels altres fitxers que heu
d’acabar d’implementar i BST.hpp
.
A més, per a fer aquesta part haureu de penjar també
les implementacions de les classes Dispositiu
memoriaBST
i Programa
,
a més del fitxer BST.cpp
que heu fet en els passos anteriors.
Quan pugeu la vostra solució al jutge, només cal que pugeu un tar construït així:
tar cf solution.tar memoriaBST.cpp memoriaBST.hpp BST.cpp dispositiu.cpp dispositiu.hpp programa.cpp programa.hpp processador.cpp processador.hpp
Input
4 10 # 4: nombre de processadors # 10: nombre de dispositius # dos programes iguals en un mateix processador (id 0) # calcula la suma dels elements del dispositiu. DISPOSITIU 0 10 3 4 8 2 1 3 5 3 6 1 DISPOSITIU 1 20 4 5 8 21 23 1 6 43 67 2 43 53 91 32 44 2 4 23 67 43 INICI_PROGRAMA 0 0 80 0 MOU res 0 DISPBUIT 80 LLEGEIX x SUMA res x DESEMPILA res DISPBUIT 80 GOTO 30 ESCRIU res NOFARES FINAL_PROGRAMA INICI_PROGRAMA 1 0 60 1 MOU res 0 DISPBUIT 80 LLEGEIX x SUMA res x DESEMPILA res DISPBUIT 80 GOTO 30 ESCRIU res NOFARES FINAL_PROGRAMA ESCRIU_PROCESSADOR 0 EXECUTA 0 1000 ESCRIU_PROCESSADOR 0
Output
PROCESSADOR: 0 #PROG: 2 PROGRAM ID: 0 PRIO: 80 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 1 PRIO: 60 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 0 amb 1000 unitats PROC: 0 CARREGA 0 PRIORITAT 80 PROC: 0 EXECUTAT 54 PASSOS: 54 de 1000 STATUS -10 DISPOSITIU_ID: 0 : 36 PROC: 0 CARREGA 1 PRIORITAT 60 PROC: 0 EXECUTAT 104 PASSOS: 158 de 1000 STATUS -10 DISPOSITIU_ID: 1 : 582 PROCESSADOR: 0 #PROG: 0
Input
4 10 # dos programes en un mateix processador # calcula el màxim dels elements del dispositiu. DISPOSITIU 0 10 3 4 8 2 1 3 5 3 6 1 DISPOSITIU 1 20 4 5 8 21 23 1 6 43 67 2 43 53 91 32 44 2 4 23 67 43 INICI_PROGRAMA 0 0 80 0 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 1 0 60 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA ESCRIU_PROCESSADOR 0 EXECUTA 0 100 ESCRIU_PROCESSADOR 0 ESCRIU_PROCESSADOR 1 EXECUTA 1 100 ESCRIU_PROCESSADOR 1 ESCRIU_PROCESSADOR 0 EXECUTA 0 100 ESCRIU_PROCESSADOR 0 ESCRIU_PROCESSADOR 1 EXECUTA 1 100 ESCRIU_PROCESSADOR 1
Output
PROCESSADOR: 0 #PROG: 2 PROGRAM ID: 0 PRIO: 80 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 1 PRIO: 60 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 0 amb 100 unitats PROC: 0 CARREGA 0 PRIORITAT 80 PROC: 0 EXECUTAT 46 PASSOS: 46 de 100 STATUS -10 DISPOSITIU_ID: 0 : 8 PROC: 0 CARREGA 1 PRIORITAT 60 PROC: 0 EXECUTAT 54 PASSOS: 100 de 100 STATUS 0 PROGRAMA 1 PRIORITAT 60 a 50 PROCESSADOR: 0 #PROG: 1 PROGRAM ID: 1 PRIO: 50 PROC#: 0 AC: 0 PC: 30 STATUS: 0 STACK: 0/100 PROCESSADOR: 1 #PROG: 0 EXECUTA PROCESSADOR 1 amb 100 unitats PROCESSADOR: 1 #PROG: 0 PROCESSADOR: 0 #PROG: 1 PROGRAM ID: 1 PRIO: 50 PROC#: 0 AC: 0 PC: 30 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 0 amb 100 unitats PROC: 0 CARREGA 1 PRIORITAT 50 PROC: 0 EXECUTAT 42 PASSOS: 42 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROCESSADOR: 0 #PROG: 0 PROCESSADOR: 1 #PROG: 0 EXECUTA PROCESSADOR 1 amb 100 unitats PROCESSADOR: 1 #PROG: 0
Input
4 10 # el mateix programa en diferents processadors # amb diferents prioritats. # calcula el màxim dels elements del dispositiu. DISPOSITIU 1 20 4 5 8 21 23 1 6 43 67 2 43 53 91 32 44 2 4 23 67 43 INICI_PROGRAMA 0 0 50 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 1 1 50 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 2 2 60 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 3 3 60 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 4 0 50 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 5 1 50 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 6 2 60 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA INICI_PROGRAMA 7 3 60 1 DISPBUIT 90 LLEGEIX resultat DISPBUIT 90 LLEGEIX y CMP resultat y MESGRAN 30 MOU resultat y GOTO 30 ESCRIU resultat NOFARES FINAL_PROGRAMA ESCRIU_PROCESSADOR 0 EXECUTA 0 10 ESCRIU_PROCESSADOR 0 ESCRIU_PROCESSADOR 1 EXECUTA 1 10 ESCRIU_PROCESSADOR 1 ESCRIU_PROCESSADOR 2 EXECUTA 2 10 ESCRIU_PROCESSADOR 2 ESCRIU_PROCESSADOR 3 EXECUTA 3 10 ESCRIU_PROCESSADOR 3 ESCRIU_PROCESSADOR 0 EXECUTA 0 10 ESCRIU_PROCESSADOR 0 ESCRIU_PROCESSADOR 1 EXECUTA 1 10 ESCRIU_PROCESSADOR 1 ESCRIU_PROCESSADOR 2 EXECUTA 2 10 ESCRIU_PROCESSADOR 2 ESCRIU_PROCESSADOR 3 EXECUTA 3 10 ESCRIU_PROCESSADOR 3 ESCRIU_PROCESSADOR 0 EXECUTA 0 100 ESCRIU_PROCESSADOR 0 ESCRIU_PROCESSADOR 1 EXECUTA 1 100 ESCRIU_PROCESSADOR 1 ESCRIU_PROCESSADOR 2 EXECUTA 2 100 ESCRIU_PROCESSADOR 2 ESCRIU_PROCESSADOR 3 EXECUTA 3 100 ESCRIU_PROCESSADOR 3 ESCRIU_PROCESSADOR 0 EXECUTA 0 100 ESCRIU_PROCESSADOR 0 ESCRIU_PROCESSADOR 1 EXECUTA 1 100 ESCRIU_PROCESSADOR 1 ESCRIU_PROCESSADOR 2 EXECUTA 2 100 ESCRIU_PROCESSADOR 2 ESCRIU_PROCESSADOR 3 EXECUTA 3 100 ESCRIU_PROCESSADOR 3 ESCRIU_PROCESSADOR 0 EXECUTA 0 100 ESCRIU_PROCESSADOR 0 ESCRIU_PROCESSADOR 1 EXECUTA 1 100 ESCRIU_PROCESSADOR 1 ESCRIU_PROCESSADOR 2 EXECUTA 2 100 ESCRIU_PROCESSADOR 2 ESCRIU_PROCESSADOR 3 EXECUTA 3 100 ESCRIU_PROCESSADOR 3
Output
PROCESSADOR: 0 #PROG: 2 PROGRAM ID: 4 PRIO: 50 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 0 PRIO: 50 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 0 amb 10 unitats PROC: 0 CARREGA 4 PRIORITAT 50 PROC: 0 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 4 PRIORITAT 50 a 40 PROCESSADOR: 0 #PROG: 2 PROGRAM ID: 0 PRIO: 50 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 4 PRIO: 40 PROC#: 0 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 1 #PROG: 2 PROGRAM ID: 5 PRIO: 50 PROC#: 1 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 1 PRIO: 50 PROC#: 1 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 1 amb 10 unitats PROC: 1 CARREGA 5 PRIORITAT 50 PROC: 1 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 5 PRIORITAT 50 a 40 PROCESSADOR: 1 #PROG: 2 PROGRAM ID: 1 PRIO: 50 PROC#: 1 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 5 PRIO: 40 PROC#: 1 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 2 #PROG: 2 PROGRAM ID: 6 PRIO: 60 PROC#: 2 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 2 PRIO: 60 PROC#: 2 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 2 amb 10 unitats PROC: 2 CARREGA 6 PRIORITAT 60 PROC: 2 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 6 PRIORITAT 60 a 50 PROCESSADOR: 2 #PROG: 2 PROGRAM ID: 2 PRIO: 60 PROC#: 2 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 6 PRIO: 50 PROC#: 2 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 3 #PROG: 2 PROGRAM ID: 7 PRIO: 60 PROC#: 3 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 3 PRIO: 60 PROC#: 3 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 3 amb 10 unitats PROC: 3 CARREGA 7 PRIORITAT 60 PROC: 3 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 7 PRIORITAT 60 a 50 PROCESSADOR: 3 #PROG: 2 PROGRAM ID: 3 PRIO: 60 PROC#: 3 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 7 PRIO: 50 PROC#: 3 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 0 #PROG: 2 PROGRAM ID: 0 PRIO: 50 PROC#: 0 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 4 PRIO: 40 PROC#: 0 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 0 amb 10 unitats PROC: 0 CARREGA 0 PRIORITAT 50 PROC: 0 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 0 PRIORITAT 50 a 40 PROCESSADOR: 0 #PROG: 2 PROGRAM ID: 4 PRIO: 40 PROC#: 0 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 0 PRIO: 40 PROC#: 0 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 1 #PROG: 2 PROGRAM ID: 1 PRIO: 50 PROC#: 1 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 5 PRIO: 40 PROC#: 1 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 1 amb 10 unitats PROC: 1 CARREGA 1 PRIORITAT 50 PROC: 1 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 1 PRIORITAT 50 a 40 PROCESSADOR: 1 #PROG: 2 PROGRAM ID: 5 PRIO: 40 PROC#: 1 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 1 PRIO: 40 PROC#: 1 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 2 #PROG: 2 PROGRAM ID: 2 PRIO: 60 PROC#: 2 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 6 PRIO: 50 PROC#: 2 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 2 amb 10 unitats PROC: 2 CARREGA 2 PRIORITAT 60 PROC: 2 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 2 PRIORITAT 60 a 50 PROCESSADOR: 2 #PROG: 2 PROGRAM ID: 6 PRIO: 50 PROC#: 2 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 2 PRIO: 50 PROC#: 2 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 3 #PROG: 2 PROGRAM ID: 3 PRIO: 60 PROC#: 3 AC: 0 PC: 10 STATUS: 0 STACK: 0/100 PROGRAM ID: 7 PRIO: 50 PROC#: 3 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 3 amb 10 unitats PROC: 3 CARREGA 3 PRIORITAT 60 PROC: 3 EXECUTAT 10 PASSOS: 10 de 10 STATUS 0 PROGRAMA 3 PRIORITAT 60 a 50 PROCESSADOR: 3 #PROG: 2 PROGRAM ID: 7 PRIO: 50 PROC#: 3 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 3 PRIO: 50 PROC#: 3 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROCESSADOR: 0 #PROG: 2 PROGRAM ID: 4 PRIO: 40 PROC#: 0 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 0 PRIO: 40 PROC#: 0 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 0 amb 100 unitats PROC: 0 CARREGA 4 PRIORITAT 40 PROC: 0 EXECUTAT 86 PASSOS: 86 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROC: 0 CARREGA 0 PRIORITAT 40 PROC: 0 EXECUTAT 14 PASSOS: 100 de 100 STATUS 0 PROGRAMA 0 PRIORITAT 40 a 30 PROCESSADOR: 0 #PROG: 1 PROGRAM ID: 0 PRIO: 30 PROC#: 0 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 PROCESSADOR: 1 #PROG: 2 PROGRAM ID: 5 PRIO: 40 PROC#: 1 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 1 PRIO: 40 PROC#: 1 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 1 amb 100 unitats PROC: 1 CARREGA 5 PRIORITAT 40 PROC: 1 EXECUTAT 86 PASSOS: 86 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROC: 1 CARREGA 1 PRIORITAT 40 PROC: 1 EXECUTAT 14 PASSOS: 100 de 100 STATUS 0 PROGRAMA 1 PRIORITAT 40 a 30 PROCESSADOR: 1 #PROG: 1 PROGRAM ID: 1 PRIO: 30 PROC#: 1 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 PROCESSADOR: 2 #PROG: 2 PROGRAM ID: 6 PRIO: 50 PROC#: 2 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 2 PRIO: 50 PROC#: 2 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 2 amb 100 unitats PROC: 2 CARREGA 6 PRIORITAT 50 PROC: 2 EXECUTAT 86 PASSOS: 86 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROC: 2 CARREGA 2 PRIORITAT 50 PROC: 2 EXECUTAT 14 PASSOS: 100 de 100 STATUS 0 PROGRAMA 2 PRIORITAT 50 a 40 PROCESSADOR: 2 #PROG: 1 PROGRAM ID: 2 PRIO: 40 PROC#: 2 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 PROCESSADOR: 3 #PROG: 2 PROGRAM ID: 7 PRIO: 50 PROC#: 3 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 PROGRAM ID: 3 PRIO: 50 PROC#: 3 AC: 0 PC: 50 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 3 amb 100 unitats PROC: 3 CARREGA 7 PRIORITAT 50 PROC: 3 EXECUTAT 86 PASSOS: 86 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROC: 3 CARREGA 3 PRIORITAT 50 PROC: 3 EXECUTAT 14 PASSOS: 100 de 100 STATUS 0 PROGRAMA 3 PRIORITAT 50 a 40 PROCESSADOR: 3 #PROG: 1 PROGRAM ID: 3 PRIO: 40 PROC#: 3 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 PROCESSADOR: 0 #PROG: 1 PROGRAM ID: 0 PRIO: 30 PROC#: 0 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 0 amb 100 unitats PROC: 0 CARREGA 0 PRIORITAT 30 PROC: 0 EXECUTAT 72 PASSOS: 72 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROCESSADOR: 0 #PROG: 0 PROCESSADOR: 1 #PROG: 1 PROGRAM ID: 1 PRIO: 30 PROC#: 1 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 1 amb 100 unitats PROC: 1 CARREGA 1 PRIORITAT 30 PROC: 1 EXECUTAT 72 PASSOS: 72 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROCESSADOR: 1 #PROG: 0 PROCESSADOR: 2 #PROG: 1 PROGRAM ID: 2 PRIO: 40 PROC#: 2 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 2 amb 100 unitats PROC: 2 CARREGA 2 PRIORITAT 40 PROC: 2 EXECUTAT 72 PASSOS: 72 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROCESSADOR: 2 #PROG: 0 PROCESSADOR: 3 #PROG: 1 PROGRAM ID: 3 PRIO: 40 PROC#: 3 AC: 0 PC: 70 STATUS: 0 STACK: 0/100 EXECUTA PROCESSADOR 3 amb 100 unitats PROC: 3 CARREGA 3 PRIORITAT 40 PROC: 3 EXECUTAT 72 PASSOS: 72 de 100 STATUS -10 DISPOSITIU_ID: 1 : 91 PROCESSADOR: 3 #PROG: 0 PROCESSADOR: 0 #PROG: 0 EXECUTA PROCESSADOR 0 amb 100 unitats PROCESSADOR: 0 #PROG: 0 PROCESSADOR: 1 #PROG: 0 EXECUTA PROCESSADOR 1 amb 100 unitats PROCESSADOR: 1 #PROG: 0 PROCESSADOR: 2 #PROG: 0 EXECUTA PROCESSADOR 2 amb 100 unitats PROCESSADOR: 2 #PROG: 0 PROCESSADOR: 3 #PROG: 0 EXECUTA PROCESSADOR 3 amb 100 unitats PROCESSADOR: 3 #PROG: 0