SlideShare una empresa de Scribd logo
2
Lo más leído
3
Lo más leído
4
Lo más leído
Procesos.
  Planificación del Procesador.

                 Sistemas Operativos.
                       Tema 2.


                        Sistemas Operativos (IS11) – Tema 2                1




Concepto de Proceso.

• Una definición sencilla:                Programa en ejecución.
           Entidad pasiva              Entidad activa
            Programa
                                     Proceso
                                      Pila           Otros recursos
             RECURSOS         +                      Ficheros abto.
              CPU                                    Disponible E/S, etc
              Memoria                 Datos
              Ficheros                Código      PC
              Dispositivos

   – El programa necesita una serie de recursos para su ejecución:
      • Tiempo de la CPU.
      • Memoria.
           – Con el contenido del programa.
           – Pila para datos temporales.
           – Sección de datos con variables globales.
       • Acceso a archivos y dispositivos E/S.
                        Sistemas Operativos (IS11) – Tema 2                2
Concepto de Proceso.

• Para entender mejor el concepto de proceso:
   – Los procesos tienen un carácter secuencial:
           – Un proceso en su ejecución puede generar más de un
             proceso (llamada fork).
           – Dos procesos pueden asociarse al mismo programa.
• Proceso: Unidad de trabajo del sistema.
   – En general, habrá más de un proceso ejecutándose
     concurrentemente.
• Procesos de usuario y procesos del sistema.
• El sistema operativo se encargará de:
   – La creación y eliminación de procesos.
   – La planificación de procesos.
   – La sincronización, comunicación y manejo de bloqueos mutuos
     entre procesos.
                     Sistemas Operativos (IS11) – Tema 2              3




Estado de un proceso.

• El estado de un proceso:
   – Relacionado con su actividad del proceso en un cierto momento.
   – Al ejecutarse irá cambiando de estado.
• Posibles estados de un proceso:
   – En ejecución: Está usando el procesador.
   – Bloqueado: No puede hacer nada porque está espera un evento
     externo (esperando la conclusión de E/S).
   – Listo: Está en memoria esperando turno para ejecutarse en la
     CPU (espera asignación del procesador).




                     Sistemas Operativos (IS11) – Tema 2              4
Estado de un proceso.

• Diagrama de transición de estados:
   – 1.- Pasa a esperar un suceso
                                                                            Proceso
         (E/S) y se bloquea.                         En ejecución
                                                                            Finalizado
   – 2.- Expulsión de proceso
                                              1                      2       Proceso
         de la CPU                                              3            Nuevo
   – 3.- El planificador elige
                                           Bloqueado
         otro proceso.                                              Listo
                                                               4
   – 4.- El suceso (E/S) que
         esperaba el proceso acaba.

• En un instante: sólo un proceso en ejecución, los demás
  estarán listos o en espera.

                        Sistemas Operativos (IS11) – Tema 2                         5




 Bloque de control del proceso (PCB)
 • En el S.O.:
     – Un proceso se representa por: Un Bloque de Control del
       Proceso (PCB, Process Control Block).
 • Es un conjunto de registros que almacena información
   sobre el proceso:
     – Estado del proceso: Nuevo, Listo, en Ejecución, Bloqueado.
     – Contador del programa: Dirección siguiente instrucción a ejecutar.
     – Registros de la CPU: Contenidos al final de la ultima ejecución
       (contador de programa, puntero a pila, registros de datos, etc.).
     – Información planificación CPU: prioridad, apuntadores a las colas,
       algoritmo usado.
     – Información contable y de identificación: Número de proceso,
       tiempo real y de CPU utilizado.
     – Información estado E/S: Solicitudes E/S pendientes, lista archivos
       abiertos, etc.
                        Sistemas Operativos (IS11) – Tema 2                         6
Bloque de control del proceso (PCB)

• Se utiliza para poder ejecutar procesos concurrentes:
  hay un cambio de contexto (se produce una interrupción
  que debe atender el sistema operativo)




                     Sistemas Operativos (IS11) – Tema 2             7




  Concepto de hilo de ejecución: thread.
• 1) Varios procesos pueden cooperar para resolver una
  misma tarea. Tendremos ejecución concurrente entre
  procesos comunicados por memoria
• 2) Un programa podría realizar actividades concurrentes
  (paralelismo dentro del proceso). Tendremos: Ejecución
  concurrente de varios “hilos” dentro de un proceso.

• Cada hilo, thread o proceso ligero tiene su propio:
   – Contador de programa, pila, registros y estado del proceso ligero
• Los procesos ligeros de un mismo proceso comparten la
  información del proceso:
   – Espacio de memoria, Variables globales, Archivos abiertos,
     Procesos hijos, Temporizadores, Señales y semáforos,
     Contabilidad

                     Sistemas Operativos (IS11) – Tema 2             8
Concepto de planificación.
• Si hay dos procesos listos para ejecución ...
              – ¿ Cual se ejecutará primero?
• El planificador (scheduler) del sistema operativo decide
  cual.
• El planificador utiliza Algoritmo de planificación.
• Un ejemplo de planificación de procesos: P0 y P1 listos
                          Rafaga                 Rafaga                  Rafaga                  Rafaga
                          CPU.                   CPU.                    CPU.                    CPU.
        Proceso P0
                       Inicio        Inactivo,               Inactivo,               Inactivo,               Fin
                                     E/S                     E/S                     E/S

                          Rafaga                 Rafaga                   Rafaga                 Rafaga
                          CPU.                   CPU.                     CPU.                   CPU.
        Proceso P1
                       Inicio        Inactivo,               Inactivo,               Inactivo,               Fin
                                     E/S                     E/S                     E/S



                                Sistemas Operativos (IS11) – Tema 2                                                                   9




Concepto de planificación.
• Una manera sencilla de planificación, sin
  multiprogramación.         Rafaga    Rafaga
                                                             CPU.                    CPU.
                                     Proceso P
                                              0
                                                        Inicio           Inactivo,             Fin
                                                                         E/S
                                                                                                 Rafaga                    Rafaga
                                                                                                 CPU.                      CPU.
                                     Proceso P
                                              1
                                                             En espera                        Inicio           Inactivo,            Fin
                                                                                                               E/S
• Planificación con multiprogramación.
                          Rafaga               Rafaga                 Rafaga               Rafaga
                          CPU.                 CPU.                   CPU.                 CPU.
         Proceso P 0
                       Inicio       Inactivo               Inactivo            Inactivo                Fin
                                    E/S                    E/S                 E/S

                                     Rafaga                Rafaga                 Rafaga               Rafaga
                                     CPU.                  CPU.                   CPU.                 CPU.
         Proceso P 1
                       Inicio                  Inactivo,              Inactivo,            Inactivo,           Fin
                                               E/S                    E/S                  E/S



                                Sistemas Operativos (IS11) – Tema 2                                                                  10
Concepto de planificación.

• Colas de planificación:
   – El S.O. usa una serie de colas para planificar los recursos
     (Memoria, E/S, CPU etc.).
      • Cola de trabajos:
            – Procesos en almacenamiento secundario esperando memoria
              principal.
       • Cola de procesos listos:
            – Procesos en memoria principal, listo y esperando su
              ejecución (una lista ligada).
       • Cola de dispositivos:
            – Para cada dispositivo (disco, impresora, etc.) hay una cola de
              procesos esperando utilizarlo.




                              Sistemas Operativos (IS11) – Tema 2               11




Concepto de planificación.

• Se usan los PCB como elementos de las colas:
                                          PCB 7             PCB 2
           Cola de           Inicio
           procesos listos    Fin        Registros      Registros
                                         ...




                                                            ...




                                          PCB 3        PCB 4         PCB 6
             Unidad 0        Inicio
             de disco
                              Fin       Registros    Registros      Registros
                                         ...



                                                      ...



                                                                     ...




                                          PCB 5
            Unidad 0         Inicio
            de terminal
                              Fin       Registros
                                         ...




• ¿Puede haber un mismo PCB en más de una cola?

                              Sistemas Operativos (IS11) – Tema 2               12
Concepto de planificación.

• Un proceso cambia de cola a lo largo de su ejecución.

• Planificador:
   – Elemento del sistema operativo que selecciona procesos en esas
     colas.
• En lo que a ejecución de procesos respecta:
   – Planificador a largo plazo (planificador de trabajos).
   – Planificador a corto plazo (planificador de la CPU).




                     Sistemas Operativos (IS11) – Tema 2              13




Concepto de planificación.

• Planificador de trabajos:
   – Necesidad:
      • Si hay muchos procesos ... algunos en almacenamiento
         secundario.
   – Cometido:
      • Se encarga del intercambio entre memoria y
         almacenamiento secundario. Controla el número de
         procesos en memoria (grado de multiprogramación).
   – Frecuencia:
      • Se ejecuta con menor frecuencia que el planificador CPU
         (cuando termina un proceso, etc.) ... puede ser más lento
   – Eficiencia:
      • Buena mezcla en memoria entre procesos limitados por la
         CPU y por E/S


                     Sistemas Operativos (IS11) – Tema 2              14
Concepto de planificación.
• Ejecución de un proceso: Ciclo de ráfagas CPU y E/S:
   – En la ejecución de un proceso se alternan la ejecución en CPU
     y la espera de E/S.
       • Ráfaga CPU: Tiempo de ejecución en CPU entre dos E/S.
       • Ráfaga E/S: Tiempo entre solicitud y terminación de E/S.
• Ejemplo gráfico de ejecución de proceso:




                    Sistemas Operativos (IS11) – Tema 2              15




Concepto de planificación.

• Histograma típico de duración de ráfagas de CPU:




• Un proceso limitado por la E/S:
       • Predomina la duración de ráfagas de E/S, (normalmente,
         muchas ráfagas de CPU breves).
• Un proceso limitado por la CPU:
       • Predomina la duración de ráfagas de CPU, (normalmente,
         pocas ráfagas de CPU de larga duración).

                    Sistemas Operativos (IS11) – Tema 2              16
Concepto de planificación.

• Planificador de la CPU: (planificador a corto plazo)
   – Cometido: Selecciona un proceso listo y le asigna CPU, reparte el
     tiempo de CPU entre procesos.
   – Frecuencia: Mayor que la del planificador de trabajos ... debe ser más
     rápido.
• Pueden efectuarse decisiones de planificación de la CPU:
      1.- Proceso cambia de estado de ejecución a bloqueado (E/S).
      2.- Cuando termina un proceso.
      3.- Proceso cambia de estado de ejecución a listo (interrupción).
      4.- Un proceso cambia de estado bloqueado a listo (acaba E/S).
• En 1 y 2 se debe seleccionar un nuevo proceso para
  ejecución.
• En 3 y 4 puede o no hacerse:
   – Sí: Esquema de planificación expulsiva o apropiativa.
   – No: Esquema de planificación hasta terminación (no apropiativo).
                       Sistemas Operativos (IS11) – Tema 2                17




 Concepto de planificación.

• Cambio de contexto (cambio de proceso):
    – Cambio del proceso en ejecución.
    – Requiere:
        • Guardar el estado del proceso que se estaba ejecutando
          (PCB).
        • Cargar el estado (PCB) guardado para el nuevo proceso que
          se ejecutará.
    – Su duración es un “gasto de tiempo” (típica de 1-100 microsg)
      y depende de:
        • La velocidad de la memoria.
        • El número de registros.
        • Existencia de instrucciones especiales (una sola instrucción
          para cargar o almacenar todos los registros), Etc.

                       Sistemas Operativos (IS11) – Tema 2                18
Algoritmos de planificación.

• Algoritmo de planificación:
   – Decide el proceso de la cola de procesos listos al que se le
     asigna CPU.
• Criterios para comparar algoritmos de planificación:
   – Equidad: procesos usan la CPU de forma equitativa.
   – Eficiencia (utilización de la CPU): 100% uso.
   – Tiempo de retorno (o de trabajo global): tiempo que tarda en
     ejecutarse un proceso concreto.
   – Tiempo de respuesta: minimizar el tiempo de respuesta para
     usuarios interactivos.
   – Tiempo de espera: tiempo que un proceso espera en la cola de
     procesos listos.
   – Rendimiento (productividad): número de trabajos procesados
     por unidad de tiempo.


                     Sistemas Operativos (IS11) – Tema 2            19




 Algoritmos de planificación.

• Objetivos:
   – Maximizar eficiencia y rendimiento.
   – Minimizar tiempo de retorno, espera y respuesta.
• Se pueden intentar optimizar los valores promedio,
  máximos o mínimos.
• Para que todos los usuarios buen servicio podemos
  minimizar el tiempo de respuesta.


• En los algoritmos que veremos calcularemos el tiempo
  promedio de espera.


                     Sistemas Operativos (IS11) – Tema 2            20
Orden de llegada (FCFS).

• FCFS (first-come, first-served):
   – El primer proceso que entró en la cola de procesos listos es el
     primero al que se le asigna CPU.
   – Se implementa con una cola FIFO.
• El tiempo promedio de espera suele ser bastante largo:
   – Ejemplo (efecto convoy):
       •   Un proceso A, limitado por CPU, se ejecuta y retiene la CPU.
       •   Los demás acabarán su E/S y pasan a la cola de listos.
       •   Cuando acaban, entra A y retiene de nuevo la CPU.
       •   Todos vuelven a esperar otra vez (ráfagas cortas CPU).
• Es un algoritmo del tipo ejecución hasta terminación.


                       Sistemas Operativos (IS11) – Tema 2                21




 Orden de llegada (FCFS).

• Ejemplo de cálculo de tiempos promedio(en msg):
                                         Gráfica de Gantt



                                                    ( 0 24 27)
                                             TP                  17
                                                         3




                                                     ( 0 3 6)
                                               TP                3
                                                         3



• Tp se reduce (variable con orden llegada).
                       Sistemas Operativos (IS11) – Tema 2                22
Primero el trabajo más corto (SJF).

• SJF (shortest-job-first):
   – Se asocia a cada proceso la longitud de su siguiente ráfaga de
     CPU.
   – Si CPU disponible se le asigna al proceso de menor longitud de
     ráfaga. Si hay dos con igual longitud de ráfaga se usa FCFS.
• Ejemplo:




                                              (0 3 9 16)
                                         TP                            7
                                                  4




                     Sistemas Operativos (IS11) – Tema 2                                             23




Primero el trabajo más corto (SJF).

• Es óptimo con el criterio del tiempo promedio de
  espera. Se usa frecuentemente.
• Problema:
   – ¿Como conocer la longitud de la siguiente ráfaga de CPU?
      • Se intenta predecir longitud de siguiente ráfaga de CPU:
           – Un método sencillo: el valor de la última ráfaga de CPU.
           – Como Promedio exponencial de ráfagas anteriores:


                                               Tn   1        tn   (1   ) Tn
                                                        Tn   Valor previsto para nesima rafaga CPU
                                                        tn   Valor nesima rafaga CPU
                                                        0       1




                     Sistemas Operativos (IS11) – Tema 2                                             24
Primero el trabajo más corto (SJF).

• La planificación SJF puede ser hasta terminación o
  expulsiva:
   – … Llega un proceso A a la cola p.l. con menor ráfaga CPU que
     tiempo de ejecución de ráfaga le queda a B, proceso en
     ejecución.
       • Si se ejecuta A: planificación expulsiva.
       • Si continua ejecución B: planificación hasta terminación.




                    Sistemas Operativos (IS11) – Tema 2                                      25




Primero el trabajo más corto (SJF).

• Ejemplo de planificación SJF expulsiva:




                                    (0 (10 1)) P1 0 P 2       (17 2) P 3   (5 3) P 4
                               TP                                                      6,5
                                                          4




                    Sistemas Operativos (IS11) – Tema 2                                      26
Prioridades generales.

• Se asigna una prioridad a cada proceso:
   – El de menor prioridad se ejecuta en CPU (si hay dos de igual
     prioridad FCFS).
       • SJF es un caso particular: p=1/T.
       • Se asigna números a la prioridad.
• Ejemplo:
           Duración
 Proceso   Ráfaga CPU   Prioridad

   P1        10            3

   P2         1            1
                                    P2      P5                 P1        P3    P4
   P3         2            3
                                    0 1             6               16        18 19
   P4         1            4

   P5         5            2




                         Sistemas Operativos (IS11) – Tema 2                        27




Prioridades generales.

• Las prioridades pueden definirse:
   – Factores externos al sistema: Importancia del proceso, del
     usuario, etc.
   – Factores internos al sistema: Requisitos de memoria, límites
     de tiempo, número de archivos abiertos, etc.
• La planificación puede ser hasta terminación o
  expulsiva.
• Problema: Bloqueo indefinido o inanición.
   – Un proceso con muy baja prioridad puede llegar a no ejecutarse
     nunca.
   – Solución: Envejecimiento.
      • Se aumenta la prioridad al aumentar el tiempo de espera en
        la cola de procesos listos.


                         Sistemas Operativos (IS11) – Tema 2                        28
Prioridades generales.

•    Ejemplo prioridades planif. expulsiva y envejecimiento:




                        Sistemas Operativos (IS11) – Tema 2               29




    Turno rotativo (Round Robin).

• Turno rotativo (RR, Round Robin):
      – La cola de procesos es circular (a nivel práctico se implementa
        con una FIFO).
      – El planificador la recorre y asigna un tiempo máximo de CPU
        (Q cuanto de tiempo) a cada proceso .
• Un proceso puede abandonar la CPU:
      – Libremente, si ráfaga de CPU < Q.
      – Después de una interrupción, si ráfaga de CPU > Q.
• Características:
      – Esquema de planificación expulsiva.
      – Si hay n procesos en cola, tiempo espera máximo entre dos
        ejecuciones (n-1)·Q.
      – Tiempo promedio de espera bastante grande.
      – Diseñado para sistemas de tiempo compartido (equidad).


                        Sistemas Operativos (IS11) – Tema 2               30
Turno rotativo (Round Robin).

• Ejemplo:

                                                                ( 0 4 7 (10 4))
                                                           TP                     5,66
                                                                       3




• Rendimiento: Depende del tamaño del cuanto.
   – Si Q>> se convierte en FCFS.
   – Si Q<< se reparte el tiempo equitativamente (efecto cambio
     contexto: ineficiencia).
   – 80% ráfaga menores que Q.


                     Sistemas Operativos (IS11) – Tema 2                                 31




 Colas multinivel con y sin realimentación.
• Los procesos pueden clasificarse en grupos:
   – Primer plano (interactivos).
   – Segundo plano (por lotes).
• Podemos usar colas distintas:
   – Una para cada grupo, con prioridades distintas y algoritmos de
     planificación distintos.
   – Ejemplo: RR para primer plano, FCFS para segundo plano.
• Cada nuevo proceso se incluirá en una cola y
  permanecerá en ella.
• Debe existir una planificación entre las colas.
   – Ejemplo:
      • Prioridad absoluta de la cola de primer plano sobre la de
        segundo.
      • Reparto de la CPU: 80 % primer plano, 20% segundo
        plano.

                     Sistemas Operativos (IS11) – Tema 2                                 32
Colas multinivel con y sin realimentación.

• Ejemplo:




                    Sistemas Operativos (IS11) – Tema 2              33




 Colas multinivel con y sin realimentación.

• Planificación de colas múltiples con realimentación:
   – Además de incluir varias colas podemos permitir que los
     procesos cambien de cola.
   – Se puede, por ejemplo:
       • Ir cambiando a los procesos interactivos o de ráfagas de
         CPU cortas a colas de mayor prioridad.
       • Cambiar los procesos de ráfagas CPU largas a las colas de
         menor prioridad.
       • Si un proceso espera demasiado en una cola se puede
         mover a otra de mayor prioridad (envejecimiento, bloqueo
         indefinido).



                    Sistemas Operativos (IS11) – Tema 2              34
Colas multinivel con y sin realimentación.
• Ejemplo:




• El planificador:
   – Ejecuta primero los procesos cola 0, si vacía cola 1, si vacía cola 2.
   – Proceso nuevo se coloca en cola 0.
   – Si la duración de ráfaga de un proceso de la cola 0 es mayor que
     Q=8, se pasa a cola 1.
   – Si la duración de ráfaga de un proceso de cola 1 es mayor que
     Q=24, se pasa a cola 2.

                       Sistemas Operativos (IS11) – Tema 2               35




  Colas multinivel con y sin realimentación.

 • Para definir un planificador de colas múltiples con
   realimentación necesitamos:
    – El número de colas.
    – El algoritmo de planificación para cada cola.
    – El método para saber cuando cambiar un proceso a otra cola de
      mayor o menor prioridad.
    – El método para determinar a que cola entra un proceso nuevo.




                       Sistemas Operativos (IS11) – Tema 2               36
Planificación de varias CPUs.
• El problema de planificación es más complejo.
• Según el tipo de procesadores:
   – Distintos (sistema heterogéneo):
      • Cada procesador tiene su propia cola y algoritmo de
         planificación.
   – Idénticos (sistema homogéneo): Pueden compartir cargas.
       • Una cola distinta para cada procesador:
            – Unas más llenas que otras?.
       • Una cola común:
            – Cada procesador se planifica a sí mismo
              (multiprocesamiento simétrico):
                 • Mira la cola común y selecciona un proceso.
                 • Problemas: Todos accediendo a la misma cola.
            – Un procesador planifica a los demás (multiprocesamiento
              asimétrico).

                      Sistemas Operativos (IS11) – Tema 2               37




 Evaluación de Algoritmos.
• ¿Cómo seleccionar un algoritmo en un sistema?
   – Decidir un criterio o criterios a utilizar.
• Varios métodos de evaluación:
   – Evaluación analítica:
      • Obtención de una fórmula o un número que evalúe el
        rendimiento.
      • A partir de:
            – El criterio.
            – El algoritmo.
            – La carga de trabajo del sistema.
       • Modelado determinista:
            – Se tome un carga de trabajo determinada.
       • Modelado de colas:
            – Se usa una distribución de ráfagas de CPU y E/S.
            – Se usa otra de tiempos de llegada de procesos.
   – Simulaciones.

                      Sistemas Operativos (IS11) – Tema 2               38

Más contenido relacionado

PPTX
Procesos Planificacion de los Sistemas Operativos
PPTX
Estructura jerarquica de un sistema operativo
DOCX
Unidad 2 concepto de Programa,Proceso y Procesador
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PPTX
Funciones de administracion de memoria
PPTX
Capas de la ingenieria de software
PPTX
Procesos e Hilos en los Sistemas Operativos
DOCX
Mapa conceptual sobre
Procesos Planificacion de los Sistemas Operativos
Estructura jerarquica de un sistema operativo
Unidad 2 concepto de Programa,Proceso y Procesador
Taller de Base de Datos - Unidad 7 Conectividad
Funciones de administracion de memoria
Capas de la ingenieria de software
Procesos e Hilos en los Sistemas Operativos
Mapa conceptual sobre

La actualidad más candente (20)

DOCX
Unidad 6 Protección y seguridad.
PPTX
Coordinacion Y Sincronizacion De Procesos
PPTX
Administración de procesos y del procesador
DOCX
Cuadro comparativo
PPTX
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
DOCX
cuadro comparativo jerarquico vs democratico
DOCX
Metodología orientadas a objetos
DOCX
Componentes y evolucion del modelado de negocios(investigacion)
PPTX
Fundamentos de ingenieria del software (2)
PPTX
Gestion Procesos, Sistemas Operativos
PPTX
Procesos Ligeros: Hilos o Hebras
 
PPTX
Modelos de arquitecturas de computadoras
PPTX
Sistemas operativos procesos
PPTX
Taller de Base de datos - Unidad 1 SGBD introduccion
PPTX
Sistemas Operativos Gestión de memoria
PPTX
Analizador Sintáctico
PDF
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
DOCX
Estándares para el Modelado de Procesos de Negocios
PPTX
Algoritmos de gestión de memoria
Unidad 6 Protección y seguridad.
Coordinacion Y Sincronizacion De Procesos
Administración de procesos y del procesador
Cuadro comparativo
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
cuadro comparativo jerarquico vs democratico
Metodología orientadas a objetos
Componentes y evolucion del modelado de negocios(investigacion)
Fundamentos de ingenieria del software (2)
Gestion Procesos, Sistemas Operativos
Procesos Ligeros: Hilos o Hebras
 
Modelos de arquitecturas de computadoras
Sistemas operativos procesos
Taller de Base de datos - Unidad 1 SGBD introduccion
Sistemas Operativos Gestión de memoria
Analizador Sintáctico
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Estándares para el Modelado de Procesos de Negocios
Algoritmos de gestión de memoria
Publicidad

Destacado (20)

PPTX
Administración de procesos en el S.O.
PPT
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
PPTX
Sistemas Operativos Gestion de procesos
PPT
Operaciones Sobre Procesos
PDF
Introduccion a la administracion de los procesos y el procesador (S.O)
PPTX
3 estructura de un sistema operativo
PPT
Bloque de control de procesos
PPSX
Estructura de los sistemas operativos
PPTX
Algoritmos de planificación de procesos en sistemas operativos
PPTX
Administración de Memoria - Sistemas Operativos
PPTX
Estructura de un sistema operativo
DOCX
Planificación de Procesos en Sistemas Operativos
PPTX
Tipos de usuario en una Base de Datos
DOCX
UNIDAD II ADMINISTRADOR DE PROCESADOR
PPT
Introducción a los Sistemas Operativos
PPTX
So 2da unidad
PDF
Linux ud7 - gestion de procesos
PPTX
Dispositivos móviles
PDF
Unidad 3 gestion de procesos en linux
DOCX
Concepto De Sistema Operativo.
Administración de procesos en el S.O.
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
Sistemas Operativos Gestion de procesos
Operaciones Sobre Procesos
Introduccion a la administracion de los procesos y el procesador (S.O)
3 estructura de un sistema operativo
Bloque de control de procesos
Estructura de los sistemas operativos
Algoritmos de planificación de procesos en sistemas operativos
Administración de Memoria - Sistemas Operativos
Estructura de un sistema operativo
Planificación de Procesos en Sistemas Operativos
Tipos de usuario en una Base de Datos
UNIDAD II ADMINISTRADOR DE PROCESADOR
Introducción a los Sistemas Operativos
So 2da unidad
Linux ud7 - gestion de procesos
Dispositivos móviles
Unidad 3 gestion de procesos en linux
Concepto De Sistema Operativo.
Publicidad

Similar a Unidad 4: Procesos y Administracion del Procesador (20)

PDF
Sistemas operativos administracion cpu
PPSX
Introducción a los procesos alfa ii
PDF
C2 administracion procesador_ss00_mododecompatibilidad_
PDF
Sistemas emdebido y sus procesos de funcionamiento.pdf
PDF
Capitulo 4 grupo 2
PPTX
Dionisio aburto ii parcial
PDF
Capitulo 4 grupo 4
PPTX
Procesos Introduccion a los sistemas operativos
PPSX
Procesos
PPT
Expo So
PPT
Sistema Operativos PNFI IUTM (2º Capitulo Procesos y Administracion del Proc...
PDF
Capitulo 4 grupo 1
PPTX
Portafolio 1
PPTX
Portafolio 1
DOCX
PPTX
Portafolio dionisio 2 dionisio
PPTX
Portafolio dionisio 2
Sistemas operativos administracion cpu
Introducción a los procesos alfa ii
C2 administracion procesador_ss00_mododecompatibilidad_
Sistemas emdebido y sus procesos de funcionamiento.pdf
Capitulo 4 grupo 2
Dionisio aburto ii parcial
Capitulo 4 grupo 4
Procesos Introduccion a los sistemas operativos
Procesos
Expo So
Sistema Operativos PNFI IUTM (2º Capitulo Procesos y Administracion del Proc...
Capitulo 4 grupo 1
Portafolio 1
Portafolio 1
Portafolio dionisio 2 dionisio
Portafolio dionisio 2

Más de UPTM (20)

DOCX
Actividad final per admin de bases de datos
DOCX
Definición de políticas
DOC
Actividad para la reflexión clase 4
DOCX
Material de apoyo clase 4 para el análisis de riesgo
PPTX
Clase 4 analisis de riesgos
PPTX
Clase 3 de cifrado
DOC
La soberanía y la independencia tecnológica
DOC
La soberanía y la explotación petrolera
DOC
La dimensión territorial de la soberanía
PDF
Material de Seguridad Fisica/Logica
DOC
Unidad 1 origen de la cultura
DOC
La educación como mecanismo de inclusión social
DOC
Contexto cultural en la venezuela actual
PPT
Clase 1
DOCX
Instalacion y configuracion de postgre sql
PPTX
Programacion Lineal
PPTX
Introduccion a la IO
PPTX
Clase 3 gestion entrada salida
DOCX
Seguridad de los sistemas operativos
PPTX
Clase 1
Actividad final per admin de bases de datos
Definición de políticas
Actividad para la reflexión clase 4
Material de apoyo clase 4 para el análisis de riesgo
Clase 4 analisis de riesgos
Clase 3 de cifrado
La soberanía y la independencia tecnológica
La soberanía y la explotación petrolera
La dimensión territorial de la soberanía
Material de Seguridad Fisica/Logica
Unidad 1 origen de la cultura
La educación como mecanismo de inclusión social
Contexto cultural en la venezuela actual
Clase 1
Instalacion y configuracion de postgre sql
Programacion Lineal
Introduccion a la IO
Clase 3 gestion entrada salida
Seguridad de los sistemas operativos
Clase 1

Unidad 4: Procesos y Administracion del Procesador

  • 1. Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Sistemas Operativos (IS11) – Tema 2 1 Concepto de Proceso. • Una definición sencilla: Programa en ejecución. Entidad pasiva Entidad activa Programa Proceso Pila Otros recursos RECURSOS + Ficheros abto. CPU Disponible E/S, etc Memoria Datos Ficheros Código PC Dispositivos – El programa necesita una serie de recursos para su ejecución: • Tiempo de la CPU. • Memoria. – Con el contenido del programa. – Pila para datos temporales. – Sección de datos con variables globales. • Acceso a archivos y dispositivos E/S. Sistemas Operativos (IS11) – Tema 2 2
  • 2. Concepto de Proceso. • Para entender mejor el concepto de proceso: – Los procesos tienen un carácter secuencial: – Un proceso en su ejecución puede generar más de un proceso (llamada fork). – Dos procesos pueden asociarse al mismo programa. • Proceso: Unidad de trabajo del sistema. – En general, habrá más de un proceso ejecutándose concurrentemente. • Procesos de usuario y procesos del sistema. • El sistema operativo se encargará de: – La creación y eliminación de procesos. – La planificación de procesos. – La sincronización, comunicación y manejo de bloqueos mutuos entre procesos. Sistemas Operativos (IS11) – Tema 2 3 Estado de un proceso. • El estado de un proceso: – Relacionado con su actividad del proceso en un cierto momento. – Al ejecutarse irá cambiando de estado. • Posibles estados de un proceso: – En ejecución: Está usando el procesador. – Bloqueado: No puede hacer nada porque está espera un evento externo (esperando la conclusión de E/S). – Listo: Está en memoria esperando turno para ejecutarse en la CPU (espera asignación del procesador). Sistemas Operativos (IS11) – Tema 2 4
  • 3. Estado de un proceso. • Diagrama de transición de estados: – 1.- Pasa a esperar un suceso Proceso (E/S) y se bloquea. En ejecución Finalizado – 2.- Expulsión de proceso 1 2 Proceso de la CPU 3 Nuevo – 3.- El planificador elige Bloqueado otro proceso. Listo 4 – 4.- El suceso (E/S) que esperaba el proceso acaba. • En un instante: sólo un proceso en ejecución, los demás estarán listos o en espera. Sistemas Operativos (IS11) – Tema 2 5 Bloque de control del proceso (PCB) • En el S.O.: – Un proceso se representa por: Un Bloque de Control del Proceso (PCB, Process Control Block). • Es un conjunto de registros que almacena información sobre el proceso: – Estado del proceso: Nuevo, Listo, en Ejecución, Bloqueado. – Contador del programa: Dirección siguiente instrucción a ejecutar. – Registros de la CPU: Contenidos al final de la ultima ejecución (contador de programa, puntero a pila, registros de datos, etc.). – Información planificación CPU: prioridad, apuntadores a las colas, algoritmo usado. – Información contable y de identificación: Número de proceso, tiempo real y de CPU utilizado. – Información estado E/S: Solicitudes E/S pendientes, lista archivos abiertos, etc. Sistemas Operativos (IS11) – Tema 2 6
  • 4. Bloque de control del proceso (PCB) • Se utiliza para poder ejecutar procesos concurrentes: hay un cambio de contexto (se produce una interrupción que debe atender el sistema operativo) Sistemas Operativos (IS11) – Tema 2 7 Concepto de hilo de ejecución: thread. • 1) Varios procesos pueden cooperar para resolver una misma tarea. Tendremos ejecución concurrente entre procesos comunicados por memoria • 2) Un programa podría realizar actividades concurrentes (paralelismo dentro del proceso). Tendremos: Ejecución concurrente de varios “hilos” dentro de un proceso. • Cada hilo, thread o proceso ligero tiene su propio: – Contador de programa, pila, registros y estado del proceso ligero • Los procesos ligeros de un mismo proceso comparten la información del proceso: – Espacio de memoria, Variables globales, Archivos abiertos, Procesos hijos, Temporizadores, Señales y semáforos, Contabilidad Sistemas Operativos (IS11) – Tema 2 8
  • 5. Concepto de planificación. • Si hay dos procesos listos para ejecución ... – ¿ Cual se ejecutará primero? • El planificador (scheduler) del sistema operativo decide cual. • El planificador utiliza Algoritmo de planificación. • Un ejemplo de planificación de procesos: P0 y P1 listos Rafaga Rafaga Rafaga Rafaga CPU. CPU. CPU. CPU. Proceso P0 Inicio Inactivo, Inactivo, Inactivo, Fin E/S E/S E/S Rafaga Rafaga Rafaga Rafaga CPU. CPU. CPU. CPU. Proceso P1 Inicio Inactivo, Inactivo, Inactivo, Fin E/S E/S E/S Sistemas Operativos (IS11) – Tema 2 9 Concepto de planificación. • Una manera sencilla de planificación, sin multiprogramación. Rafaga Rafaga CPU. CPU. Proceso P 0 Inicio Inactivo, Fin E/S Rafaga Rafaga CPU. CPU. Proceso P 1 En espera Inicio Inactivo, Fin E/S • Planificación con multiprogramación. Rafaga Rafaga Rafaga Rafaga CPU. CPU. CPU. CPU. Proceso P 0 Inicio Inactivo Inactivo Inactivo Fin E/S E/S E/S Rafaga Rafaga Rafaga Rafaga CPU. CPU. CPU. CPU. Proceso P 1 Inicio Inactivo, Inactivo, Inactivo, Fin E/S E/S E/S Sistemas Operativos (IS11) – Tema 2 10
  • 6. Concepto de planificación. • Colas de planificación: – El S.O. usa una serie de colas para planificar los recursos (Memoria, E/S, CPU etc.). • Cola de trabajos: – Procesos en almacenamiento secundario esperando memoria principal. • Cola de procesos listos: – Procesos en memoria principal, listo y esperando su ejecución (una lista ligada). • Cola de dispositivos: – Para cada dispositivo (disco, impresora, etc.) hay una cola de procesos esperando utilizarlo. Sistemas Operativos (IS11) – Tema 2 11 Concepto de planificación. • Se usan los PCB como elementos de las colas: PCB 7 PCB 2 Cola de Inicio procesos listos Fin Registros Registros ... ... PCB 3 PCB 4 PCB 6 Unidad 0 Inicio de disco Fin Registros Registros Registros ... ... ... PCB 5 Unidad 0 Inicio de terminal Fin Registros ... • ¿Puede haber un mismo PCB en más de una cola? Sistemas Operativos (IS11) – Tema 2 12
  • 7. Concepto de planificación. • Un proceso cambia de cola a lo largo de su ejecución. • Planificador: – Elemento del sistema operativo que selecciona procesos en esas colas. • En lo que a ejecución de procesos respecta: – Planificador a largo plazo (planificador de trabajos). – Planificador a corto plazo (planificador de la CPU). Sistemas Operativos (IS11) – Tema 2 13 Concepto de planificación. • Planificador de trabajos: – Necesidad: • Si hay muchos procesos ... algunos en almacenamiento secundario. – Cometido: • Se encarga del intercambio entre memoria y almacenamiento secundario. Controla el número de procesos en memoria (grado de multiprogramación). – Frecuencia: • Se ejecuta con menor frecuencia que el planificador CPU (cuando termina un proceso, etc.) ... puede ser más lento – Eficiencia: • Buena mezcla en memoria entre procesos limitados por la CPU y por E/S Sistemas Operativos (IS11) – Tema 2 14
  • 8. Concepto de planificación. • Ejecución de un proceso: Ciclo de ráfagas CPU y E/S: – En la ejecución de un proceso se alternan la ejecución en CPU y la espera de E/S. • Ráfaga CPU: Tiempo de ejecución en CPU entre dos E/S. • Ráfaga E/S: Tiempo entre solicitud y terminación de E/S. • Ejemplo gráfico de ejecución de proceso: Sistemas Operativos (IS11) – Tema 2 15 Concepto de planificación. • Histograma típico de duración de ráfagas de CPU: • Un proceso limitado por la E/S: • Predomina la duración de ráfagas de E/S, (normalmente, muchas ráfagas de CPU breves). • Un proceso limitado por la CPU: • Predomina la duración de ráfagas de CPU, (normalmente, pocas ráfagas de CPU de larga duración). Sistemas Operativos (IS11) – Tema 2 16
  • 9. Concepto de planificación. • Planificador de la CPU: (planificador a corto plazo) – Cometido: Selecciona un proceso listo y le asigna CPU, reparte el tiempo de CPU entre procesos. – Frecuencia: Mayor que la del planificador de trabajos ... debe ser más rápido. • Pueden efectuarse decisiones de planificación de la CPU: 1.- Proceso cambia de estado de ejecución a bloqueado (E/S). 2.- Cuando termina un proceso. 3.- Proceso cambia de estado de ejecución a listo (interrupción). 4.- Un proceso cambia de estado bloqueado a listo (acaba E/S). • En 1 y 2 se debe seleccionar un nuevo proceso para ejecución. • En 3 y 4 puede o no hacerse: – Sí: Esquema de planificación expulsiva o apropiativa. – No: Esquema de planificación hasta terminación (no apropiativo). Sistemas Operativos (IS11) – Tema 2 17 Concepto de planificación. • Cambio de contexto (cambio de proceso): – Cambio del proceso en ejecución. – Requiere: • Guardar el estado del proceso que se estaba ejecutando (PCB). • Cargar el estado (PCB) guardado para el nuevo proceso que se ejecutará. – Su duración es un “gasto de tiempo” (típica de 1-100 microsg) y depende de: • La velocidad de la memoria. • El número de registros. • Existencia de instrucciones especiales (una sola instrucción para cargar o almacenar todos los registros), Etc. Sistemas Operativos (IS11) – Tema 2 18
  • 10. Algoritmos de planificación. • Algoritmo de planificación: – Decide el proceso de la cola de procesos listos al que se le asigna CPU. • Criterios para comparar algoritmos de planificación: – Equidad: procesos usan la CPU de forma equitativa. – Eficiencia (utilización de la CPU): 100% uso. – Tiempo de retorno (o de trabajo global): tiempo que tarda en ejecutarse un proceso concreto. – Tiempo de respuesta: minimizar el tiempo de respuesta para usuarios interactivos. – Tiempo de espera: tiempo que un proceso espera en la cola de procesos listos. – Rendimiento (productividad): número de trabajos procesados por unidad de tiempo. Sistemas Operativos (IS11) – Tema 2 19 Algoritmos de planificación. • Objetivos: – Maximizar eficiencia y rendimiento. – Minimizar tiempo de retorno, espera y respuesta. • Se pueden intentar optimizar los valores promedio, máximos o mínimos. • Para que todos los usuarios buen servicio podemos minimizar el tiempo de respuesta. • En los algoritmos que veremos calcularemos el tiempo promedio de espera. Sistemas Operativos (IS11) – Tema 2 20
  • 11. Orden de llegada (FCFS). • FCFS (first-come, first-served): – El primer proceso que entró en la cola de procesos listos es el primero al que se le asigna CPU. – Se implementa con una cola FIFO. • El tiempo promedio de espera suele ser bastante largo: – Ejemplo (efecto convoy): • Un proceso A, limitado por CPU, se ejecuta y retiene la CPU. • Los demás acabarán su E/S y pasan a la cola de listos. • Cuando acaban, entra A y retiene de nuevo la CPU. • Todos vuelven a esperar otra vez (ráfagas cortas CPU). • Es un algoritmo del tipo ejecución hasta terminación. Sistemas Operativos (IS11) – Tema 2 21 Orden de llegada (FCFS). • Ejemplo de cálculo de tiempos promedio(en msg): Gráfica de Gantt ( 0 24 27) TP 17 3 ( 0 3 6) TP 3 3 • Tp se reduce (variable con orden llegada). Sistemas Operativos (IS11) – Tema 2 22
  • 12. Primero el trabajo más corto (SJF). • SJF (shortest-job-first): – Se asocia a cada proceso la longitud de su siguiente ráfaga de CPU. – Si CPU disponible se le asigna al proceso de menor longitud de ráfaga. Si hay dos con igual longitud de ráfaga se usa FCFS. • Ejemplo: (0 3 9 16) TP 7 4 Sistemas Operativos (IS11) – Tema 2 23 Primero el trabajo más corto (SJF). • Es óptimo con el criterio del tiempo promedio de espera. Se usa frecuentemente. • Problema: – ¿Como conocer la longitud de la siguiente ráfaga de CPU? • Se intenta predecir longitud de siguiente ráfaga de CPU: – Un método sencillo: el valor de la última ráfaga de CPU. – Como Promedio exponencial de ráfagas anteriores: Tn 1 tn (1 ) Tn Tn Valor previsto para nesima rafaga CPU tn Valor nesima rafaga CPU 0 1 Sistemas Operativos (IS11) – Tema 2 24
  • 13. Primero el trabajo más corto (SJF). • La planificación SJF puede ser hasta terminación o expulsiva: – … Llega un proceso A a la cola p.l. con menor ráfaga CPU que tiempo de ejecución de ráfaga le queda a B, proceso en ejecución. • Si se ejecuta A: planificación expulsiva. • Si continua ejecución B: planificación hasta terminación. Sistemas Operativos (IS11) – Tema 2 25 Primero el trabajo más corto (SJF). • Ejemplo de planificación SJF expulsiva: (0 (10 1)) P1 0 P 2 (17 2) P 3 (5 3) P 4 TP 6,5 4 Sistemas Operativos (IS11) – Tema 2 26
  • 14. Prioridades generales. • Se asigna una prioridad a cada proceso: – El de menor prioridad se ejecuta en CPU (si hay dos de igual prioridad FCFS). • SJF es un caso particular: p=1/T. • Se asigna números a la prioridad. • Ejemplo: Duración Proceso Ráfaga CPU Prioridad P1 10 3 P2 1 1 P2 P5 P1 P3 P4 P3 2 3 0 1 6 16 18 19 P4 1 4 P5 5 2 Sistemas Operativos (IS11) – Tema 2 27 Prioridades generales. • Las prioridades pueden definirse: – Factores externos al sistema: Importancia del proceso, del usuario, etc. – Factores internos al sistema: Requisitos de memoria, límites de tiempo, número de archivos abiertos, etc. • La planificación puede ser hasta terminación o expulsiva. • Problema: Bloqueo indefinido o inanición. – Un proceso con muy baja prioridad puede llegar a no ejecutarse nunca. – Solución: Envejecimiento. • Se aumenta la prioridad al aumentar el tiempo de espera en la cola de procesos listos. Sistemas Operativos (IS11) – Tema 2 28
  • 15. Prioridades generales. • Ejemplo prioridades planif. expulsiva y envejecimiento: Sistemas Operativos (IS11) – Tema 2 29 Turno rotativo (Round Robin). • Turno rotativo (RR, Round Robin): – La cola de procesos es circular (a nivel práctico se implementa con una FIFO). – El planificador la recorre y asigna un tiempo máximo de CPU (Q cuanto de tiempo) a cada proceso . • Un proceso puede abandonar la CPU: – Libremente, si ráfaga de CPU < Q. – Después de una interrupción, si ráfaga de CPU > Q. • Características: – Esquema de planificación expulsiva. – Si hay n procesos en cola, tiempo espera máximo entre dos ejecuciones (n-1)·Q. – Tiempo promedio de espera bastante grande. – Diseñado para sistemas de tiempo compartido (equidad). Sistemas Operativos (IS11) – Tema 2 30
  • 16. Turno rotativo (Round Robin). • Ejemplo: ( 0 4 7 (10 4)) TP 5,66 3 • Rendimiento: Depende del tamaño del cuanto. – Si Q>> se convierte en FCFS. – Si Q<< se reparte el tiempo equitativamente (efecto cambio contexto: ineficiencia). – 80% ráfaga menores que Q. Sistemas Operativos (IS11) – Tema 2 31 Colas multinivel con y sin realimentación. • Los procesos pueden clasificarse en grupos: – Primer plano (interactivos). – Segundo plano (por lotes). • Podemos usar colas distintas: – Una para cada grupo, con prioridades distintas y algoritmos de planificación distintos. – Ejemplo: RR para primer plano, FCFS para segundo plano. • Cada nuevo proceso se incluirá en una cola y permanecerá en ella. • Debe existir una planificación entre las colas. – Ejemplo: • Prioridad absoluta de la cola de primer plano sobre la de segundo. • Reparto de la CPU: 80 % primer plano, 20% segundo plano. Sistemas Operativos (IS11) – Tema 2 32
  • 17. Colas multinivel con y sin realimentación. • Ejemplo: Sistemas Operativos (IS11) – Tema 2 33 Colas multinivel con y sin realimentación. • Planificación de colas múltiples con realimentación: – Además de incluir varias colas podemos permitir que los procesos cambien de cola. – Se puede, por ejemplo: • Ir cambiando a los procesos interactivos o de ráfagas de CPU cortas a colas de mayor prioridad. • Cambiar los procesos de ráfagas CPU largas a las colas de menor prioridad. • Si un proceso espera demasiado en una cola se puede mover a otra de mayor prioridad (envejecimiento, bloqueo indefinido). Sistemas Operativos (IS11) – Tema 2 34
  • 18. Colas multinivel con y sin realimentación. • Ejemplo: • El planificador: – Ejecuta primero los procesos cola 0, si vacía cola 1, si vacía cola 2. – Proceso nuevo se coloca en cola 0. – Si la duración de ráfaga de un proceso de la cola 0 es mayor que Q=8, se pasa a cola 1. – Si la duración de ráfaga de un proceso de cola 1 es mayor que Q=24, se pasa a cola 2. Sistemas Operativos (IS11) – Tema 2 35 Colas multinivel con y sin realimentación. • Para definir un planificador de colas múltiples con realimentación necesitamos: – El número de colas. – El algoritmo de planificación para cada cola. – El método para saber cuando cambiar un proceso a otra cola de mayor o menor prioridad. – El método para determinar a que cola entra un proceso nuevo. Sistemas Operativos (IS11) – Tema 2 36
  • 19. Planificación de varias CPUs. • El problema de planificación es más complejo. • Según el tipo de procesadores: – Distintos (sistema heterogéneo): • Cada procesador tiene su propia cola y algoritmo de planificación. – Idénticos (sistema homogéneo): Pueden compartir cargas. • Una cola distinta para cada procesador: – Unas más llenas que otras?. • Una cola común: – Cada procesador se planifica a sí mismo (multiprocesamiento simétrico): • Mira la cola común y selecciona un proceso. • Problemas: Todos accediendo a la misma cola. – Un procesador planifica a los demás (multiprocesamiento asimétrico). Sistemas Operativos (IS11) – Tema 2 37 Evaluación de Algoritmos. • ¿Cómo seleccionar un algoritmo en un sistema? – Decidir un criterio o criterios a utilizar. • Varios métodos de evaluación: – Evaluación analítica: • Obtención de una fórmula o un número que evalúe el rendimiento. • A partir de: – El criterio. – El algoritmo. – La carga de trabajo del sistema. • Modelado determinista: – Se tome un carga de trabajo determinada. • Modelado de colas: – Se usa una distribución de ráfagas de CPU y E/S. – Se usa otra de tiempos de llegada de procesos. – Simulaciones. Sistemas Operativos (IS11) – Tema 2 38