350 likes | 569 Views
Sistemas Operativos. Procesos. 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.
E N D
Sistemas Operativos Procesos
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. Cesar Guisado
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. Cesar Guisado
Estado de un proceso Proceso Finalizado Nuevo proceso listo En ejecución En espera Cesar Guisado
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. Cesar Guisado
Bloque de control de proceso Apuntador Estado del Proceso Cesar Guisado
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. Cesar Guisado
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. Cesar Guisado
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 Cesar Guisado
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. Cesar Guisado
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. Cesar Guisado
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 Cesar Guisado
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 hijo Se ejecuta el hijo Ocurre interrupción En espera de una interrupción Cesar Guisado
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 Cesar Guisado
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 Cesar Guisado
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 Cesar Guisado
Estructura de la planificación • Las decisiones de la planificación se realizan de acuerdo a las siguientes circunstancias: • Cuando un proceso cambia de estado de ejecución a estado de espera. • Cuando un proceso cambia de estado de ejecución a estado listo (cuando ocurre una interrupción). • Cuando un proceso cambia de estado de espera a listo. • Cuando termina un proceso. Cesar Guisado
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 Cesar Guisado
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 Cesar Guisado
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: Cesar Guisado
El Despachador • Cambiar de contexto • Cambiar a modo Usuario • Saltar a la posición adecuada del programa del usuario para reiniciar el programa. Cesar Guisado
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. Cesar Guisado
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. Cesar Guisado
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. Cesar Guisado
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) Cesar Guisado
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 Cesar Guisado
Algoritmos de Planificación 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 Cesar Guisado
Algoritmos de Planificación Si los procesos llegan P2, P3 y P1 • Tiempo de espera (6+0+3)/3=3ms P2 P3 P1 0 3 6 30 Cesar Guisado
Trabajo • Pregunta 2 • ¿Cual es la incidencia en el tiempo de proceso de procesos limitados por la UCP o limitados por E/S? Cesar Guisado
Planificación SJF 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. Cesar Guisado
Planificación SJF • Shortest Job First, Primero el trabajo mas breve. • Si dos procesos tienen la misma longitud, se utiliza a FCFS 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 Cesar Guisado
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: Cesar Guisado
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. Trabajo Práctico El resultado del promedio apropiativo es de 6.5 ms. ¿Cuál es el resultado de una planificación SJF no apropiativa? Cesar Guisado
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. Trabajo Práctico Cesar Guisado
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 Cesar Guisado