SlideShare uma empresa Scribd logo
1 de 28
Gestión de Procesos


       Abril 2012
                      1
Objetivos de planificación

q   El S.O debe decidir qué proceso ejecutar de aquellos
    que están listos para ejecución
q   Planificador (scheduler): parte del S.O que realiza
    la decisión mediante el algoritmo de planificación
q   Objetivos:
    s   Equidad
    s   Eficiencia
    s   Tiempo de respuesta
    s   Minimizar tiempo de proceso global
    s   Maximizar el nº de trabajos procesados
q   Pueden ser contradictorios
                                                           2
Indice

q   Objetivos de planificación
q   Algoritmos de planificación
q   Detección y prevención de bloqueos




                                         3
Planificación

q   Problema:
    s   el comportamiento de los procesos es único e impredecible
         – Mucha E/S
         – Mucho cálculo
q   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 otro
q   Se pueden utilizar distintos algoritmos de
    planificación.
                                                                    4
Algoritmos de planificación

q   Planificación por turno rotatorio
q   Planificación por prioridad
q   Lista de espera múltiples
q   Prioridad al más corto
q   Planificación determinada por el comportamiento
q   Planificación a dos niveles




                                                      5
Planificación por turno rotatorio

q   A cada proceso se le asigna un intervalo de tiempo o
    cuanto
                                                                Lista de
                 A            F            D                B   procesos

q   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 prioridad

q   Se asignan prioridades a los procesos y se ejecuta el
    de más alta prioridad
q   Se pueden agrupar por prioridades y utilizar turno
    rotatorio para cada prioridad
q   asignación estática o dinámica
q   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 espera
q   Para sistemas que sólo pueden mantener en
    memoria un proceso
q   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 corto

q   Para sistemas por lotes
q   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 comportamiento

q   n usuarios => 1/n de la potencia del procesador
q   Se contabiliza:
    s tiempo de procesador consumido
    s tiempo tanscurrido = t. que lleva el proceso en el sistema

q   Se calcula:
    s   t. al que se tiene derecho
         – t. transcurrido/n
q   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 niveles

q   Planificador de alto nivel
    s   Se encarga de llevar procesos de disco a memoria y
        viceversa
q   Planificador de bajo nivel
    s   Se encarga de pasar de un proceso a otro en memoria
        principal
q   Varios criterios
    s Tiempo en memoria
    s Tiempo de procesador
    s Prioridad
    s Tamaño

                                                              11
Detección y prevención de bloqueos

q   Interbloqueos
    s   Se dan por la necesidad de uso exclusivo de algunos
        recursos por parte de los procesos
q   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   Interbloqueo
q   En dispositivos de E/S, en bases de datos.
                                                              12
Recurso

q   Sólo puede ser utilizado por un proceso en un
    instante dado
q   Su uso conlleva:
    s Solicitar el recurso
    s Usar el recurso
    s Dejar el recurso

q   Si no está disponible, el proceso debe esperar
q   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 interbloqueo

q   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 interbloqueos

q   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 T
q   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 T
q   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 T
q   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 interbloqueo

q   El algoritmo del avestruz
    s Esconder la cabeza y desentenderse
    s Unix

q   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 tiempo
q   Prevención de interbloqueos
q   Predicción de interbloqueos
                                                            17
Prevención de interbloqueos
q   Imponer restricciones a los procesos de forma que un
    interbloqueo no sea posible
q   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 espera

q   Retener un recurso en cada momento
    s   No es adecuado
q   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 interbloqueos

q   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
                  B
Impresora
             I8
             I7
             I6
             I5                  t
  Trazador            r
                             s
                                               A
                  p   q     I1 I2    I3 I4
                  Impresora
                        Trazador
                                                         21
Algoritmo del banquero
                para un recurso
q   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=1
q   No todos los procesos van a utilizar el máximo
q   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 seguro

q   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 disponibles
q   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 D
q   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
Problemas

q   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

Mais conteúdo relacionado

Semelhante a Procesos

Algoritmos de procesos Algoritmos de procesos blogger blogspot
Algoritmos de procesos Algoritmos de procesos blogger blogspotAlgoritmos de procesos Algoritmos de procesos blogger blogspot
Algoritmos de procesos Algoritmos de procesos blogger blogspot
Vinicio Silva
 
Algoritmos de procesos
Algoritmos de procesosAlgoritmos de procesos
Algoritmos de procesos
Vinicio Silva
 
Planificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTrañaPlanificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTraña
Nestor Traña
 
Gestion del tiempo proyecto parte ii
Gestion del tiempo proyecto   parte iiGestion del tiempo proyecto   parte ii
Gestion del tiempo proyecto parte ii
dochoaq_1981
 
Correccion parcial 2 do corte
Correccion parcial 2 do corteCorreccion parcial 2 do corte
Correccion parcial 2 do corte
SebastianV91
 
Corrección Segundo Parcial
Corrección Segundo ParcialCorrección Segundo Parcial
Corrección Segundo Parcial
carlos_kri
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
Julieth Ximena
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
Makimakia
 

Semelhante a Procesos (20)

Tema5
Tema5Tema5
Tema5
 
Algoritmos de procesos Algoritmos de procesos blogger blogspot
Algoritmos de procesos Algoritmos de procesos blogger blogspotAlgoritmos de procesos Algoritmos de procesos blogger blogspot
Algoritmos de procesos Algoritmos de procesos blogger blogspot
 
Algoritmos de procesos
Algoritmos de procesosAlgoritmos de procesos
Algoritmos de procesos
 
Algoritmos de procesos blog blogger
Algoritmos de procesos blog bloggerAlgoritmos de procesos blog blogger
Algoritmos de procesos blog blogger
 
Algoritmos de procesos blogger blogspot
Algoritmos de procesos blogger blogspotAlgoritmos de procesos blogger blogspot
Algoritmos de procesos blogger blogspot
 
Procesos y Planificación de la CPU
Procesos y Planificación de la CPUProcesos y Planificación de la CPU
Procesos y Planificación de la CPU
 
Deadlock
DeadlockDeadlock
Deadlock
 
Planificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTrañaPlanificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTraña
 
PERT CPM (1).ppt
PERT CPM (1).pptPERT CPM (1).ppt
PERT CPM (1).ppt
 
Correcion parcial
Correcion parcialCorrecion parcial
Correcion parcial
 
OSRoundRobin.pptx
OSRoundRobin.pptxOSRoundRobin.pptx
OSRoundRobin.pptx
 
Algoritmos de planificacion.pdf
Algoritmos de planificacion.pdfAlgoritmos de planificacion.pdf
Algoritmos de planificacion.pdf
 
Gestion del tiempo proyecto parte ii
Gestion del tiempo proyecto   parte iiGestion del tiempo proyecto   parte ii
Gestion del tiempo proyecto parte ii
 
Parcial primer corte
Parcial primer corteParcial primer corte
Parcial primer corte
 
Correccion parcial 2 do corte
Correccion parcial 2 do corteCorreccion parcial 2 do corte
Correccion parcial 2 do corte
 
Round robin apa
Round robin apaRound robin apa
Round robin apa
 
Corrección Segundo Parcial
Corrección Segundo ParcialCorrección Segundo Parcial
Corrección Segundo Parcial
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
 

Mais de UNEFA (10)

Realidad aumentada
Realidad aumentadaRealidad aumentada
Realidad aumentada
 
Slideshare, Mapa conceptua
Slideshare, Mapa conceptuaSlideshare, Mapa conceptua
Slideshare, Mapa conceptua
 
Slideshare Mapa conceptual
Slideshare Mapa conceptualSlideshare Mapa conceptual
Slideshare Mapa conceptual
 
Plagio en la internet presentacion
Plagio en la internet presentacionPlagio en la internet presentacion
Plagio en la internet presentacion
 
Class 01 introduction_to_operating_systems.htm
Class 01 introduction_to_operating_systems.htmClass 01 introduction_to_operating_systems.htm
Class 01 introduction_to_operating_systems.htm
 
El Por que de los Sistemas Operativos
El Por que de los Sistemas OperativosEl Por que de los Sistemas Operativos
El Por que de los Sistemas Operativos
 
Clase2
Clase2Clase2
Clase2
 
Bloqueacademico 110925200734-phpapp01
Bloqueacademico 110925200734-phpapp01Bloqueacademico 110925200734-phpapp01
Bloqueacademico 110925200734-phpapp01
 
Expectativas del Curso
Expectativas del CursoExpectativas del Curso
Expectativas del Curso
 
Bloque academico
Bloque academicoBloque academico
Bloque academico
 

Último

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Último (20)

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 

Procesos

  • 1. Gestión de Procesos Abril 2012 1
  • 2. Objetivos de planificación q El S.O debe decidir qué proceso ejecutar de aquellos que están listos para ejecución q Planificador (scheduler): parte del S.O que realiza la decisión mediante el algoritmo de planificación q Objetivos: s Equidad s Eficiencia s Tiempo de respuesta s Minimizar tiempo de proceso global s Maximizar el nº de trabajos procesados q Pueden ser contradictorios 2
  • 3. Indice q Objetivos de planificación q Algoritmos de planificación q Detección y prevención de bloqueos 3
  • 4. Planificación q Problema: s el comportamiento de los procesos es único e impredecible – Mucha E/S – Mucho cálculo q 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 otro q Se pueden utilizar distintos algoritmos de planificación. 4
  • 5. Algoritmos de planificación q Planificación por turno rotatorio q Planificación por prioridad q Lista de espera múltiples q Prioridad al más corto q Planificación determinada por el comportamiento q Planificación a dos niveles 5
  • 6. Planificación por turno rotatorio q A cada proceso se le asigna un intervalo de tiempo o cuanto Lista de A F D B procesos q 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
  • 7. Planificación por prioridad q Se asignan prioridades a los procesos y se ejecuta el de más alta prioridad q Se pueden agrupar por prioridades y utilizar turno rotatorio para cada prioridad q asignación estática o dinámica q 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
  • 8. Múltiples listas de espera q Para sistemas que sólo pueden mantener en memoria un proceso q 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
  • 9. Prioridad al más corto q Para sistemas por lotes q 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
  • 10. Planificación determinada por el comportamiento q n usuarios => 1/n de la potencia del procesador q Se contabiliza: s tiempo de procesador consumido s tiempo tanscurrido = t. que lleva el proceso en el sistema q Se calcula: s t. al que se tiene derecho – t. transcurrido/n q 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
  • 11. Planificación a dos niveles q Planificador de alto nivel s Se encarga de llevar procesos de disco a memoria y viceversa q Planificador de bajo nivel s Se encarga de pasar de un proceso a otro en memoria principal q Varios criterios s Tiempo en memoria s Tiempo de procesador s Prioridad s Tamaño 11
  • 12. Detección y prevención de bloqueos q Interbloqueos s Se dan por la necesidad de uso exclusivo de algunos recursos por parte de los procesos q 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 Interbloqueo q En dispositivos de E/S, en bases de datos. 12
  • 13. Recurso q Sólo puede ser utilizado por un proceso en un instante dado q Su uso conlleva: s Solicitar el recurso s Usar el recurso s Dejar el recurso q Si no está disponible, el proceso debe esperar q 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
  • 14. Condiciones para el interbloqueo q 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
  • 15. Grafos para modelar interbloqueos q 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
  • 16. Ejemplo A B C Pedir R Pedir S Pedir T q 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 T q 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 T q El S.O puede suspender un proceso = > 3. A pide S 4. C pide R 5. A deja R 6. A deja S 16
  • 17. Formas de tratar el interbloqueo q El algoritmo del avestruz s Esconder la cabeza y desentenderse s Unix q 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 tiempo q Prevención de interbloqueos q Predicción de interbloqueos 17
  • 18. Prevención de interbloqueos q Imponer restricciones a los procesos de forma que un interbloqueo no sea posible q 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
  • 19. Círculos de espera q Retener un recurso en cada momento s No es adecuado q 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
  • 20. Predicción de interbloqueos q 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
  • 21. Trayectorias de recursos Ejecución de A q Para 2 recursos y 2 procesos Ejecución de B B Impresora I8 I7 I6 I5 t Trazador r s A p q I1 I2 I3 I4 Impresora Trazador 21
  • 22. Algoritmo del banquero para un recurso q 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=1 q No todos los procesos van a utilizar el máximo q Estado seguro: si hay una secuencia que lleve a todos los procesos a obtener sus máximos 22
  • 23. 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
  • 24. Algoritmo de comprobación de estado seguro q 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 disponibles q 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 D q Repetir los dos pasos anteriores hasta terminar todos los procesos. Si se puede terminar => estado seguro 24
  • 25. 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
  • 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 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
  • 27. 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
  • 28. Problemas q 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