Unidad4

788 visualizaciones

Publicado el

Presentación U4 de la materia S.O

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
788
En SlideShare
0
De insertados
0
Número de insertados
39
Acciones
Compartido
0
Descargas
28
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Unidad4

  1. 1. SISTEMAS OPERATIVOSUnidad 4 Administración del procesador
  2. 2. Conceptos Básicos Conviene revisar primero algunos conceptos básicos con respecto a este tema:  Planificador de CPU  Ciclo de ráfagas (burst) de CPU y E/S  Planificación apropiativa  Despachador
  3. 3. Planificación del procesador Las políticas ymecanismos comunes Ejecución de un trabajo por el usuario que poseen los S.O. para realizar la Carga y creación administración del procesador se le conoce como Proceso bloqueado o suspendido PLANIFICACIONSu objetivo es dar un Preparadobuen servicio a todos Ejecución los procesos que Corto plazoexistan en el sistema. Medio plazo Largo plazo Niveles de planificación del Procesador
  4. 4. Planificación del procesador Planificación a lar go plazo – planificador de tr abajos Decide cual será el próximo trabajo que se va a ejecutar, existe en los sistemas de proceso por lotes. Este nivel es el encargado de crear los procesos. Planificación a medio plazo – planificador de Swapping Es el que decide si un proceso que esta en ejecución, bloqueado o suspendido debe ser extraído de la memoria temporalmente, posteriormente cuando el sistema se encuentre más descargado devolverá dicho proceso a la memoria. Existe en los sistemas de tiempo compartido Planificación a cor to plazo – planificador del pr ocesador Es el encargado de decidir cómo y cuando tendrá acceso al procesador un proceso que está preparado para utilizarlo, lleva a cabo las funciones de multiprogramación, estando siempre residente en memoria.
  5. 5. Políticas de Planificación JUSTICIA: La política debe ser justa con todo proceso. MAXIMA CAPACIDAD DE EJECUCIÓN: Que todos los trabajos se realicen lo más rápidamente posible. MAXIMO NUMERO DE USUARIOS INTERACTIVOS: Se tratará de que puedan estar trabajando el mayor número de usuarios simultáneamente. LA S POLITICA S PREDECIBILIDAD: La política de planificación se debe concebir de tal forma que en todo momento se puedaDE PLA NIFICA CION saber como será su ejecución. MINIMIZACION DE LA SOBRECARGA: La computadora debe tener poca sobrecarga. EQUILIBRIO EN EL USO DE LOS RECURSOS: Que los recursos estén ocupados equitativamente el mayor tiempo posible. SEGURIDAD DE PRIORIDADES: Un proceso debe ejecutarse más rápido si tiene mayor prioridad.
  6. 6. Criterios de Planificación Algunos criterios que se utilizan para comparar los algoritmos de planificación:  Utilización del CPU  Rendimiento  Tiempo de retorno  Tiempo de espera  Tiempo de respuesta Se procura maximizar la utilización y el rendimiento y minimizar los demás tiempos Normalmente se intenta afectar el promedio, aunque lo ideal sería afectar la varianza
  7. 7. Criterios PARA DISEÑAR UN ALGORITMO DE PLANIFICACION TIEMPO DE SERVICIO TIEMPO DE RESPUESTATIEMPO DE EJECUCION Tiempo que tarda en Velocidad en que elTiempo que necesita el ejecutarse un programa ordenador da respuesta a proceso para ser una petición. ejecutado menos eltiempo de espera en la TIEMPO DE PROCESA DOR cola de procesos preparados Tiempo que el proceso esta utilizando el procesador. RENDIMIENTO El mayor numero de EFICIENCIA trabajos o procesos realizados por unidad de La mayor utilización TIEMPO DE ESPERA tiempoposible del procesador, para lograr un gran Tiempo en el que los procesos rendimiento. están activos pero sin ser ejecutados
  8. 8. Medidas para estudiar el comportamiento de las distintas políticas de planificación t es el tiempo de que • TIEMPO MEDIO DE SERVICIO un proceso P necesitaestar en ejecución para • TIEMPO MEDIO DE ESPERA llevar a cabo su • EFICIENC (INDICE MEDIO DE SERVICIO. IA trabajo, ti el instanteen que el usuario da la orden de ejecución del Tiempo de servicio (T): T= tf - tiproceso y tf el instante en que el proceso Índice de servicio I= t/T termina su ejecución Tiempo de espera (E): E=T - t
  9. 9. Algoritmos de planificación El planificador del procesador tiene como misión la asignación del mismo a los procesos que están en cola de procesos preparados. Esta cola es alimentada desde dos puntos distintos: Cada vez que un usuario inicie la ejecución de un programa el planificador recibe la orden de ejecución, crea el proceso y lo pasa al planificador colocándose en la cola de procesos preparados. Cuando un proceso deja de estar en estado de ejecución y no existen causas para su bloqueo, o deja de estar bloqueado pasa nuevamente a la cola de procesos preparados. Las políticas de planificación se agrupan en: Políticas apropiativas Politicas no apropiativas Son las que producen un Son aquellas en que un cambio de proceso con cada proceso no abandona nunca cambio de contexto. el procesador desde su comienzo hasta su fin.
  10. 10. Planificación Hay 4 momentos en los que se puede planificar:  Cuando un proceso pasa del estado en ejecución al estado en espera  Cuando un proceso pasa de en ejecución a listo  Cuando un proceso pasa de en espera a listo  Cuando un proceso termina Si la planificación sólo se realiza en los casos 1 y 4, se dice que es un proceso no apropiativa y apropiativa de lo contrario Si se es apropiativa, se debe asegurar que las operaciones internas delicadas funcionen bien.
  11. 11. Algoritmos de Planificación Distintos algoritmos de planificación:  Planificación de servicio por orden de llegada (FCFS)  Planificación de primero el trabajo más corto (SJN)  Planificación de primero el que tenga el menor tiempo restante (SRTF)  Planificación por prioridad  Planificación por turno circular  Planificación con colas de múltiples niveles  Planificación con colas de múltiples niveles y realimentación.  Planificación con Múltiples Procesadores
  12. 12. Planificación de Servicio porOrden de Llegada Este algoritmo, también denominado FCFS (First Come First Served), es el más sencillo Se utiliza el esquema normal del funcionamiento de una cola (FIFO), donde el primer proceso que llega a la cola de listos será el primer proceso a ser despachado Sin embargo, este método tiene la desventaja de que normalmente el tiempo de espera promedio es muy alto, y se puede producir el efecto convoy Este algoritmo es no apropiativo
  13. 13. Planificación de Servicio porOrden de Llegada – Ejemplo Proceso Tiempo de Ráfaga P1 24 P2 3 P3 3 P1 P2 P30 24 27 30 T.E.P. = (0+24+27)/3 = 17 P2 P3 P10 3 6 30 T.E.P. = (6+0+3)/3 = 3
  14. 14. Planificación de Primero elTrabajo más Corto También se le denomina SJF (Shortest Job First) En este algoritmo, a cada proceso se le asocia la duración de su siguiente ráfaga de CPU Al momento de despachar un proceso, se escoge aquél que tenga la ráfaga más corta Si dos procesos tienen la misma duración a la hora de despachar, se aplica el método FCFS Puesto que no es posible saber la duración de las ráfagas por adelantado, se utiliza un método predictivo que se basa en la historia de ese proc. Algoritmo no apropiativo
  15. 15. Planificación de Primero elTrabajo más Corto – Ejemplo Proceso Tiempo de Ráfaga P1 6 P2 8 P3 7 P4 3 P4 P1 P3 P20 3 9 16 24 T.E.P. = (3+16+9+0)/4 = 7
  16. 16. Planificación de Primero el que Tenga elMenor Tiempo Restante (SRTF) El algoritmo puede ser apropiativo o no apropiativo, dependiendo de su implementación Si se implementa de forma apropiativa, cuando un nuevo proceso llegue a la cola de listos, se verifica su longitud asignada con el tiempo que le queda al que se está ejecutando; si es menor, entonces el proceso ejecutándose se desaloja y se despacha el nuevo A este método se le conoce como Primero el que Tenga el Menor Tiempo Restante (SRTF, Shortest Remaining Time First)
  17. 17. Planificación de Primero el que Tenga elMenor Tiempo Restante (SRTF) Proceso Tiempo de Llegada Tiempo de Ráfaga P1 0 8 P2 1 4 P3 2 9 P4 3 5 P1 P2 P4 P1 P30 1 5 10 17 26 T.E.P. = ((10-1)+(1-1)+(17-2)+(5-3))/4 = 26/4 = 6.5
  18. 18. Planificación por Prioridad En este método, se le asigna a cada proceso una prioridad y el que tenga la prioridad más alta es el que se despacha; los procesos que tengan la misma prioridad se planifican en orden FCFS Las prioridades se manejan internamente como números, aunque la forma en que se interpretan éstos varía de un sistema a otro Las prioridades pueden ser internas o externas Con este algoritmo se puede presentar la inanición (starvation), la cual se combate con envejecimiento (aging)
  19. 19. Planificación por Prioridad –Ejemplo Proceso Tiempo de Ráfaga Prioridad P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 P2 P5 P1 P3 P40 1 6 16 18 19 T.E.P. = (6+0+16+18+1)/4 = 41/5 = 8.2
  20. 20. Planificación por TurnoCircular También se le denomina RR (Round-Robin) y se diseñó especialmente para sistemas interactivos y de tiempo compartido; es similar al FCFS pero con expropiación, para conmutar entre procesos Lo que se hace es que se define una unidad de tiempo pequeña, llamada cuanto de tiempo El algoritmo toma el proceso que sigue de la cola de listos, pone un temporizador (timer) para que levante una interrupción y despacha el proceso Cuando se dispara la interrupción el planificador desaloja el proceso y despacha otro nuevo
  21. 21. Planificación por TurnoCircular – Ejemplo Proceso Tiempo de Ráfaga P1 24 P2 3 P3 3 Cuanto de Tiempo = 4 P1 P2 P3 P1 P1 P1 P1 P10 4 7 10 14 18 22 26 30 T.E.P. = ((10-4)+4+7)/3 = 17/3 = 5.66
  22. 22. Planificación por TurnoCircular Si el proceso termina antes de la interrupción, o solicita E/S, en ese momento se desaloja Este algoritmo es apropiativo Se debe buscar un buen cuanto de tiempo, que no sea ni demasiado chico ni demasiado grande En general, se debe procurar que el cuanto de tiempo se grande con respecto al tiempo de conmutación; si el tiempo de conmutación es el 10% del cuanto, entonces se gastará aprox. el 10% del tiempo total en conmutaciones
  23. 23. Planificación con Colas deMúltiples Niveles Este método se puede aplicar cuando los procesos son clasificables fácilmente en grupos distintos Aquí se divide la cola de procesos listos en varias colas distintas, con un nivel asociado cada una Un proceso siempre se asigna a la misma cola, dependiendo de algún atributo en particular de éste (tipo, prioridad, tamaño, etc.) Cada cola maneja su propio algoritmo de planificación y se debe utilizar planificación entre las colas para ver cuál despacha su proceso Este algoritmo es apropiativo
  24. 24. Planificación con Colas deMúltiples Niveles
  25. 25. Planif. con Colas de MúltiplesNiveles y Realimentación A diferencia del método anterior, aquí los procesos sí pueden cambiar de una cola a otra La idea es separar procesos con distintas características basados en sus ráfagas de CPU; si un proceso gasta demasiado tiempo de CPU se le pasará a una cola de menor prioridad Esto permite que los procesos limitados por E/S y los procesos interactivos se coloquen en las colas de más alta prioridad, pues ellos no consumen mucho tiempo de CPU
  26. 26. Planif. con Colas de MúltiplesNiveles y Realimentación
  27. 27. Planif. con Colas de MúltiplesNiveles y Realimentación El algoritmo funciona de la siguiente manera:  Inicialmente un proceso se asigna a la cola de prioridad más alta, si en el cuanto de tiempo no desocupó el CPU se le pasa a la cola inferior y así sucesivamente  Una cola no puede despachar sus procesos hasta que la cola superior esté completamente vacía  Cada cola puede manejar su propio algoritmo de planificación y/o cuantos de tiempo diferentes  Normalmente, si un proceso lleva demasiado tiempo sin ejecutarse se le asciende a la cola superior, con lo que se logra el envejecimiento y se evita la inanición
  28. 28. Planificación con MúltiplesProcesadores Cuando los procesadores son compatibles, lo que se puede hacer es compartir la carga ente ellos Para evitar desbalances se maneja una sola cola de procesos listos y se despachan los procesos al procesador que esté desocupado Se pueden manejar dos esquemas distintos:  Cada procesador se planifica por su cuenta, donde cada uno revisa la cola y escoge el proceso; hay que programar muy bien éstos para que no haya conflictos  Nombrar un procesador como planificador, lo que produce una estructura de maestro-esclavo

×