Procesos
Upcoming SlideShare
Loading in...5
×
 

Procesos

on

  • 800 views

procesos

procesos

Statistics

Views

Total Views
800
Views on SlideShare
800
Embed Views
0

Actions

Likes
1
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Procesos Procesos Presentation Transcript

  • Gestión de Procesos Abril 2012 1
  • Objetivos de planificaciónq El S.O debe decidir qué proceso ejecutar de aquellos que están listos para ejecuciónq Planificador (scheduler): parte del S.O que realiza la decisión mediante el algoritmo de planificaciónq Objetivos: s Equidad s Eficiencia s Tiempo de respuesta s Minimizar tiempo de proceso global s Maximizar el nº de trabajos procesadosq Pueden ser contradictorios 2
  • Indiceq Objetivos de planificaciónq Algoritmos de planificaciónq Detección y prevención de bloqueos 3
  • Planificaciónq Problema: s el comportamiento de los procesos es único e impredecible – Mucha E/S – Mucho cálculoq Para asegurar que un proceso no monopoliza el procesador s Temporizador hardware s Con cada interrupción el S.O toma el control y decide si seguir con el proceso actual o pasar a otroq Se pueden utilizar distintos algoritmos de planificación. 4
  • Algoritmos de planificaciónq Planificación por turno rotatorioq Planificación por prioridadq Lista de espera múltiplesq Prioridad al más cortoq Planificación determinada por el comportamientoq Planificación a dos niveles 5
  • Planificación por turno rotatorioq A cada proceso se le asigna un intervalo de tiempo o cuanto Lista de A F D B procesosq Cambio de contexto lleva tiempo s Si 5 ms, el tiempo utilizado en el cambio: – Si cuanto de 20 ms => 20% – Si cuanto de 500 ms => 1% q Si 10 procesos, 1/2 s, 1 s … en empezar.q Compromiso entre eficiencia del procesador y velocidad de respuesta 6
  • Planificación por prioridadq Se asignan prioridades a los procesos y se ejecuta el de más alta prioridadq Se pueden agrupar por prioridades y utilizar turno rotatorio para cada prioridadq asignación estática o dinámicaq Ejemplo: prioridad = 1/f ; f= T utilizado del último cuanto/ T del cuanto s 2 ms de 100 => prioridad = 50 s 50 ms de 100 => prioridad = 2 s 100 ms de 100 => prioridad = 1 7
  • Múltiples listas de esperaq Para sistemas que sólo pueden mantener en memoria un procesoq Baja el nº de transferencias s Si un proceso agota su cuanto, se le pasa a la categoría inferior. A los procesos con más cálculo se le da más tiempo de procesador 1 c. + 2 c. Prioridad 4 c. - 8 c. 16 c.q Proceso que necesita 100 cuantos: s 1 2 4 8 16 32 64 8 s Accede cada vez menos frecuentemente al procesador
  • Prioridad al más cortoq Para sistemas por lotesq Se conoce el tiempo de respuesta de los procesos A B C D D B C A 8 4 4 4 4 4 4 8 T. Ejecución 8 12 16 20 4 8 12 20 T. Respuesta T. promedio= 14 T. promedio= 11 A B C D ta tb tc td ta ta+tb ta+tb+tc ta+tb+tc+td T. promedio= 4ta+3tb+2tc+1td 9
  • Planificación determinada por el comportamientoq n usuarios => 1/n de la potencia del procesadorq Se contabiliza: s tiempo de procesador consumido s tiempo tanscurrido = t. que lleva el proceso en el sistemaq Se calcula: s t. al que se tiene derecho – t. transcurrido/nq Se ejecuta el proceso con el valor más bajo para: s t. de procesador consumido/ t. al que se tiene derecho q 100 / 200 = 0.5 q 200 / 100 = 2 10
  • Planificación a dos nivelesq Planificador de alto nivel s Se encarga de llevar procesos de disco a memoria y viceversaq Planificador de bajo nivel s Se encarga de pasar de un proceso a otro en memoria principalq Varios criterios s Tiempo en memoria s Tiempo de procesador s Prioridad s Tamaño 11
  • Detección y prevención de bloqueosq Interbloqueos s Se dan por la necesidad de uso exclusivo de algunos recursos por parte de los procesosq Ejemplo: proceso A necesita recurso 1 y 2 proceso B necesita recurso 2 y 1 s proceso A pide 1 s proceso B pide 2 s proceso A pide 2 => se bloquea s proceso B pide 1 => se bloquea s Interbloqueoq En dispositivos de E/S, en bases de datos. 12
  • Recursoq Sólo puede ser utilizado por un proceso en un instante dadoq Su uso conlleva: s Solicitar el recurso s Usar el recurso s Dejar el recursoq Si no está disponible, el proceso debe esperarq Los procesos se interbloquean si cada uno de ellos espera que se genere algún evento que sólo otro proceso del conjunto puede generar. s El evento es normalmente la liberación de un recurso que está siendo utilizado por otro proceso. 13
  • Condiciones para el interbloqueoq Enunciadas por Coffman s Exclusión mutua: un recurso está asignado a un proceso o está disponible s Retención y espera: Se pueden solicitar más recursos sin abandonar los ya obtenidos s No expulsión: Los procesos tienen que dejar los recursos explícitamente s Círculo de espera: Se produce un círculo de 2 o más procesos 14
  • Grafos para modelar interbloqueosq Los grafos sirven para averiguar si una determinada secuencia produce interbloqueo R P R asignado a P P bloqueado esperando R P R D R1 R2 Interbloqueo P 15
  • Ejemplo A B C Pedir R Pedir S Pedir Tq 3 procesos Pedir S Pedir T Pedir R Dejar R Dejar S Dejar T Dejar S Dejar T Dejar R 1. A pide R 2. B pide S 3. C pide Tq Planificación por turno rotatorio ===== > 4. A pide S 5. B pide T A B C 4 6. C pide R 5 6 1 2 3 R S T 1. A pide R 2. C pide Tq El S.O puede suspender un proceso = > 3. A pide S 4. C pide R 5. A deja R 6. A deja S 16
  • Formas de tratar el interbloqueoq El algoritmo del avestruz s Esconder la cabeza y desentenderse s Unixq Detección y eliminación de interbloqueos s Controlar peticiones y liberaciones de recursos s Actualizar el grafo de recursos y comprobar que no haya bucles s Comprobar periódicamente si hay procesos que han estado bloqueados durante mucho tiempoq Prevención de interbloqueosq Predicción de interbloqueos 17
  • Prevención de interbloqueosq Imponer restricciones a los procesos de forma que un interbloqueo no sea posibleq No habrá interbloqueo si no se cumple alguna de las 4 condiciones necesarias para el interbloqueo: s Exclusión mutua – No se puede eliminar, se puede llegar a condiciones de carrera s Retención y espera – Solicitar todos los recursos al principio q No permite utilización óptima q No se sabe a priori – Antes de solicitar un recurso, los procesos están obligados a dejar temporalmente los que tienen retenidos s No expulsión – No aconsejable s Círculos de espera 18
  • Círculos de esperaq Retener un recurso en cada momento s No es adecuadoq Dar a los recursos una numeración general. s Los recursos se solicitan en orden de numeración A-1 B y luego D B-2 pero no D y luego B C-3 D-4 E-5 s El grafo no puede tener bucles cerrados s Puede ser difícil dar a los recursos una numeración adecuada 19
  • Predicción de interbloqueosq Evitar los interbloqueos cuando se asignen los recursos s Trayectorias de recursos s Algoritmo del banquero para un recurso s Algoritmo del banquero para múltiples recursos 20
  • Trayectorias de recursos Ejecución de A q Para 2 recursos y 2 procesos Ejecución de B BImpresora I8 I7 I6 I5 t Trazador r s A p q I1 I2 I3 I4 Impresora Trazador 21
  • Algoritmo del banquero para un recursoq Estado del sistema con respecto a la asignación de recursos: lista de procesos, recursos usados y máximo usado max usado max usado max p1 0 6 p1 1 6 p1 1 6 p2 0 5 p2 1 5 p2 2 5 p3 0 4 p3 2 4 p3 2 4 p4 0 7 p4 4 7 p4 4 7 Disponible=10 Disponible=2 Disponible=1q No todos los procesos van a utilizar el máximoq Estado seguro: si hay una secuencia que lleve a todos los procesos a obtener sus máximos 22
  • Algoritmo del banquero para múltiples recursos q Ra: recursos asignados en ese momento q Rn: recursos que se necesitan todavía q E: recursos existentes q P: recursos asignados a algún proceso q D: recursos disponibles A 3 0 1 1 A 1 1 0 0 E=(6 3 4 2) B 0 1 0 0 B 0 1 1 2 P=(5 3 2 2)Ra C 1 1 1 0 Rn C 3 1 0 0 D=(1 0 2 0) D 1 1 0 1 D 0 0 1 0 P+D=E E 0 0 0 0 E 2 1 1 0 23 R1 R2 R3 R4 R1 R2 R3 R4
  • Algoritmo de comprobación de estado seguroq Buscar fila F cuyas necesidades de recursos sean menores que D. Si no hay=> estado no seguro, el sistema se puede interbloquear, se necesitan más de los disponiblesq Suponer que el proceso de la fila F pide todos los recursos y termina. Marcar el proceso como terminado y añadir sus recursos a Dq Repetir los dos pasos anteriores hasta terminar todos los procesos. Si se puede terminar => estado seguro 24
  • Ejemplo A 3 0 1 1 A 1 1 0 0 E=(6 3 4 2) B 0 1 0 0 B 0 1 1 2 P=(5 3 2 2)Ra C 1 1 1 0 Rn C 3 1 0 0 D=(1 0 2 0) D 1 1 0 1 D 0 0 1 0 P+D=E E 0 0 0 0 E 2 1 1 0 R1 R2 R3 R4 R1 R2 R3 R4 q Estado seguro s D D=(2 1 2 1) s A D=(5 1 3 2) oE s E D=(5 1 3 2) oC s C D=(6 2 4 2) s B D=(6 3 4 2) 25
  • Ejemplo A 3 0 1 1 A 1 1 0 0 E=(6 3 4 2) B 0 1 1 0 B 0 1 0 2 P=(5 3 3 2)Ra C 1 1 1 0 Rn C 3 1 0 0 D=(1 0 1 0) D 1 1 0 1 D 0 0 1 0 P+D=E E 0 0 0 0 E 2 1 1 0 R1 R2 R3 R4 R1 R2 R3 R4 q B pide un R3 => ¿estado seguro? 26
  • Ejemplo A 3 0 1 1 A 1 1 0 0 E=(6 3 4 2) B 0 1 1 0 B 0 1 0 2 P=(5 3 4 2)Ra C 1 1 1 0 Rn C 3 1 0 0 D=(1 0 0 0) D 1 1 0 1 D 0 0 1 0 P+D=E E 0 0 1 0 E 2 1 0 0 R1 R2 R3 R4 R1 R2 R3 R4 q E pide un R3 => ¿estado seguro? 27
  • Problemasq Poca aplicación práctica: s Los procesos raramente saben la cantidad máxima de recursos que van a utilizar s El nº de procesos no es fijo s Pueden desaparecer recursos con los que se contaba 28