35
Sistemas Operativos Procesos

Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

Embed Size (px)

Citation preview

Page 1: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

Sistemas Operativos

Procesos

Page 2: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 2

Concepto de Proceso

• Un Proceso es un programa en ejecución.– Un proceso es mas que el código del

programa, incluye una pila que contiene datos del proceso con variables temporales y globales.

– A la vez un programa no es un proceso sino que una entidad pasiva.

– Un proceso es una entidad activa.

Page 3: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 3

Estado de un proceso

• Cuando un programa se ejecuta, cambia de estado.– En ejecución: las instrucciones se están

ejecutando.– En espera: el proceso esta esperando a

que ocurra algún suceso (como término de E/S)

– Listo: el proceso esta esperando que se le asigne procesador.

Page 4: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 4

Estado de un proceso

listo En ejecución

En espera

Nuevo procesoProceso Finalizado

Page 5: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 5

Bloque de control de proceso

• En el SO cada proceso se representa con su propio PCB, que es un bloque de datos que contiene información de un proceso.

Estado de un proceso, listo en ejecución o en espera.

Contador del programa, indica la dirección de la siguiente instrucción.

Registros de la UCP, información para que, por ejemplo, el proceso pueda continuar

Información de Planificación de la UCP, prioridades, apuntadores y otros.

Información de administración de memoria incluyendo tablas de paginas.

Información contable, tiempo real y de UCP utilizado

Información de estado de E/S, solicitudes pendientes y dispositivos.

Page 6: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 6

Bloque de control de proceso

Numero del proceso

Contador del programa

registros

Limites de memoria

Lista de archivos abiertos

***

Apuntador Estado del Proceso

Page 7: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 7

Procesos Concurrentes

• Los procesos del sistema pueden ejecutarse concurrentemente, hay varias razones:– Compartir recursos físicos, los recursos son

limitados.– Compartir recursos lógicos, varios usuarios

pueden turnarse en el uso del mismo elemento.– Acelerar cálculos: podemos dividir una tarea en

varias y ejecutarlas en paralelo.– Modularidad: se puede construir sistema en

forma modular.– Comodidad: ejecutar varias tareas a la vez.

Page 8: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 8

Relación entre procesos

• Procesos pueden ser independientes o cooperativos.– Proceso independiente, si no puede afectar o ser

afectado por otros procesos, Tiene las siguientes características:

• Su estado no es compartido de ninguna manera por otro proceso

• Su ejecución es determinista, el resultado depende solamente del estado de la entrada.

• Su ejecución es reproducible: el resultado es siempre el mismo para la misma entrada.

• Su ejecución puede detenerse y reiniciarse sin tener efectos adversos.

Page 9: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 9

Relación entre procesos

• Un proceso es cooperativo si puede afectar o ser afectado por otros procesos, sus características son:– Su estado es compartido por otros procesos– No puede predecirse el resultado de su

ejecución, ya que depende de una secuencia de ejecución

– El resultado de su ejecución es no determinista, puesto que no siempre será el mismo para la misma entrada

Page 10: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 10

Trabajo de Investigación

• HILOS– ¿Que son los HILOS?– ¿Cuales son las dos ventajas de los hilos

respecto a procesos múltiples? ¿Cuál es su principal desventaja? Proponga una aplicación que se beneficiaría de la utilización de hilos, así como de una que no lo haría.

Page 11: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 11

Conceptos de planificación

• El objetivo de la multiprogramación es maximizar la utilización de la UCP.– En multiprogramación, un proceso se ejecuta

hasta que tenga que esperar, generalmente que termine una solicitud de E/S

– Mientras ese proceso espera, la UCP es entregada a otro proceso.

– De esta manera se aumenta la productividad de la UCP.

Page 12: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 12

Colas de planificación.

• La cola de procesos listos es una cola ligada donde los procesos esperan su ejecución. – El encabezado de la cola de procesos listos

contiene los apuntadores al primer y ultimo PCB de la lista.

– Luego de ejecutarse el proceso por un tiempo, el proceso termina o espera por un suceso, por ej. Disco. Si el disco esta ocupado, el proceso espera.

– Si varios procesos esperan por un dispositivo, se forma una cola para ese dispositivo

Page 13: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 13

Colas de planificación.

Cola de procesos listos CPU

Cola de I/O Solicitud de I/O

Fin de la porción de tiempo

Se crea un hijoSe ejecuta el hijo

En espera de una interrupción

Ocurre interrupción

Page 14: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 14

Planificación de la UCP

• El recurso mas importante del sistema es la UCP

• Muchos procesos compiten por uso de la CPU.

• De allí la necesidad de planificar su uso

• La planificación de la UCP es tarea del SO

Page 15: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 15

Planificación de la UCP

• Los procesos pueden describirse como:

• Limitados por la UCP– Si el trabajo con E/S no es significativo

• Limitados por E/S– Si el trabajo con E/S es mas grande que

con la UCP

Page 16: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 16

Planificador de la UCP

• Cada vez que la UCP esta libre, el SO debe seleccionar un proceso desde la cola de procesos listos.

• Esta selección la realiza el Planificador de la UCP, el planificador a corto plazo.

• Los procesos en espera no se ejecutan siempre en un orden FIFO, hay varios algoritmos disponibles

Page 17: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 17

Estructura de la planificación

• Las decisiones de la planificación se realizan de acuerdo a las siguientes circunstancias:1. Cuando un proceso cambia de estado de

ejecución a estado de espera.2. Cuando un proceso cambia de estado de

ejecución a estado listo (cuando ocurre una interrupción).

3. Cuando un proceso cambia de estado de espera a listo.

4. Cuando termina un proceso.

Page 18: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 18

Estructura de la planificación

• Planificación Apropiativa– Cuando la planificación tiene lugar en

las situaciones 2 y 3– Planificación No Apropiativa– Cuando la planificación tiene lugar en

las situaciones 1 y 4

Page 19: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 19

Cambio de contexto

• Para cambiar la UCP a otro proceso, se requiere guardar el estado del proceso anterior y cargar el estado del nuevo proceso. Esta tarea se llama cambio de contexto.

• El tiempo requerido para un cambio de contexto varia de maquina a maquina y depende de factores como, numero y velocidad de registros, la velocidad de la memoria

Page 20: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 20

El Despachador

• El despachador es otro componente que participa en la función de planificación de la UCP

• Es el modulo que entrega el control de la UCP al proceso seleccionado.

• Esta función implica:

Page 21: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 21

El Despachador

• Cambiar de contexto

• Cambiar a modo Usuario

• Saltar a la posición adecuada del programa del usuario para reiniciar el programa.

Page 22: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 22

Algoritmos de Planificación

• La planificación de la UCP tiene que ver con el problema de decidir a cual de los procesos que están en la cola de procesos listos se le asignará la UCP.

• Existen varios algoritmos que pueden favorecer la ejecución de un u otro proceso.

• Para comparar los algoritmos de planificación existen los siguientes criterios.

Page 23: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 23

Algoritmos de Planificación

• Utilización de la UCP– La UCP debe estar ocupada, decimos que una

carga normal es entre el 40% y el 90%

• Productividad– Es el número de procesos por unidad de

tiempo que se ejecutan.

• Tiempo de retorno– Tiempo en que tarda un proceso en ejecutarse,

suma de los periodos de espera en la memoria, espera en la cola de procesos listos, ejecusion y operación de E/S.

Page 24: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 24

Algoritmos de Planificación

• Tiempo de espera– Tiempo que el proceso espera en la cola

de procesos listos

• Tiempo de repuesta– Tiempo necesario para comenzar a

responder.

Page 25: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 25

Algoritmos de Planificación

• Trabajo para Jueves 28 de Abril.• Defina y de ejemplos

– Tiempo de retorno– Tiempo de espera– Tiempo de respuesta

• Este trabajo es un trabajo simple, y debe contener definiciones diferentes a las entregadas en clase. (post en Jones)

Page 26: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 26

Algoritmos de Planificación

• Planificación por orden de llegada.– Considere el siguiente conjunto de

procesos que llegan el instante 0, donde la duración de la ráfaga se expresa en ms:

– Proceso Duración de la ráfaga P1 24 P2 3 P3 3

Page 27: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 27

Algoritmos de Planificación

Proceso Duración de la ráfaga

P1 24

P2 3

P3 3

P1 P2 P3

0 24 27 30

Tiempo de espera es 0 ms para el proceso P1, 24 ms para el proceso P2 y 27 ms para el proceso P3, tiempo promedio de espera es (0+24+27)/3 = 17 ms

Si los procesos llegan P2, P3 y P1

Page 28: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 28

Algoritmos de Planificación

Si los procesos llegan P2, P3 y P1

• Tiempo de espera (6+0+3)/3=3ms

P1P2 P3

0 3 6 30

Page 29: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 29

Trabajo

• Pregunta 2

• ¿Cual es la incidencia en el tiempo de proceso de procesos limitados por la UCP o limitados por E/S?

Page 30: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 30

Planificación SJF

Proceso Instante de llegada Duración de la ráfaga

P1 0 8 ms

P2 1 4ms

P3 2 9 ms

P4 3 5 ms

Si los procesos llegan a la cola de procesos listos en los tiempos indicados, haga una tabla Gantt con planificación SJF apropiativa e indique el tiempo promedio de espera.

Page 31: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 31

Planificación SJFShortest Job First, Primero el trabajo mas breve.

Si dos procesos tienen la misma longitud, se utiliza a FCFS

Proceso Duración de la ráfaga

P1 6

P2 8

P3 7

P4 3

P4 P1 P3 P2

0 3 9 16 24

El tiempo de espera es 3 ms para P1, 16 ms para P2, 9 ms para P3 y 0 para P4, (3+16+9+0)/4 = 7 ms

Page 32: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 32

Planificación SJF

• La planificación SJF que hemos visto en no apropiativa.

• Que significa que esa planificación sea no apropiativa?

• Suponga que utilizamos una aplicación SJF apropiativa, ¿Qué significa que sea apropiativa?

• Responda lo siguiente:

Page 33: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 33

Trabajo Práctico

• Investigue el significado de una planificación SJF apropiativa y considere los cuatro procesos siguientes donde la longitud de la ráfaga se proporciona en milisegundos.

Proceso Instante de llegada Duración de la ráfaga

P1 0 8

P2 1 4

P3 2 9

P4 3 5

El resultado del promedio apropiativo es de 6.5 ms. ¿Cuál es el resultado de una planificación SJF no apropiativa?

Page 34: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 34

Trabajo Práctico

• En la planificación por prioridades, se asigna una prioridad a cada proceso, la prioridad 1 se ejecuta primero.

• Considere el siguiente conjunto de procesos que llegan en el instante 0 en el orden P1, P2….P5 cuyas longitudes de ráfaga se indican en ms.

Proceso Duración de la ráfaga

Prioridad

P1 10 3

P2 1 1

P3 2 3

P4 1 4

P5 5 2

Page 35: Sistemas Operativos Procesos. 17 de agosto de 2004Cesar Guisado2 Concepto de Proceso Un Proceso es un programa en ejecución. –Un proceso es mas que el

17 de agosto de 2004 Cesar Guisado 35

Trabajo Práctico

• El promedio de la espera del ejercicio anterior es de 6,2 ms. Haga la carta Gantt y explique en detalle como llega al resultado.

• Pormenores de este ejercicio lo encuentra en el libro de A. Silberschatz, pagina 116.

• Ud. debe entregar sus resultados al final de la clase.

• Trabajo Individual, en papel para el 28 de Abril