Post on 02-Feb-2016
Sistemas Operativos
Procesos
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.
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.
17 de agosto de 2004 Cesar Guisado 4
Estado de un proceso
listo En ejecución
En espera
Nuevo procesoProceso Finalizado
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.
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
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.
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.
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
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.
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.
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
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
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
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
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
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.
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
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
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:
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.
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.
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.
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.
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)
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
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
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
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?
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.
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
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:
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?
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
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