1 / 35

Sistemas Operativos

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.

nola-finch
Download Presentation

Sistemas Operativos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Operativos Procesos

  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. 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. Cesar Guisado

  4. Estado de un proceso Proceso Finalizado Nuevo proceso listo En ejecución En espera 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. Cesar Guisado

  6. Bloque de control de proceso Apuntador Estado del Proceso 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. 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. 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 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. 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. 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 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 hijo Se ejecuta el hijo Ocurre interrupción En espera de una interrupción 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 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 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 Cesar Guisado

  17. 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

  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 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 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: 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. 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. 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. 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. 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) 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 Cesar Guisado

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  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: Cesar Guisado

  33. 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

  34. 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

  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 Cesar Guisado

More Related