Ejercicio 20

Ejercicio 20

de Joel Cabrera Dechia -
Número de respuestas: 8

Buenas!
Espero se encuentren bien.

Viendo la solución que proponen de este ejercicio hay cosas que no me quedan claras.

1) Yo había entendido que a menor número, mayor prioridad, ya que con la notación que plantea  L_1 sería el primer proceso en la cola de listos y un proceso con prioridad 1 y, por ende, el que mayor prioridad tiene. En la solución veo que a menor número, menor prioridad, porque en t=0 sacan que P1 tiene prioridad 15 y P2 prioridad 10 y ejecutan P2. ¿Cómo puedo darme cuenta de eso? ¿O hay algo general que diga que a menor número, menor prioridad?

2) Luego, y relacionado con lo anterior, no entiendo porqué la prioridad de P1 es 15 y no 25. Pensé que la prioridad era la suma de los tiempos de ejecución de los hilos pero veo que no, ¿Qué sería entonces? Me suena que sea el máximo de ambos hilos porque P1B lleva 15 pero es pura intuición y a partir de ver la solución.

3) Esta no se cómo escribirla, voy a tratar de ser claro. Cuando se dice que suman 5 a su prioridad, es que suman literalmente el número 5 al número de prioridad o que suben 5 niveles a la prioridad? Está relacionada con la duda 1 pero por ejemplo, si a menor número tengo más prioridad y tengo un proceso con prioridad 6, al sumarle 5 a la prioridad:

a) tendría prioridad 11? (menor nivel de prioridad que antes pues dije que a menor numero más prioridad)
b) o tendría prioridad 1? (le sume 5 niveles y tengo mayor nivel de prioridad que antes) 

Agradezco me puedan dar una mano.

Saludos!

En respuesta a Joel Cabrera Dechia

Re: Ejercicio 20

de Manuel Freire -
Hola,

1- Esto es porque el modelo de hilos es Mx1, entonces a nivel del procesador no se ven los hilos sino que se ve un solo proceso con la combinación de estos dos hilos.

2- No es la suma ni el máximo, es el resultado de aplicar la planificación a nivel de hilo y luego ver el resultado como un proceso único (5A+5b+5a y ahí se bloquea).

3- Si, se suma. A mayor número se tiene mayor prioridad.

Saludos!
En respuesta a Manuel Freire

Re: Ejercicio 20

de Josefina Cardozo Gonçalves -
Hola que tal? Yo sigo sin entender bien como calcula la prioridad, que seria la pregunta 2 del compañero
En respuesta a Josefina Cardozo Gonçalves

Re: Ejercicio 20

de Manuel Freire -
Hola,

Para calcular la prioridad deberías hacer la planificación a nivel de usuario (i.e. pensar cómo quedarían los hilos si el proceso P1 fuera el único en el sistema) y después calcular la prioridad contra ese resultado como un único proceso (que para el kernel lo es).

Saludos!
En respuesta a Manuel Freire

Re: Ejercicio 20

de Diego Ismael Marichal Chavez -
Buenas, no me queda claro la prioridad, la misma consulta que los compañeros, no entiendo como quedaria la prioridad de un proceso si este tiene 2 hilos, podria mostrar un ejemplo
Segun tengo entendio por lo de CPU-Burst, cada hilo se ejecutara 5 ms en la sigueinte rafaga a comenzar, entonces la prioridad del proceso P1, no seria 10?
Saludos
Diego
En respuesta a Diego Ismael Marichal Chavez

Re: Ejercicio 20

de Federico Rivero -
Hola Diego,

La prioridad es el próximo CPU burst. El CPU burst actual de un proceso es cuánto tiempo ejecutará el proceso antes de su próximo bloqueo. Una forma de calcularlo fácilmente es imaginar que el proceso en cuestión tiene acceso irrestricto a una CPU. Si P1 tuviera una CPU exclusiva, ejecutaría lo siguiente:

0 5 10 15 20
P1_1 P1_2 P1_1 B B

Es decir, ejecutaría primero 5ms del hilo 1, luego 5 ms del hilo 2, luego 5 ms del hilo1 y ahí se bloquearía (ver código del hilo 1). Entonces el CPU burst del proceso 1 en el tiempo 0 es 15ms.

Saludos,
Federico


En respuesta a Federico Rivero

Re: Ejercicio 20

de Javier Gerardo Quincke Leone -
buenas! porque ejecuta primero P1A?, si se hubiera ejecutado primero P1B el resultado seria 20 no 15
En respuesta a Javier Gerardo Quincke Leone

Re: Ejercicio 20

de Federico Rivero -
Hola! Si mal no recuerdo no hay nada que indique qué hilo debe ejecutar primero, así que sí, se podía haber elegido el hilo P1B y en ese caso su CPU burst hubiera sido 20, correcto. Es decir, ambas soluciones serían correctas.

Saludos,
Federico