1 / 30

SISTEMAS OPERATIVOS

SISTEMAS OPERATIVOS. TEMA: PROCESOS y PLANIFICACIÓN. Ing. Robiro A. Asuaje L. 05-01-99. PROCESOS. Un programa en ejecución H. M. Deitel. El concepto central en cualquier sistema operativo es el proceso: una abstracción de un programa en ejecución.

dwayne
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 TEMA: PROCESOS y PLANIFICACIÓN Ing. Robiro A. Asuaje L. 05-01-99.

  2. PROCESOS Un programa en ejecución H. M. Deitel. El concepto central en cualquier sistema operativo es el proceso: una abstracción de un programa en ejecución. Andrew S. Tanenbaum.

  3. Es una Estructura de datos, que permite al Sistema Operativo manejar la información relacionada con cada uno de los procesos. Esto incluye: • Estado Actual del Proceso. • Identificador del Proceso. • Un apuntador hacia el padre del proceso. • Apuntadores a los hijos del proceso. BLOQUE DE CONTROL DEL PROCESO (P.C.B).

  4. BLOQUE DE CONTROL DE PROCESO(P.C.B). • Prioridad del Proceso. • Información de Administración de memoria del proceso. • Apuntadores a los recursos asignados al proceso. • Un área para salvaguarda de los registros relacionados con la • ejecución del proceso. • El Procesador en que se está ejecutando el proceso • (en un sistema de procesadores múltiples).

  5. ESTADOS DE UN PROCESO Terminación de la operación de E/S o del evento E A S C T TA ID VO OS S Listo Bloqueado Espera de E/S o de algún evento Despachar S U S P E N D E R S U S P E N D E R R E A N U D A R R E A N U D A R Expiración del tiempo En ejecución SUSPENDER Estados Pasivos Suspendido Listo Suspendido Bloqueado Terminación de la operación de E/S o del evento

  6. Operaciones sobre Procesos * Crear un proceso. * Destruir un proceso. * Cambiar la prioridad de un proceso. * Bloquear un proceso. * Despachar un proceso. * Permitir la comunicación entre procesos. * Suspender un proceso. * Reanudar un proceso.

  7. Planificación de Procesos. Cuando son ejecutables varios procesos, el sistema operativo debe decidir cuál conviene ejecutar si el CPU se encuentra disponible. El elemento del sistema quien toma esta decisión se llama PLANIFICADOR (Scheduling) y el algoritmo del cual hace uso se denomina ALGORITMO PLANIFICADOR.

  8. Tipos de Planificación No Apropiativa: Una vez que el CPU ha sido asignado a un proceso, ya no se le puede arrebatar. Ejemplos: FIFO, Primer trabajo más corto

  9. Tipos de Planificación Apropiativa: Cuando a un proceso, el sistema operativo le puede quitar el CPU antes asignado. Ejemplos: Round Robin, Prioridades, Tiempo restante más corto, Colas múltiples.

  10. Objetivos de la Planificación 1. Los procesos deben tratarse de la misma forma. 2. Evitar el aplazamiento indefinido. 3. Atender la mayor cantidad de procesos por unidad de tiempo. 4. Mantener ocupados los recursos del sistema. 5. Lograr un equilibrio entre la respuesta y el uso de los recursos. 6. Una tarea debe ejecutarse aproximadamente en el mismo tiempo, cada vez que se ejecute.

  11. Criterios de Planificación 1. Si el proceso utiliza exhaustivamente el CPU (CPU Bound) o los diversos dispositivos (I/O Bound). 2. Importancia del proceso. Tipo de procesamiento. 3. Cuánto tiempo real de ejecución lleva un proceso y cuánto tiempo estimado necesita para terminar. 4. Frecuencia con la que el proceso utiliza la memoria principal.

  12. Niveles de Planificación Planificación de Alto nivel: Selecciona los trabajos que deben admitirse en el sistema. Tareas: 1. Administrar todos los recursos del sistema excepto el CPU. 2. Mantiene las colas de procesos bloqueados y suspendidos. 3. Controla la creación de procesos. 4. Maneja el nivel de multiprogramación.

  13. Niveles de Planificación Planificación de nivel intermedio: Determina cuáles procesos pueden competir por el CPU. Tareas: 1. Equilibrar la admisión de trabajos en el sistema con la asignación del CPU a dichos procesos. 2. Nivelar la carga del sistema (procesos activos y pasivos)

  14. Niveles de Planificación Planificación de bajo nivel: Determina a cuál proceso listo se le asignará el CPU cuando éste se encuentre disponible. Tarea: 1. Despachar el proceso.

  15. Los procesos son atendidos en el orden en que entraron a la lista de Ready. El proceso tiene asignado el CPU hasta que termina su ejecución. * No Apropiativa. * Generalmente se utiliza combinando con otros esquemas. Lista de Procesos Listos Culminación CPU C B A Políticas de Planificación: FIFO

  16. Políticas de Planificación: Primer Trabajo más corto (SJF) Se ejecuta primero el proceso en espera que tiene el próximo menor tiempo estimado de ejecución, hasta terminar. * No Apropiativa * Favorece a los trabajos cortos a expensa de los largos. * La prioridad del proceso es inversamente proporcional al tiempo de ejecución.

  17. Políticas de Planificación:ROUND ROBIN Consiste en asignar el CPU al primer proceso de la lista de Ready durante un tiempo de ejecución (Quantum), el cual es igual para todos los procesos. * Variación del FIFO * Apropiativa. * El quantum puede variar: Carga del sistema, prioridad de los procesos.

  18. Lista de Procesos Listos CPU A C B A Apropiación ROUND ROBIN

  19. Políticas de Planificación:Tiempo restante más corto (SRT) Una vez que un proceso comienza su ejecución, puede ser desplazado por un nuevo con menor tiempo de ejecución estimado. * Apropiativa. * Implica mayor actividad que el Primer Trabajo Más Corto (SJF).

  20. Política de Planificación:Prioridades A cada proceso se le asigna una prioridad. Se le permi- te la ejecución al trabajo que tenga la mayor prioridad. * Las prioridades pueden ser: - Externas: Definidas por el usuario. - Internas: Determinadas por el sistema. * Pueden además clasificarse en: - Estáticas: Cuando los procesos mantienen su prio- ridad constante durante su existencia en el sistema - Dinámicas: Cuando las prioridades sufren cambios.

  21. Política de Planificación:Colas Múltiples • El movimiento de los procesos se determina a través de • varias colas de diferentes niveles. • Un proceso nuevo entra a la red de colas, al final de la • primera cola. Se desplaza por FIFO. • Cuando a un proceso se le termina su quantum de • tiempo, se coloca al final de la cola del siguiente nivel. • El quantum asignado a un proceso cuando pasa a una • cola de nivel inferior alcanza un valor mayor. • Un proceso en cierta cola no puede ejecutarse a menos que estén vacías las colas de los niveles más altos.

  22. Colas Múltiples Terminación Uso del CPU Nivel 1 FIFO Terminación Uso del CPU Nivel 2 FIFO Terminación Uso del CPU Nivel 3 FIFO Nivel N ROUND ROBIN Uso del CPU

  23. Multiples Procesadores • La planificación de procesos es más compleja cuando varios CPU’s se • encuentran disponibles. Generalmente cada CPU tiene su propia cola y su pro- • pio algoritmo de planificación. • Se presentan dos casos: • Sistema Homogéneo: • Los procesadores son idénticos. • Pueden utilizarse una carga compartida. Todos los procesos se colocan en una sola cola. • Sistema Heterogéneo: • Los procesos son clasificados por su estructura, ellos deben ejecutarse en un procesador particular.

  24. Evaluación de los Algoritmos de Planificación • Tipos de Evaluación: • 1. Analítica: Toman una serie de valores y se elabora • una especie de corrida en frío. • 2. Simulación: Elaboración de modelos con algunas • herramientas y se trata de lograr un comportamiento • real de los procesos. • 3. Implementación: Funcionar el sistema en su entorno • real de trabajo.

  25. Evaluación de los Algoritmos de Planificación • Elementos de Medida: • Tiempo de respuesta (T): Tiempo durante el cual el proceso está presente en el sistema • T= tiempo finalización - tiempo de llegada • Tiempo de ejecución en el CPU (t) • Tiempo desperdiciado(W): W = T - t • Tasa de penalización (P): P = T/ t

  26. Evaluación del Algoritmo F.I.F.O. (P.E.P.S.) Proceso Tiempo Tiempo Tiempo llegada t Arranque Finalización T W P A 0 3 0 3 3 0 1.0 B 1 5 3 8 7 2 1.4 C 3 2 8 10 7 5 3.5 D 9 5 10 15 6 1 1.2 E 12 5 15 20 8 3 1.6 Promedio: 6.2 2.2 1.74

  27. Proceso Tiempo Tiempo Tiempo llegada t Arranque Finalización T W P A 0 3 0 3 3 0 1.0 B 1 5 5 10 9 4 1.8 C 3 2 3 5 2 0 1.0 D 9 5 10 15 6 1 1.2 E 12 5 15 20 8 3 1.6 Promedio: 5.6 1.6 1.32 Evaluación del Algoritmo Primer Trabajo más corto (S.J.F.)

  28. Evaluación del Algoritmo Tiempo restante más corto (S.R.T.) Proceso Tiempo Tiempo Tiempo llegada t Arranque Finalización T W P A 0 2 0 2 2 0 1.0 B 1 5 2 9 8 3 1.6 C 3 2 3 5 2 0 1.0 D 9 4 9 15 6 2 1.5 E 10 2 10 12 2 0 1.0 Promedio: 4 1 1.22

  29. Evaluación del Algoritmo Prioridades Proceso Tiempo Tiempo Tiempo llegada t Prioridad Arranque Finalización T W P A 0 3 4 0 10 10 7 3.3 B 1 5 2 1 8 7 2 1.4 C 3 2 0 3 5 2 0 1.0 D 9 5 4 10 15 6 1 1.2 E 12 5 4 15 20 8 3 1.6 Promedio: 6.6 4.3 1.7

  30. Evaluación del Algoritmo Round Robin Proceso Tiempo Tiempo Tiempo llegada t Arranque Finalización T W P A 0 3 0 3 3 0 1.0 B 1 5 3 10 9 4 1.8 C 3 2 7 9 6 4 3.0 D 9 5 10 19 10 5 2.0 E 12 5 14 20 8 3 1.6 Promedio: 7.2 3.2 1.88

More Related