La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Cambios de modo, de contexto y repaso PEP 1 Luis Loyola.

Presentaciones similares


Presentación del tema: "Cambios de modo, de contexto y repaso PEP 1 Luis Loyola."— Transcripción de la presentación:

1 Cambios de modo, de contexto y repaso PEP 1 Luis Loyola

2 Cambio de Modo (CM) Cuando se usan funciones del kernel ocurre un cambio de modo, del modo usuario al modo kernel. Por ejemplo cuando se llama al Scheduler, ocurre un cambio de modo, y cuando éste da paso a la ejecución del siguiente proceso ocurre otro cambio de modo.

3 Cambio de Modo (CM)

4 Cambio de contexto (CC) Un cambio de contexto es cuando se guardan todas las variables y registros de un proceso para cargar las de otro proceso, es decir, cada vez que ocurre un cambio de procesos. Cabe destacar que el Scheduler se ejecuta en el contexto del proceso usuario. Por lo que en el ejemplo anterior al llamar a éste, no ocurre un cambio de contexto.

5 Cambio de contexto (CC)

6 Ejercicio Dibuje la carga de trabajo de los procesos y el kernel para el siguiente código e identifique todos los cambios de contexto (CC) y cambios de modo (CM). Asuma que cada instrucción (línea) demora 1 unidad de tiempo de computo del procesador. Además el scheduler a utilizar es Round Robin el cual tiene un overhead de 1 unidad de computo de procesador con quantum de 5 unidades. Dibuje además el árbol de procesos resultante.

7 12 34 5 768 Fork 1 Fork 2 Fork 3 Ejercicio *Árbol de procesos del ejercicio anterior, no representa la realidad de este ejercicio.

8 Ejercicio Son 7 instrucciones, entonces la carga de trabajo para el proceso P1 es 7. *Ejemplificación de la carga de trabajo, no representa la realidad de este ejercicio.

9 Ejercicio Contando cuantas instrucciones faltan para cada proceso y utilizando el árbol de procesos, se pueden saber las demás cargas de trabajo. *Ejemplificación de la carga de trabajo, no representa la realidad de este ejercicio.

10 Carga de trabajo en el tiempo Inicialmente solo está P1.

11 Carga de trabajo en el tiempo De la instrucción 2 aparece P2.

12 Carga de trabajo en el tiempo Sigue ejecutando P1. Luego en la instrucción 4 se crea P3. Cuando termina la instrucción 5 se acaba el quantum de tiempo.

13 Carga de trabajo en el tiempo Como se acabó el cuantum se debe ejecutar RR para cambiar a otro proceso. P2 realiza sus 5 instrucciones y se queda sin quantum. De la instrucción 4 y 6 de P2 salen los procesos P4 y P5.

14 Siguiendo con las demás instrucciones se llega a lo siguiente. P1 crea a P2 y P3. P2 crea a P4 y P5 y termina. P3 crea a P6 y termina. P4 crea a P7 y termina. P5, P6 y P7 terminan. P1 crea a P8 y termina. P8 termina.

15 CC = Cambio de contexto CM = Cambio de modo

16 Árbol de proceso final P1P2 P3P4 P7 P5P6P8 Fork 1 Fork 2 Fork 3

17 Ejercicio 2 Se tienen 10 procesos pesados en I/O y uno pesado en procesador. Los procesos tienen I/O cada 1 mseg. Las operaciones de I/O duran 10 mseg. El overhead de cambio de contexto es de 0.1 mseg. Los procesos se ejecutan por un tiempo muy largo. ¿Cual es la utilización con quantum=1 mseg? ¿Cual es la utilización con quantum=10 mseg?

18 Q = 1 mseg. Tiempo Útil = 11 Tiempo Total = 11+0.1*10 = 12 U=Tiempo Útil / Tiempo Total = 11/12 = 0,91

19 Q = 10 mseg. Tiempo Útil = 20 Tiempo Total = 20+0.1*10 = 21 U=Tiempo Útil / Tiempo Total = 20/21 = 0,95 En este caso el orden de los procesos no afecta en la utilización.

20 Ejercicio 3 Demostrar por inducción que el siguiente código genera 2^n procesos.

21 Ejercicio 3 Se comprueba para n=1. For(i=0; i<1; i++) Se hace un solo ciclo, por lo que solo hay un fork(); Por lo tanto se tienen 2 procesos. 2^1 = 2

22 Ejercicio 3 Hipótesis de inducción: Se asume verdadero para n=k 2^k procesos

23 Ejercicio 3 Demostrar para n=k+1, que se generan 2^(k+1) procesos. Si es verdadero para n=k, entonces en el ciclo con i=k se tienen 2^k procesos. Falta 1 iteración más donde todos los procesos ejecutan la instrucción fork(), por lo tanto se duplicará la cantidad de procesos. (2^k)*2 = 2^(k+1) Queda demostrado.


Descargar ppt "Cambios de modo, de contexto y repaso PEP 1 Luis Loyola."

Presentaciones similares


Anuncios Google