SlideShare una empresa de Scribd logo
1 de 37
PROCESOS E HILOS
  Juan Rafael Álvarez Correa
    jalvarez@debian.org




                               1
CAPITULOS

■   0 – Arquitectura del computador
■   1 – Introducción a los sistemas operativos
■   2 – Procesos e hilos
■   3 – Comunicación, concurrencia y bloqueos
■   4 – Gestión de memoria
■   5 – Entrada y salida
■   6 – Gestión de archivos y directorios
■   7 – Seguridad y protección
■   8 – Sistemas distribuidos
                                                 2
PROCESO
■   Programa en ejecución
       Espacio de direcciones (Direcciones contiguas)
         ➔   Acceso uniforme a recurso y control de acceso
       Instrucciones (programa)
         ➔   Define el comportamiento del programa
       Datos
         ➔   Variables estaticas y automaticas
       Recursos
         ➔   Se le asignan recursos CPU y memoria y se pueden
             solicitar explicitamente (archivos)
       Hilos
         ➔   Flujos de ejecución del programa                   3
HILO

■   Si el proceso solo tiene un hilo
       Es llamado un proceso clasico y su hilo es
        llamado hilo base
■   Si el proceso puede tener multiples hilos
       Es llamado un proceso moderno
       A cada hilo de un proceso moderno se le llama
        un proceso liviano
       Por cada hilo existe una pila diferente, pues
        cada hilo puede ejecutarse a su propio ritmo
       La unidad de planificación es el hilo o el proceso
        liviano y no el proceso moderno que lo contiene
                                                         4
MAQUINA ABSTRACTA

■   Simulación de una maquina real, mediante
    la multiplexación de memoria y CPU
       Procesos clasicos
         ➔   Una motor de ejecución para cada proceso clasico
       Procesos modernos
         ➔   Una motor de ejecución para cada proceso liviano
■   Interfaz de maquina abstracta
       Instrucciones de la CPU de usuario
       Llamadas al sistema


                                                                5
GESTION DE PROCESOS
■   Creación y terminación de hilos y procesos
■   Sincronización entre procesos/hilos
■   Reserva de recursos (solo CPU)
■   Cooperación con:
       Gestor de memoria
         ➔   Implementar espacio de direcciones
       Gestor de I/O
         ➔   Dispositivos con correlación a memoria
         ➔   Gestion de interrupciones
              -   Reloj para expropiar
              -   Dispositivos para cambios de estado en los procesos
                                                                        6
PROCESO HARDWARE Y TRAZA
■   Es el flujo simple de ejecución que realiza
    directamente la CPU
       BIOS
       Cargador (Etapa1 y Etapa2)
       Nucleo
         ➔   Gestor de procesos
         ➔   Gestor de memoria
         ➔   Gestor de dispositivos
         ➔   Gestor de archivos
       Proceso inicial (init -generalmente PID=0-)
         ➔   SYSV y BSD
                                                      7
CAMBIO DE CONTEXTO

■   Para multiplexar la CPU (proporcionar
    varias maquinas abstractas)
       Se debe conmutar entre procesos
        periodicamente
       La conmutación implica almacenar el estado del
        procesador, correspondiente al proceso ...
        actual (contexto) y ubicar el estado de otro
        proceso ... en el procesador
       ¿Como se logra esto?
         ➔   El reloj emite una interrupción a intervalos regulares
             para propiciar la invocación en el gestor de procesos
             del planificador: Componente responsable de
             seleccionar un nuevo proceso para ejecutar
                                                                      8
DESCRIPTOR DE PROCESO
■   Cuando el sistema operativo crea un
    proceso:
       Se crea un espacio de direcciones para el
        proceso
       Estructuras de datos del sistema operativo para
        representar el proceso ...
         ➔   Descriptor de proceso ...
■   Cuando se termina un proceso estas
    estructuras se eliminan
■   Anti-Ing de Software: El gestor de
    dispositivos accede directamente la
    estructura                                            9
DESCRIPTOR DE PROCESO
■   Identificador del proceso
■   Relaciones (padre, hijos)
■   Propietario
       Usuario dueño del proceso
■   Espacio de direcciones
       Comun a todos los hilos
■   Recursos
       Archivos abiertos
■   Referencias a los hilo(s)

                                      10
DESCRIPTOR DE HILO

■   Identificador del hilo
■   Relaciones
■   Estado
       El estado es diferente para cada hilo
■   Estadisticas de ejecución
■   Punteros de pila
       Cada hilo tiene una pila separada
■   Recursos especificos
■   Contexto
                                                11
CONTEXTO

■   Contexto
       Estado de la CPU
■   Cambio de contexto
       Almacenar y restaurar el contexto
■   Tipos
       Cambio de contexto en interrupciones
         ➔   Por hardware y llamadas al sistema
         ➔   Cambio entre modo usuario y modo nucleo
       Cambio de contexto entre procesos
         ➔   Cuando un nuevo proceso es planificado
                                                       12
MULTIHILO

■   ¿Cuando una aplicación debe estar
    programada con multiples hilos?
       ¿Existen en una misma aplicación operaciones
        que no dependan de otras operaciones?
         ➔   Imprimir un documento, procesar click de mouse
       ¿Existen pocos recursos que deban ser
        compartidos por los hilos?
       ¿Esta preparado para los problemas de
        concurrencia?
       ¿La aplicación puede ser dividida en varias
        responsabilidades?
                                                              13
HILOS A NIVEL DE USUARIO

■   Caracteristicas
       La abstracción de hilo la realiza la aplicación
       El nucleo desconoce la existencia de hilos
       El cambio de contexto se hace en la aplicación
       La planificación la realiza la aplicación
■   Desventajas
       Un hilo puede monopolizar el procesador
       La aplicación no usa la potencia de SMP
       El bloqueo de un hilo, bloquea todos los hilos

                                                          14
GESTORES DE RECURSOS
■   Recurso
       Componentes de la maquina abstracta que son
        necesarios para un proceso
       Cualquier cosa que potencialmente detiene un
        proceso de ejecución
■   Comportamiento comun de los diferentes
    componentes del sistema operativo
       Gestor de dispositivos (recurso = dispositivo)
       Gestor de memoria (recurso = memoria)
       Gestor de procesos (recurso = procesador)
       Gestor de archivos (recurso = archivo)
                                                         15
GESTORES DE RECURSO
■   Mecanismo
       Forma en la que se accede al gestor de recursos
        para la reserva o liberación de los mismos
         ➔   Funciones envolventes
         ➔   ABI para la invocación de trap
         ➔   Interrupción de reloj + ISR
■   Politica
       Comportamiento especifico del gestor de
        recurso
         ➔   Implementación especifica en la reserva o liberación
         ➔   A quien se asigna? Cuando se asigna?
                                                                    16
GESTORES DE RECURSOS
■   Reserva de recursos
       El proceso liviano/proceso clasico (parte activa
        del proceso) es responsible de reservar
        explicitamente los recursos
         ➔   Recurso = no disponible, el proceso ... = “espera”
         ➔   Recurso = disponible, el proceso ... = continua
■   Tipos
       Recursos reutilizables
         ➔   Se pueden reservar y devolver (CPU, memoria)
       Recursos consumibles
         ➔   Una vez reservados no se devuelven (datos de
             entrada)                                             17
ESTADOS

■   Diagrama de estados
       Representa los diferentes estados en los que un
        hilo puede estar
       Las transiciones posibles de un estado a otro en
        el sistema operativo




                                                       18
MODELO DE 3 ESTADOS


                    Solicitud



    Hecho     En ejecución



        Solicitud              Ceder
                        Planifica


Bloqueado                              Listo   Inicio




                                                        19
MODELO DE 5 ESTADOS
■   Modelo que permite el control de un hilo
    por parte de otro hilo (controlador)
■   Se introducen los estados *suspendidos
    para reflejar la no autorización por parte del
    controlador




                                                 20
PLANIFICADOR
■   Parte del gestor de procesos que se
    encarga de multiplexar la CPU en el tiempo
■   Cuando puede ser invocado
       Un hilo completa su función
         ➔   exit
       Solicitud de un recurso no disponible
         ➔   read (de un socket al cual no llegan datos aun)
       Abandono voluntario de la CPU
         ➔   pthread_yield o sched_yield
       Desalojo involuntario de la CPU
         ➔   ISR de la interrupción de reloj (PIT)
                                                               21
PARTES DEL PLANIFICADOR
■   Encolador
       Ubica en la lista de listos un hilo que ha sido
        desalojado del procesador.
■   Conmutador de contexto
       Almacena el contexto del hilo a ser desalojado
        en el descriptor del hilo
■   Despachador o distribuidor
       Selecciona un hilo de la lista de listos para ser
        ejecutado
       Restaura en el procesador el contexto
        almacenado en el descriptor del hilo
        seleccionado                                        22
CAMBIO DE CONTEXTO

■   Si el procesador no soporta conjuntos de
    registros, hay cambios de contexto ...
       Cuando ocurre una interrupción
       Cuando el procesador conmuta de un proceso a
        otro
■   Si el procesador soporta conjuntos de
    registros, se asignan conjuntos diferentes a
    modo 0 y 1, y hay cambios de contexto ...
       Cuando el procesador conmuta de un proceso a
        otro

                                                   23
CAMBIO DE CONTEXTO
■   Costo de cambio de contexto (sin cache)
       rg registros generales
       re registros de estado
       i operaciones de almacenamiento por registro
       t ciclos de reloj para almacenar en memoria
       (rg + re) i * c
■   Ejemplo
       (32 + 8) 1 * 100c = 4000c * 2 = 8000c



                                                       24
CONCEPTOS DE PLANIFICACIÓN

■   Prioridad
       Orden segun el cual un hilo puede ser puesto en
        ejecución estando en estado de listo
■   Franja de tiempo (cuanto de tiempo)
       Cantidad de tiempo entre interrupciones del
        temporizador
■   Inaniciación
       Situación en la que un hilo puede no planificarse
        debido a caracteristicas de la politica


                                                        25
MODELO DE PLANIFICACIÓN
■   S(Hi)={ejecución, listo, bloqueado}
■   Tiempo de servicio: Ts(Hi)
       Tiempo transcurrido total de un hilo en estado
        de ejecución
       Cantidad de tiempo que el hilo ha consumido de
        la CPU para completar su tarea
■   Tiempo de espera: Te(Hi)
       Tiempo transcurrido entre la primera entrada al
        estado listo hasta antes de estar por primera
        vez en ejecución
       Tiempo que se demora un proceso en recibir su
        primera unidad de servicio del procesador
                                                         26
MODELO DE PLANIFICACIÓN
■   Tiempo de vuelta: Tv(Hi)
       Tiempo transcurrido entre la primera entrada al
        estado listo hasta la salida definitiva del estado
        ejecución
       Tiempo total en completar la ejecución del hilo
        una vez esta listo para ejecutarse
■   Variables a optimizar
       En sistemas de procesamiento por lotes se debe
        optimizar el tiempo medio de vuelta
       En sistemas de tiempo compartido se debe
        optimizar el “tiempo de espera” medio,
        interperpretado como el tiempo en estado listo.
                                                          27
MECANISMOS Y POLITICAS
■   Politica de planificación
       Cuando es el momento de desalojar el hilo del
        procesador
       Cual es el hilo elegible para ocupar el
        procesador
■   Mecanismo de planificación
       Como se determina el momento de multiplexar
        el procesador
         ➔   Entrega voluntaria (ceder) e involuntaria
             (interrupción periodica) del procesador
       Como se desalojara y asignara un hilo del
        procesador
         ➔   Detalles de la conmutación de contexto (SAVE_ALL)   28
MECANISMOS Y POLITICAS

■   Politicas
       No expropiativa
         ➔   Basado en la entrega voluntaria
       Expropiativa
         ➔   Basado en la entrega involuntaria
■   Mecanismos
       Entrega voluntaria de la CPU
         ➔   Instrucción ceder (sched_yield, pthread_yield)
       Entrega involuntaria de la CPU
         ➔   Interrupción periodica (Interrupción periodica)
                                                               29
POLITICAS DE PLANIFICACIÓN
■   Criterios utilizados para identificar los hilos
    a ser ejecutados
■   No expropiativas
       FCFS: First Come First Served (aka FIFO)
       SJB:    Shortest Job Next
       Planificación por prioridades
       Planificación por tiempo limite
■   Expropiativas
       RR:     Round Robin
       MFQ:    Multilevel Freedback Queue
       SRT:    Shortest Remaining Time               30
FCFS: FIRST COME FIRST SERVED
■   + prioridad = + viejo en la lista de listos
■   Implementación 1
         ➔   Encolador: Estampa tiempo de llegada
         ➔   Distribuidor: Selecciona hilo mas viejo
■   Implementación 2 (con estructura FIFO)
         ➔   Encolador: Ubica hilo en final de cola
         ➔   Distribuidor: Retira hilo de cabeza de la cola
■   Ventaja
       Facil de implementar
■   Desventaja
       No considera el Ts de un Hi                           31
SJN: SHORTEST JOB NEXT
■   + prioridad = – tiempo de servicio
■   Ventajas
       Minimiza Te
■   Desventajas
       Hi con Ts grande y muchos Hj con Ts pequeños,
        hay alta probabilidad de inanición de Hi
       ¿Como determinar el tiempo de servicio de
        forma anticipada?




                                                    32
PLANIFICACIÓN POR PRIORIDADES
■   + prioridad = asignada externamente
       Criterios arbitrarios
         ➔   Usuarios con mas privilegios
         ➔   Tareas mas criticas desde la perspectiva del usuario
■   Tipos de prioridad
       Estatica
         ➔   Solo se puede asignar al inicio del hilo
       Dinamica
         ➔   Puede cambiar durante la ejecución del hilo
         ➔   Combinada con SJN soluciona el problema de la
             inanicion, si mas prioridad si mas tiempo sin servicio.
                                                                    33
PLANIFICACIÓN X TIEMPO LIMITE
■   Debe garantizarse Tv < Tl (tiempo limite)
■   El hilo no se acepta en el estado de listo si
    el planificador no puede garantizar este
    tiempo limite
■   Sistemas de hard real time




                                                    34
EXPROPIATIVAS
■   Mas generales que las no expropiativas
       Politica no apropiativa = Politica apropiativa con
        franja de tiempo igual al tiempo de servicio del
        hilo actual
■   REVISAR ESTA TRANSPARENCIA




                                                         35
ROUND ROBIN
■   Distribución equitativa de tiempo entre
    todos los hilos que solicitan el procesador
■   Implementada generalmente con un cola
       Cuando un hilo es expropiado del procesador
        este va al final de la cola
       Cuando un hilo es creado este va al final de la
        cola
       Cuando un hilo debe ser seleccionado, se
        selecciona el que se encuentra al inicio de la
        cola



                                                          36
PRIORIDAD EXT + ROUND ROBIN
■   La prioridad externa se evalua primero
    como primer criterio de selección
■   Si la prioridad es la misma el criterio de
    selección es la posición en la cola




                                                 37

Más contenido relacionado

La actualidad más candente

Os presentation process
Os presentation processOs presentation process
Os presentation processNaseer Ahmad
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesosCariEli
 
Course 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleCourse 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleAhmed El-Arabawy
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: ThreadsAlexandre Duarte
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Javier Alvarez
 
Linux boot process – explained
Linux boot process – explainedLinux boot process – explained
Linux boot process – explainedLinuxConcept
 
Linux internal
Linux internalLinux internal
Linux internalmcganesh
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 
Todo sobre Sistemas Operativos
Todo sobre Sistemas OperativosTodo sobre Sistemas Operativos
Todo sobre Sistemas OperativosMarvin Romero
 
Estructura interna de un procesador
Estructura interna de un procesadorEstructura interna de un procesador
Estructura interna de un procesadorAlan EG
 
Docker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme PetazzoniDocker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme PetazzoniDocker, Inc.
 
Android CTS training
Android CTS trainingAndroid CTS training
Android CTS trainingjtbuaa
 
Operating system - Process and its concepts
Operating system - Process and its conceptsOperating system - Process and its concepts
Operating system - Process and its conceptsKaran Thakkar
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/CoreShay Cohen
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativosDaniel Vargas
 

La actualidad más candente (20)

Os presentation process
Os presentation processOs presentation process
Os presentation process
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesos
 
Course 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleCourse 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life Cycle
 
Linux kernel modules
Linux kernel modulesLinux kernel modules
Linux kernel modules
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 
Linux boot process – explained
Linux boot process – explainedLinux boot process – explained
Linux boot process – explained
 
Linux internal
Linux internalLinux internal
Linux internal
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Todo sobre Sistemas Operativos
Todo sobre Sistemas OperativosTodo sobre Sistemas Operativos
Todo sobre Sistemas Operativos
 
Estructura interna de un procesador
Estructura interna de un procesadorEstructura interna de un procesador
Estructura interna de un procesador
 
Docker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme PetazzoniDocker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme Petazzoni
 
Android CTS training
Android CTS trainingAndroid CTS training
Android CTS training
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Operating system - Process and its concepts
Operating system - Process and its conceptsOperating system - Process and its concepts
Operating system - Process and its concepts
 
Gestion de Entrada y Salida
Gestion de Entrada y SalidaGestion de Entrada y Salida
Gestion de Entrada y Salida
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
Os Threads
Os ThreadsOs Threads
Os Threads
 
Linux PV on HVM
Linux PV on HVMLinux PV on HVM
Linux PV on HVM
 

Similar a Curso de Sistemas Operativos - Unidad Procesos e Hilos

Curso Sistemas Operativos - Unidad Introducción a OS
Curso Sistemas Operativos - Unidad Introducción a OSCurso Sistemas Operativos - Unidad Introducción a OS
Curso Sistemas Operativos - Unidad Introducción a OSJuan Rafael Alvarez Correa
 
Funcionamiento del ordenador
Funcionamiento del ordenadorFuncionamiento del ordenador
Funcionamiento del ordenadorGuillem Esteve
 
Organizacion del computador
Organizacion del computadorOrganizacion del computador
Organizacion del computadorviviana111
 
Administración y Comando Básicos
Administración y Comando BásicosAdministración y Comando Básicos
Administración y Comando BásicosAbrilRojasMedina
 
so-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptxso-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptxJoseMiguelCarballo1
 
Tema 3. Arquitectura y diseño de seguridad
Tema 3. Arquitectura y diseño de seguridadTema 3. Arquitectura y diseño de seguridad
Tema 3. Arquitectura y diseño de seguridadFrancisco Medina
 
Sistemas operativos software
Sistemas operativos softwareSistemas operativos software
Sistemas operativos softwareJohan Guerra
 
SEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxSEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxBRIANJEFFERSONGUILLE
 
Estructura de los Sistemas Operativos
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas OperativosG Hoyos A
 
Traduccion
TraduccionTraduccion
Traduccionmela666
 

Similar a Curso de Sistemas Operativos - Unidad Procesos e Hilos (20)

Curso Sistemas Operativos - Unidad Introducción a OS
Curso Sistemas Operativos - Unidad Introducción a OSCurso Sistemas Operativos - Unidad Introducción a OS
Curso Sistemas Operativos - Unidad Introducción a OS
 
Funcionamiento del ordenador
Funcionamiento del ordenadorFuncionamiento del ordenador
Funcionamiento del ordenador
 
Organizacion del computador
Organizacion del computadorOrganizacion del computador
Organizacion del computador
 
Administración y Comando Básicos
Administración y Comando BásicosAdministración y Comando Básicos
Administración y Comando Básicos
 
Presentacion
PresentacionPresentacion
Presentacion
 
so-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptxso-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptx
 
Tema 3. Arquitectura y diseño de seguridad
Tema 3. Arquitectura y diseño de seguridadTema 3. Arquitectura y diseño de seguridad
Tema 3. Arquitectura y diseño de seguridad
 
Sistemas operativos software
Sistemas operativos softwareSistemas operativos software
Sistemas operativos software
 
SEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxSEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptx
 
Estructura de los Sistemas Operativos
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas Operativos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Gestion de nucleo
Gestion de nucleoGestion de nucleo
Gestion de nucleo
 
Conceptos generales (2)
Conceptos generales (2)Conceptos generales (2)
Conceptos generales (2)
 
sistema operativo
sistema operativosistema operativo
sistema operativo
 
Windows
WindowsWindows
Windows
 
Traduccion
TraduccionTraduccion
Traduccion
 
Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)Sistema computacional (arquitecturas y memorias)
Sistema computacional (arquitecturas y memorias)
 

Último

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
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.Alejandrino Halire Ccahuana
 
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...Lourdes Feria
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 

Último (20)

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
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.
 
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...
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 

Curso de Sistemas Operativos - Unidad Procesos e Hilos

  • 1. PROCESOS E HILOS Juan Rafael Álvarez Correa jalvarez@debian.org 1
  • 2. CAPITULOS ■ 0 – Arquitectura del computador ■ 1 – Introducción a los sistemas operativos ■ 2 – Procesos e hilos ■ 3 – Comunicación, concurrencia y bloqueos ■ 4 – Gestión de memoria ■ 5 – Entrada y salida ■ 6 – Gestión de archivos y directorios ■ 7 – Seguridad y protección ■ 8 – Sistemas distribuidos 2
  • 3. PROCESO ■ Programa en ejecución  Espacio de direcciones (Direcciones contiguas) ➔ Acceso uniforme a recurso y control de acceso  Instrucciones (programa) ➔ Define el comportamiento del programa  Datos ➔ Variables estaticas y automaticas  Recursos ➔ Se le asignan recursos CPU y memoria y se pueden solicitar explicitamente (archivos)  Hilos ➔ Flujos de ejecución del programa 3
  • 4. HILO ■ Si el proceso solo tiene un hilo  Es llamado un proceso clasico y su hilo es llamado hilo base ■ Si el proceso puede tener multiples hilos  Es llamado un proceso moderno  A cada hilo de un proceso moderno se le llama un proceso liviano  Por cada hilo existe una pila diferente, pues cada hilo puede ejecutarse a su propio ritmo  La unidad de planificación es el hilo o el proceso liviano y no el proceso moderno que lo contiene 4
  • 5. MAQUINA ABSTRACTA ■ Simulación de una maquina real, mediante la multiplexación de memoria y CPU  Procesos clasicos ➔ Una motor de ejecución para cada proceso clasico  Procesos modernos ➔ Una motor de ejecución para cada proceso liviano ■ Interfaz de maquina abstracta  Instrucciones de la CPU de usuario  Llamadas al sistema 5
  • 6. GESTION DE PROCESOS ■ Creación y terminación de hilos y procesos ■ Sincronización entre procesos/hilos ■ Reserva de recursos (solo CPU) ■ Cooperación con:  Gestor de memoria ➔ Implementar espacio de direcciones  Gestor de I/O ➔ Dispositivos con correlación a memoria ➔ Gestion de interrupciones - Reloj para expropiar - Dispositivos para cambios de estado en los procesos 6
  • 7. PROCESO HARDWARE Y TRAZA ■ Es el flujo simple de ejecución que realiza directamente la CPU  BIOS  Cargador (Etapa1 y Etapa2)  Nucleo ➔ Gestor de procesos ➔ Gestor de memoria ➔ Gestor de dispositivos ➔ Gestor de archivos  Proceso inicial (init -generalmente PID=0-) ➔ SYSV y BSD 7
  • 8. CAMBIO DE CONTEXTO ■ Para multiplexar la CPU (proporcionar varias maquinas abstractas)  Se debe conmutar entre procesos periodicamente  La conmutación implica almacenar el estado del procesador, correspondiente al proceso ... actual (contexto) y ubicar el estado de otro proceso ... en el procesador  ¿Como se logra esto? ➔ El reloj emite una interrupción a intervalos regulares para propiciar la invocación en el gestor de procesos del planificador: Componente responsable de seleccionar un nuevo proceso para ejecutar 8
  • 9. DESCRIPTOR DE PROCESO ■ Cuando el sistema operativo crea un proceso:  Se crea un espacio de direcciones para el proceso  Estructuras de datos del sistema operativo para representar el proceso ... ➔ Descriptor de proceso ... ■ Cuando se termina un proceso estas estructuras se eliminan ■ Anti-Ing de Software: El gestor de dispositivos accede directamente la estructura 9
  • 10. DESCRIPTOR DE PROCESO ■ Identificador del proceso ■ Relaciones (padre, hijos) ■ Propietario  Usuario dueño del proceso ■ Espacio de direcciones  Comun a todos los hilos ■ Recursos  Archivos abiertos ■ Referencias a los hilo(s) 10
  • 11. DESCRIPTOR DE HILO ■ Identificador del hilo ■ Relaciones ■ Estado  El estado es diferente para cada hilo ■ Estadisticas de ejecución ■ Punteros de pila  Cada hilo tiene una pila separada ■ Recursos especificos ■ Contexto 11
  • 12. CONTEXTO ■ Contexto  Estado de la CPU ■ Cambio de contexto  Almacenar y restaurar el contexto ■ Tipos  Cambio de contexto en interrupciones ➔ Por hardware y llamadas al sistema ➔ Cambio entre modo usuario y modo nucleo  Cambio de contexto entre procesos ➔ Cuando un nuevo proceso es planificado 12
  • 13. MULTIHILO ■ ¿Cuando una aplicación debe estar programada con multiples hilos?  ¿Existen en una misma aplicación operaciones que no dependan de otras operaciones? ➔ Imprimir un documento, procesar click de mouse  ¿Existen pocos recursos que deban ser compartidos por los hilos?  ¿Esta preparado para los problemas de concurrencia?  ¿La aplicación puede ser dividida en varias responsabilidades? 13
  • 14. HILOS A NIVEL DE USUARIO ■ Caracteristicas  La abstracción de hilo la realiza la aplicación  El nucleo desconoce la existencia de hilos  El cambio de contexto se hace en la aplicación  La planificación la realiza la aplicación ■ Desventajas  Un hilo puede monopolizar el procesador  La aplicación no usa la potencia de SMP  El bloqueo de un hilo, bloquea todos los hilos 14
  • 15. GESTORES DE RECURSOS ■ Recurso  Componentes de la maquina abstracta que son necesarios para un proceso  Cualquier cosa que potencialmente detiene un proceso de ejecución ■ Comportamiento comun de los diferentes componentes del sistema operativo  Gestor de dispositivos (recurso = dispositivo)  Gestor de memoria (recurso = memoria)  Gestor de procesos (recurso = procesador)  Gestor de archivos (recurso = archivo) 15
  • 16. GESTORES DE RECURSO ■ Mecanismo  Forma en la que se accede al gestor de recursos para la reserva o liberación de los mismos ➔ Funciones envolventes ➔ ABI para la invocación de trap ➔ Interrupción de reloj + ISR ■ Politica  Comportamiento especifico del gestor de recurso ➔ Implementación especifica en la reserva o liberación ➔ A quien se asigna? Cuando se asigna? 16
  • 17. GESTORES DE RECURSOS ■ Reserva de recursos  El proceso liviano/proceso clasico (parte activa del proceso) es responsible de reservar explicitamente los recursos ➔ Recurso = no disponible, el proceso ... = “espera” ➔ Recurso = disponible, el proceso ... = continua ■ Tipos  Recursos reutilizables ➔ Se pueden reservar y devolver (CPU, memoria)  Recursos consumibles ➔ Una vez reservados no se devuelven (datos de entrada) 17
  • 18. ESTADOS ■ Diagrama de estados  Representa los diferentes estados en los que un hilo puede estar  Las transiciones posibles de un estado a otro en el sistema operativo 18
  • 19. MODELO DE 3 ESTADOS Solicitud Hecho En ejecución Solicitud Ceder Planifica Bloqueado Listo Inicio 19
  • 20. MODELO DE 5 ESTADOS ■ Modelo que permite el control de un hilo por parte de otro hilo (controlador) ■ Se introducen los estados *suspendidos para reflejar la no autorización por parte del controlador 20
  • 21. PLANIFICADOR ■ Parte del gestor de procesos que se encarga de multiplexar la CPU en el tiempo ■ Cuando puede ser invocado  Un hilo completa su función ➔ exit  Solicitud de un recurso no disponible ➔ read (de un socket al cual no llegan datos aun)  Abandono voluntario de la CPU ➔ pthread_yield o sched_yield  Desalojo involuntario de la CPU ➔ ISR de la interrupción de reloj (PIT) 21
  • 22. PARTES DEL PLANIFICADOR ■ Encolador  Ubica en la lista de listos un hilo que ha sido desalojado del procesador. ■ Conmutador de contexto  Almacena el contexto del hilo a ser desalojado en el descriptor del hilo ■ Despachador o distribuidor  Selecciona un hilo de la lista de listos para ser ejecutado  Restaura en el procesador el contexto almacenado en el descriptor del hilo seleccionado 22
  • 23. CAMBIO DE CONTEXTO ■ Si el procesador no soporta conjuntos de registros, hay cambios de contexto ...  Cuando ocurre una interrupción  Cuando el procesador conmuta de un proceso a otro ■ Si el procesador soporta conjuntos de registros, se asignan conjuntos diferentes a modo 0 y 1, y hay cambios de contexto ...  Cuando el procesador conmuta de un proceso a otro 23
  • 24. CAMBIO DE CONTEXTO ■ Costo de cambio de contexto (sin cache)  rg registros generales  re registros de estado  i operaciones de almacenamiento por registro  t ciclos de reloj para almacenar en memoria  (rg + re) i * c ■ Ejemplo  (32 + 8) 1 * 100c = 4000c * 2 = 8000c 24
  • 25. CONCEPTOS DE PLANIFICACIÓN ■ Prioridad  Orden segun el cual un hilo puede ser puesto en ejecución estando en estado de listo ■ Franja de tiempo (cuanto de tiempo)  Cantidad de tiempo entre interrupciones del temporizador ■ Inaniciación  Situación en la que un hilo puede no planificarse debido a caracteristicas de la politica 25
  • 26. MODELO DE PLANIFICACIÓN ■ S(Hi)={ejecución, listo, bloqueado} ■ Tiempo de servicio: Ts(Hi)  Tiempo transcurrido total de un hilo en estado de ejecución  Cantidad de tiempo que el hilo ha consumido de la CPU para completar su tarea ■ Tiempo de espera: Te(Hi)  Tiempo transcurrido entre la primera entrada al estado listo hasta antes de estar por primera vez en ejecución  Tiempo que se demora un proceso en recibir su primera unidad de servicio del procesador 26
  • 27. MODELO DE PLANIFICACIÓN ■ Tiempo de vuelta: Tv(Hi)  Tiempo transcurrido entre la primera entrada al estado listo hasta la salida definitiva del estado ejecución  Tiempo total en completar la ejecución del hilo una vez esta listo para ejecutarse ■ Variables a optimizar  En sistemas de procesamiento por lotes se debe optimizar el tiempo medio de vuelta  En sistemas de tiempo compartido se debe optimizar el “tiempo de espera” medio, interperpretado como el tiempo en estado listo. 27
  • 28. MECANISMOS Y POLITICAS ■ Politica de planificación  Cuando es el momento de desalojar el hilo del procesador  Cual es el hilo elegible para ocupar el procesador ■ Mecanismo de planificación  Como se determina el momento de multiplexar el procesador ➔ Entrega voluntaria (ceder) e involuntaria (interrupción periodica) del procesador  Como se desalojara y asignara un hilo del procesador ➔ Detalles de la conmutación de contexto (SAVE_ALL) 28
  • 29. MECANISMOS Y POLITICAS ■ Politicas  No expropiativa ➔ Basado en la entrega voluntaria  Expropiativa ➔ Basado en la entrega involuntaria ■ Mecanismos  Entrega voluntaria de la CPU ➔ Instrucción ceder (sched_yield, pthread_yield)  Entrega involuntaria de la CPU ➔ Interrupción periodica (Interrupción periodica) 29
  • 30. POLITICAS DE PLANIFICACIÓN ■ Criterios utilizados para identificar los hilos a ser ejecutados ■ No expropiativas  FCFS: First Come First Served (aka FIFO)  SJB: Shortest Job Next  Planificación por prioridades  Planificación por tiempo limite ■ Expropiativas  RR: Round Robin  MFQ: Multilevel Freedback Queue  SRT: Shortest Remaining Time 30
  • 31. FCFS: FIRST COME FIRST SERVED ■ + prioridad = + viejo en la lista de listos ■ Implementación 1 ➔ Encolador: Estampa tiempo de llegada ➔ Distribuidor: Selecciona hilo mas viejo ■ Implementación 2 (con estructura FIFO) ➔ Encolador: Ubica hilo en final de cola ➔ Distribuidor: Retira hilo de cabeza de la cola ■ Ventaja  Facil de implementar ■ Desventaja  No considera el Ts de un Hi 31
  • 32. SJN: SHORTEST JOB NEXT ■ + prioridad = – tiempo de servicio ■ Ventajas  Minimiza Te ■ Desventajas  Hi con Ts grande y muchos Hj con Ts pequeños, hay alta probabilidad de inanición de Hi  ¿Como determinar el tiempo de servicio de forma anticipada? 32
  • 33. PLANIFICACIÓN POR PRIORIDADES ■ + prioridad = asignada externamente  Criterios arbitrarios ➔ Usuarios con mas privilegios ➔ Tareas mas criticas desde la perspectiva del usuario ■ Tipos de prioridad  Estatica ➔ Solo se puede asignar al inicio del hilo  Dinamica ➔ Puede cambiar durante la ejecución del hilo ➔ Combinada con SJN soluciona el problema de la inanicion, si mas prioridad si mas tiempo sin servicio. 33
  • 34. PLANIFICACIÓN X TIEMPO LIMITE ■ Debe garantizarse Tv < Tl (tiempo limite) ■ El hilo no se acepta en el estado de listo si el planificador no puede garantizar este tiempo limite ■ Sistemas de hard real time 34
  • 35. EXPROPIATIVAS ■ Mas generales que las no expropiativas  Politica no apropiativa = Politica apropiativa con franja de tiempo igual al tiempo de servicio del hilo actual ■ REVISAR ESTA TRANSPARENCIA 35
  • 36. ROUND ROBIN ■ Distribución equitativa de tiempo entre todos los hilos que solicitan el procesador ■ Implementada generalmente con un cola  Cuando un hilo es expropiado del procesador este va al final de la cola  Cuando un hilo es creado este va al final de la cola  Cuando un hilo debe ser seleccionado, se selecciona el que se encuentra al inicio de la cola 36
  • 37. PRIORIDAD EXT + ROUND ROBIN ■ La prioridad externa se evalua primero como primer criterio de selección ■ Si la prioridad es la misma el criterio de selección es la posición en la cola 37