(12-02-2017 15:14)Leann escribió: (11-02-2017 20:58)pampa833 escribió: (11-02-2017 20:42)Leann escribió: (11-02-2017 15:44)pampa833 escribió: Les dejo mi resolución del ejercicio de planificación. Puede que tenga errores.
Esto es en lo que no estoy seguro, tiene que ver conceptualmente con el Round Robin Virtual:
- Asumí que como era Round Robin Virtual, al salir de la cola de entrada salida, los hilos tenían prioridad e iban a ejecutar el Q que le faltó ejecutar. Ejemplo: El KLT3 en el instante 5 se bloquea para ir a E/S, solo ejecutó 1 ut, le faltaron 2 ut para completar el Q. Este bloqueo de hilo, dá lugar al KLT4.
Como al KLT3 le faltaron 2 Q para ejecutar, luego cuando vuelva de E/S, ejecutará 2 ut y se bloqueará el proceso.
wtf? eso es de otro final o que onda? jaja
No che.. jaja Lo que pasa es que el ejercicio de planificación (el 1) dice que está implementado con Round robin VIRTUAL. Yo lo que hice fué abrir todos los KTL y ULT repetidos y dibujar todos en mi GANNT. Después mirate la imagen adjunta, capaz me falto aclarar eso jeje
Saludos!
Jajajaja, bancá, ya entendí. ¿Vos decis que cuando dice, por ejemplo, KLT 3, es que son 3 hilos?
Yo lo que entiendo es que ese es el id. Tipo, el proceso A tiene el KLT 1, que a su vez tiene los ULT 1 y 2.
El proceso B tiene los KLT 2 y 3.
En total hay 4 hilos. 3 de kernel, y 2 de usuario.
Capaz la estoy flasheando, pero nunca vi un ejercicio que eso sea la cantidad de hilos.
Lean, como andas? Nono, yo interpreté lo siguiente. Te acordás la sección 4.2 del Silberchatz cuando habla de "Modelos multihebra"? Bueno, un KLT puede tener muchos ULT (o uno). Depuendiendo de como es el esquema se bloquea todo el KLT o ULT. En este caso en particular, por ejemplo el proceso A, la primer fila tiene 1 KTL compuesto a su vez de 1 ULT. Por otra parte en su segunda fila, tengo otro KLT que tiene 2 ULT hijos.
Para el proceso B, en la tercer fila tenemos 2 KLT independientes. ¿Me explico con el esquema? Fijate que me basé en la sección 4.2 del Silberchatz (modelos muchos a uno, uno a uno, etc).
(12-02-2017 17:26)ces14 escribió: (11-02-2017 20:58)pampa833 escribió: (11-02-2017 20:42)Leann escribió: (11-02-2017 15:44)pampa833 escribió: Les dejo mi resolución del ejercicio de planificación. Puede que tenga errores.
Esto es en lo que no estoy seguro, tiene que ver conceptualmente con el Round Robin Virtual:
- Asumí que como era Round Robin Virtual, al salir de la cola de entrada salida, los hilos tenían prioridad e iban a ejecutar el Q que le faltó ejecutar. Ejemplo: El KLT3 en el instante 5 se bloquea para ir a E/S, solo ejecutó 1 ut, le faltaron 2 ut para completar el Q. Este bloqueo de hilo, dá lugar al KLT4.
Como al KLT3 le faltaron 2 Q para ejecutar, luego cuando vuelva de E/S, ejecutará 2 ut y se bloqueará el proceso.
wtf? eso es de otro final o que onda? jaja
No che.. jaja Lo que pasa es que el ejercicio de planificación (el 1) dice que está implementado con Round robin VIRTUAL. Yo lo que hice fué abrir todos los KTL y ULT repetidos y dibujar todos en mi GANNT. Después mirate la imagen adjunta, capaz me falto aclarar eso jeje
Saludos!
OJO!! para mí es como dice Leann arriba, no te confundas. En la mayoria de este tipo de ejercicios no se le da importancia al "nombre de proceso" sino a la diferenciacion entre los KLT(que se planifican segun el algoritmo de planificador de corto plazo) y los ULT, y los KLTs siempre los nombran KLT1, KLT2, KLT3, etc.
Igualmente en los finales ponen cada divague, con ejercicios y preguntas mas orientadas a confundirte, ver si pisas el palito, etc. que a evaluar tu conocimiento, asi que tampoco me extrañaría que salgan con algo así.
Que haces Ces? Claro, pero yo lo que hice fue interpretar lo siguiente:
Para el proceso A yo tengo las siguientes dos filas:
PROCESO - KLT - ULT
Proceso A - 1 -1
Proceso A - 1 -2
Mi interpretación es que esto es un modelo multihebra, en donde la primer fila esta compuesta de 1 KLT que a su vez crea un ULT. La segunda fila está compuesta de 1 KLT que "crea" 2 ULT. (sección 4.2 Silberchatz 7ma Edición). ¿Como traté este temita?
Para la fila dos entonces, yo voy a tenes que dentro de un KLT se van a disparar 2 ULT, como manejo eso? Ante una llamada bloqueante de un ULT se bloquea TODO el KLT, pero no el proceso completo, la planificación pasaría al segundo KLT, esto sería algo así:
----PROCESO A------
--KLT ----------- KLT---
--ULT---------- ULT ULT
(Perdón, no se si es claro lo que intento poner jeje)
Después los números (KLT1, KLT2, etc) son cuestiones arbitrarias mías, para poder identificarlos a la hora de hacer el GANNT.
Me explico?