SlideShare una empresa de Scribd logo
1 de 50
1
Prof. Eliezer Córdova
Sistemas OperativosSistemas Operativos
2
Prof. Eliezer Córdova
Índice:
1. Planificación de Sistemas en
Tiempo Real
2. Planificación de
Multiprocesadores
3. Ejemplos de Planificación
2
3
Prof. Eliezer Córdova
Índice:
1. Planificación de Sistemas en
Tiempo Real
2. Planificación de
Multiprocesadores
3. Ejemplos de Planificación
3
4
Prof. Eliezer Córdova
1. Planificación de Sistemas en Tiempo Real
1. Definición de Sistema en Tiempo Real
2. Modelos de planificación
3. Planificación por plazos
5
Prof. Eliezer Córdova
1. Planificación de Sistemas en Tiempo Real
1. Definición de Sistema en Tiempo Real
2. Modelos de planificación
3. Planificación por plazos
6
Prof. Eliezer Córdova
1.1 Definición de Sistema en Tiempo Real
 Sistema que debe ejecutar actividades respetando
unas restricciones temporales.
 Clasificación de actividades:
Por cumplimiento:
• Rígidas: incumplimiento causa malfuncionamiento
• Flexibles: incumplimiento causa degradación calidad
• Opcionales: incumplimiento no tiene mayores consecuencias
Por periodicidad:
• Aperiódicas
• Periódicas
– Fijas
– Movibles
tT T T
7
Prof. Eliezer Córdova
1. Planificación de Sistemas en Tiempo Real
1. Definición de Sistema en Tiempo Real
2. Modelos de planificación
3. Planificación por plazos
8
Prof. Eliezer Córdova
1.2 Modelos de Planificación
1. Planificación Apropiativa con Prioridades
Estáticas
Aplicabilidad: cualquier sistema (solución clásica)
Se utiliza un planificador genérico
El quid de la cuestión: asignación de
prioridades:
• Se analizan las actividades (periodicidad y
cumplimiento)
• Se clasifican por niveles, según cumplimiento y
frecuencia
• Se asignan prioridades estáticas a cada nivel
Dificultad: garantizar planificabilidad
9
Prof. Eliezer Córdova
1.2 Modelos de Planificación
2. Planificación con Tablas Estáticas
Aplicabilidad: todas las actividades periódicas
Se construye planificador ad-hoc
Metodología:
• Se calcula ciclo de ejecución (duración: mcm periodos)
• Se analizan actividades y establece plan de ejecución
• Planificador lanza cada actividad cuando corresponde
10
Prof. Eliezer Córdova
1.2 Modelos de Planificación
3. Planificación Dinámica
Aplicabilidad: todas las actividades periódicas +
alguna aperiódica flexible u opcional
Se construye planificador ad-hoc
Metodología:
• Se parte de un plan de ejecución con las actividades
periódicas
• Si llega actividad periódica se intenta acomodar en el
plan:
– Retrasando una flexible
– Eliminando una opcional
• Si no se puede acomodar: se descarta
11
Prof. Eliezer Córdova
1.2 Modelos de Planificación
4. Planificación por mejor resultado
Aplicabilidad: cualquier sistema (orientado a
actividades aperiódicas)
Metodología:
• Se definen plazos de ejecución para actividades
• El planificador organiza las actividades de forma que
se cumplan los plazos
12
Prof. Eliezer Córdova
1. Planificación de Sistemas en Tiempo Real
1. Definición de Sistema en Tiempo Real
2. Modelos de planificación
3. Planificación por plazos
13
Prof. Eliezer Córdova
1.3 Planificación por Plazos
 Criterio basado en Mejor Resultado
 Idea: la preferencia por usar el procesador lo
tiene aquella actividad que está más próxima a
salirse de plazo.
 Concepto de plazo:
Plazo Final: la actividad ha de comenzar y
terminar dentro del plazo.
Plazo Inicial: basta con que la actividad comience
dentro del plazo
tP tP
14
Prof. Eliezer Córdova
1.3 Planificación por Plazos
 Ejemplo: aplicación a dos actividades periódicas
flexibles.
Suponemos que el plazo de cada actividad expira al acabar
cada periodo
T t
A 4 2
B 10 5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
15
Prof. Eliezer Córdova
Índice:
1. Planificación de Sistemas en
Tiempo Real
2. Planificación de
Multiprocesadores
3. Ejemplos de Planificación
15
16
Prof. Eliezer Córdova
2. Planificación de Multiprocesadores
1. Tipos de sistemas multiprocesadores
2. Paralelismo
3. Aspectos de Diseño
4. Planificación de hilos en multiprocesadores
17
Prof. Eliezer Córdova
2. Planificación de Multiprocesadores
1. Tipos de sistemas multiprocesadores
2. Paralelismo
3. Aspectos de Diseño
4. Planificación de hilos en multiprocesadores
18
Prof. Eliezer Córdova
2.1 Tipos de Multiprocesadores
 Multiprocesadores con Acoplamiento Débil
Procesadores no comparten memoria
Comunicados entre sí por algún sistema de
comunicaciones
No ha lugar a planificación!
 Procesadores especializados
Su función no es la ejecución de código de los procesos
Colaboran con procesador principal: coprocesadores
matemáticos, video, audio, etc.
No ha lugar a planificación!
 Multiprocesadores con Acoplamiento Fuerte
Comparten memoria y Sistema Operativo
Consecuencia: paralelismo real
19
Prof. Eliezer Córdova
2. Planificación de Multiprocesadores
1. Tipos de sistemas multiprocesadores
2. Paralelismo
3. Aspectos de Diseño
4. Planificación de hilos en multiprocesadores
20
Prof. Eliezer Córdova
2.2 Paralelismo
 Aplicaciones paralelas: formadas por varios
procesos/hilos que pueden colaborar entre sí
 Grados de paralelismo:
Procesos independientes: no hay colaboración entre
ellos
Interacción baja o débil: la colaboración se de forma
muy esporádica.
Interacción media: se produce frecuente colaboración
Interacción alta: se produce colaboración muy
frecuente, cada muy pocas instrucciones.
21
Prof. Eliezer Córdova
2. Planificación de Multiprocesadores
1. Tipos de sistemas multiprocesadores
2. Paralelismo
3. Aspectos de Diseño
4. Planificación de hilos en multiprocesadores
22
Prof. Eliezer Córdova
2.3 Aspectos de diseño
 Relación entre procesadores:
Sistemas Amo/Esclavo
vs
Multiprocesadores simétricos
 Asignación de procesos a procesadores:
Asignación Dinámica
vs
Asignación Estática
 Multiprogramación interna de procesadores
SI
vs
NO
23
Prof. Eliezer Córdova
2.3 Aspectos de diseño
 Relación entre procesadores:
Multiprocesamiento Simétrico
Sistema Amo/Esclavo
24
Prof. Eliezer Córdova
2.3 Aspectos de diseño
Sistemas Amo/Esclavo
 Ventajas:
Planificación similar a versión monoprocesador (pueden
haber N procesos activos)
Planificación no concurrente
¡Sistema operativo más simple!
 Inconvenientes:
Si hay muchos procesadores: Amo = cuello de botella
Fiabilidad: Amo = elemento crítico
25
Prof. Eliezer Córdova
2.3 Aspectos de diseño
Multiprocesamiento simétrico
 Ventajas:
No hay cuello de botella
Mayor fiabilidad (incluso tolerante a fallos)
 Inconvenientes:
Sistema operativo se ejecuta concurrentemente
¡Incluso planificación es concurrente!
Sistema operativo más complejo
26
Prof. Eliezer Córdova
2.3 Aspectos de diseño
 Asignación de procesos a procesadores
Asignación Estática
P6
P1 P2
P3 P4 P5
P7 P8 P9 P10 P11 P12
27
Prof. Eliezer Córdova
2.3 Aspectos de diseño
 Asignación de procesos a procesadores
Asignación Dinámica
P6P1 P2 P3 P4 P5
28
Prof. Eliezer Córdova
2.3 Aspectos de diseño
Asignación dinámica
 Ventajas:
Facilita repartir la carga de trabajo
 Inconvenientes:
Cambiar un proceso de procesador puede implicar
penalización si usa memoria no compartida
Mayor complejidad:
• Cola de procesos = recurso compartido
• Más tomas de decisiones
P6P1 P2 P3 P4 P5
29
Prof. Eliezer Córdova
2.3 Aspectos de diseño
Asignación estática
 Ventajas:
Menos tomas de decisiones
Mayor simplicidad
Permite implementar planificación por grupos
 Inconvenientes:
Posible mal balance de carga de trabajo
P6
P1 P2
P3 P4 P5
P7 P8 P9 P10 P11 P12
30
Prof. Eliezer Córdova
2.3 Aspectos de diseño
 Multiprogramación de procesadores:
¿Merece la pena multiprogramar cada procesador?
Si aplicaciones con alto grado de interacción y
suficientes procesadores: NO multiprogramar
En otro caso: SI multiprogramar
¿Procesadores ociosos?
No es de preocupar, si hay muchos
31
Prof. Eliezer Córdova
2. Planificación de Multiprocesadores
1. Tipos de sistemas multiprocesadores
2. Paralelismo
3. Aspectos de Diseño
4. Planificación de hilos en multiprocesadores
32
Prof. Eliezer Córdova
2.4 Planificación de hilos en multiproc.
 Planificación de hilos: particularidades por su
aplicabilidad a aplicaciones de alto grado de
interacción
 Modelos:
Compartición de carga
Planificación por grupos
Asignación de procesadores en exclusividad
Planificación dinámica
33
Prof. Eliezer Córdova
2.4 Planificación de hilos en multiproc.
 Se matiene una lista global de hilos preparados
 Al primer procesador que queda libre, se le asigna
primer hilo de lista
 Ventajas:
Tiende a repartir carga de trabajo entre procesadores
Método de selección inmediato
Se puede implementar como sistema simétrico
Compartición de carga
34
Prof. Eliezer Córdova
2.4 Planificación de hilos en multiproc.
 Inconvenientes:
Siguiente hilo no tiene por qué pertenecer a mismo
proceso → Mala gestión caché
Cola de hilos preparados: recurso compartido
• Necesidad de coordinación entre procesadores
• Posible cuello de botella
No garantiza paralelismo real entre hilos de un mismo
proceso: no apto para grado de interacción alto.
Compartición de carga
35
Prof. Eliezer Córdova
2.4 Planificación de hilos en multiproc.
 Indicado para aplicaciones con grado de interacción
Medio
Alto
 Idea: formar grupos de hilos que se ejecutan en
paralelo activando y desactivando todos los hilos en
bloque.
Planificación por grupos
H1 H2 H3
H4 H5
H6 H7
36
Prof. Eliezer Córdova
2.4 Planificación de hilos en multiproc.
 Cuando se crea un hilo, se le asigna un procesador
 No se le retira en ningún momento
¡Ni siquiera en caso de bloqueo!
 Procesador sólo se libera a la terminación del hilo
Asignación de procesadores en exclusividad
 Justificación:
Contexto de aplicación: grandes multiprocesadores
Objetivos:
• Garantizar paralelismo
• Reducir tiempos de terminación
37
Prof. Eliezer Córdova
2.4 Planificación de hilos en multiproc.
 La asignación/liberación de procesadores las
efectúa el propio proceso
 Pensado para lenguajes con soporte de hilos:
Ada
Java
 SO dispone en API de llamadas para manipulación
de procesadores
Planificación dinámica
38
Prof. Eliezer Córdova
Índice:
1. Planificación de Sistemas en
Tiempo Real
2. Planificación de
Multiprocesadores
3. Ejemplos de Planificación
38
39
Prof. Eliezer Córdova
3. Ejemplos de planificación
1. Planificación en MINIX
2. Planificación en Windows 2000
3. Planificación Linux
40
Prof. Eliezer Córdova
3. Ejemplos de planificación
1. Planificación en MINIX
2. Planificación en Windows 2000
3. Planificación Linux
41
Prof. Eliezer Córdova
3.1 Planificación en MINIX
 Planificación mediante colas multinivel:
TASK_Q: Turno rotatorio hasta bloqueo (sin
apropiación)
SERVER_Q: Turno rotatorio hasta bloqueo
USER_Q: Turno rotatorio con ranura de 100 ms.
Planificador
MINIX
-prioridad+
Gestor
Floppy
Gestor
HD
Gestor
Disco RAM
TASK_Q
Admin.
Archivos
Admin.
Memoria
SERVER_Q
Proc.
usuario init
USER_Q
42
Prof. Eliezer Córdova
3. Ejemplos de planificación
1. Planificación en MINIX
2. Planificación en Windows 2000
3. Planificación Linux
43
Prof. Eliezer Córdova
3.2 Planificación en Windows 2000
 Planificador de hilos mediante colas multinivel
32 Colas (o prioridades, según terminología Microsoft)
31
30
.
:
16
15
2
.
:
1
0
Nivel de Tiempo Real
Nivel de Prioridad Variable
TR1 TR2
TR3
Zero Page Thread
PV1 PV2
PV3 PV4 PV5
TR4 TR5 TR6
-prioridad+
44
Prof. Eliezer Córdova
3.2 Planificación en Windows 2000
 Planificación prioridades variable:
Prioridad inicial= prioridad del proceso + prioridad relativa
hilo
• prioridad del proceso: [1..15]
• prioridad del hilo: [-2 .. 2]
Priority Boost: si en varias ocasiones hilo se bloquea antes
de terminar cuanto: se incrementa su prioridad.
Límites de la prioridad dinámica:
• Límite inferior: menor (prioridad proceso – 2, 1)
• Límite superior: 15
 Duración del cuanto:
Versiones de sobremesa: 6 ticks
Versiones para servidores: 36 ticks
En plataformas monoprocesador: 1 tick = 10ms
En plataformas multiprocesador: 1 tick= 15ms
45
Prof. Eliezer Córdova
3.2 Planificación en Windows 2000
 Si hay N procesadores:
Los N-1 hilos de mayor prioridad se asignan a N-1
procesadores y se activan hasta bloqueo
El procesador restante es compartido por los demás hilos
 Afinidad por procesador:
Un hilo puede declarar afinidad por un procesador
Sólo se activará sobre dicho procesador
Si hilo preparado pero procesador no está libre → hilo
espera
46
Prof. Eliezer Córdova
3. Ejemplos de planificación
1. Planificación en MINIX
2. Planificación en Windows 2000
3. Planificación Linux
47
Prof. Eliezer Córdova
3.2 Planificación en Linux (2.6)
 Planificador de hilos mediante colas multinivel
140 Colas (también llamadas prioridades)
0
1
.
:
99
100
138
.
:
139
Nivel de
Tiempo Real
S_F1 S_F2
S_R1
S_O1 S_O2
S_O3 S_O4
S_F3 S_R2
-prioridad+
0
1
.
:
99
100
138
.
:
139
S_R3 S_F4
S_O5
S_O6
S_O7 S_O8
S_F4
Colas Activas Colas Expiradas
Nivel de
Prioridad
Variable
48
Prof. Eliezer Córdova
3.3 Planificación en Linux (2.6)
 Planificación hilos tipo SCHED_FIFO
Sólo perderá la CPU en los siguientes casos:
• Bloqueo
• Cede CPU voluntariamente mediante sched_yield()
• Es apropiado por otro hilo SCHED_FIFO de mayor prioridad
Si hay más de un hilo SCHED_FIFO preparado con la
misma prioridad → se activa el que lleva más tiempo
esperando
 Planificación hilos tipo SCHED_RR
Análoga a SCHED_FIFO, excepto en que…
Si hay más de un hilo SCHED_FIFO con la misma
prioridad → turno rotatorio
49
Prof. Eliezer Córdova
3.3 Planificación en Linux (2.6)
 Planificación hilos tipo SCHED_OTHER
Turno rotatorio en orden descendente de prioridad
Proridad dinámica = prioridad base + bonificación
Bonificación: -5 (máxima) .. +5 (mínima)
Cálculo de la bonificación: relación tiempo bloqueo /
tiempo activo
 Duración del cuanto:
Depende de prioridad base
Entre 5 ms y 800 ms (más prioritario, cuanto más largo)
 Procesos “interactivos”:
No van a cola expirada (excepción)
50
Prof. Eliezer Córdova
3.3 Planificación en Linux (2.6)
 Sistemas multiprocesadores:
Cada procesador tiene sus propias colas
Reparto de carga de trabajo mediante dominios de
planificación
Dominio de planificación = conjunto de procesadores que
se mantienen equilibrados
Los dominios de planificación son jerárquicos

Más contenido relacionado

Similar a Sistemas operativos 3

Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Marco Guerrero
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremat3matik
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryynelly
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16Ramon
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de softwareMarilupe
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software142918
 
Ingen de software
Ingen de softwareIngen de software
Ingen de softwareerikapoh
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaresamantha
 
Class 01 introduction_to_operating_systems.htm
Class 01 introduction_to_operating_systems.htmClass 01 introduction_to_operating_systems.htm
Class 01 introduction_to_operating_systems.htmUNEFA
 
Desarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxDesarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxMoises Martinez
 
Resumen para Estudiar
Resumen para EstudiarResumen para Estudiar
Resumen para Estudiargregoryj733
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativosdanysmash
 

Similar a Sistemas operativos 3 (20)

slide_2.pdf
slide_2.pdfslide_2.pdf
slide_2.pdf
 
Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3Modelos para el desarrollo de software V3
Modelos para el desarrollo de software V3
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de software
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingen de software
Ingen de softwareIngen de software
Ingen de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
mapa conceptual prototipos.docx
mapa conceptual prototipos.docxmapa conceptual prototipos.docx
mapa conceptual prototipos.docx
 
2.modelos del proceso
2.modelos del proceso2.modelos del proceso
2.modelos del proceso
 
Unidad I
Unidad IUnidad I
Unidad I
 
Class 01 introduction_to_operating_systems.htm
Class 01 introduction_to_operating_systems.htmClass 01 introduction_to_operating_systems.htm
Class 01 introduction_to_operating_systems.htm
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Desarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptxDesarrollo INGENIERIA EN SOFTWARE.pptx
Desarrollo INGENIERIA EN SOFTWARE.pptx
 
Clase 4, 29/8/2007
Clase 4, 29/8/2007Clase 4, 29/8/2007
Clase 4, 29/8/2007
 
Resumen para Estudiar
Resumen para EstudiarResumen para Estudiar
Resumen para Estudiar
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 
Apuntes
ApuntesApuntes
Apuntes
 

Más de Eliezer Cordova

Más de Eliezer Cordova (20)

Tipos de comunicacion
Tipos de comunicacionTipos de comunicacion
Tipos de comunicacion
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
 
Introduccion publisher
Introduccion publisherIntroduccion publisher
Introduccion publisher
 
Presentaciones efectivas
Presentaciones efectivasPresentaciones efectivas
Presentaciones efectivas
 
Resolucion de problemas
Resolucion de problemasResolucion de problemas
Resolucion de problemas
 
Programación
ProgramaciónProgramación
Programación
 
Presentacion aula virtual videoconferencia
Presentacion aula virtual videoconferenciaPresentacion aula virtual videoconferencia
Presentacion aula virtual videoconferencia
 
Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
Presentacion uno
Presentacion unoPresentacion uno
Presentacion uno
 
Intro
IntroIntro
Intro
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
2 arboles
2 arboles2 arboles
2 arboles
 
1 árbol
1 árbol1 árbol
1 árbol
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
3 funciones
3 funciones3 funciones
3 funciones
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 

Último

LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
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
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
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
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 

Último (20)

LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
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
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
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.
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 

Sistemas operativos 3

  • 1. 1 Prof. Eliezer Córdova Sistemas OperativosSistemas Operativos
  • 2. 2 Prof. Eliezer Córdova Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación 2
  • 3. 3 Prof. Eliezer Córdova Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación 3
  • 4. 4 Prof. Eliezer Córdova 1. Planificación de Sistemas en Tiempo Real 1. Definición de Sistema en Tiempo Real 2. Modelos de planificación 3. Planificación por plazos
  • 5. 5 Prof. Eliezer Córdova 1. Planificación de Sistemas en Tiempo Real 1. Definición de Sistema en Tiempo Real 2. Modelos de planificación 3. Planificación por plazos
  • 6. 6 Prof. Eliezer Córdova 1.1 Definición de Sistema en Tiempo Real  Sistema que debe ejecutar actividades respetando unas restricciones temporales.  Clasificación de actividades: Por cumplimiento: • Rígidas: incumplimiento causa malfuncionamiento • Flexibles: incumplimiento causa degradación calidad • Opcionales: incumplimiento no tiene mayores consecuencias Por periodicidad: • Aperiódicas • Periódicas – Fijas – Movibles tT T T
  • 7. 7 Prof. Eliezer Córdova 1. Planificación de Sistemas en Tiempo Real 1. Definición de Sistema en Tiempo Real 2. Modelos de planificación 3. Planificación por plazos
  • 8. 8 Prof. Eliezer Córdova 1.2 Modelos de Planificación 1. Planificación Apropiativa con Prioridades Estáticas Aplicabilidad: cualquier sistema (solución clásica) Se utiliza un planificador genérico El quid de la cuestión: asignación de prioridades: • Se analizan las actividades (periodicidad y cumplimiento) • Se clasifican por niveles, según cumplimiento y frecuencia • Se asignan prioridades estáticas a cada nivel Dificultad: garantizar planificabilidad
  • 9. 9 Prof. Eliezer Córdova 1.2 Modelos de Planificación 2. Planificación con Tablas Estáticas Aplicabilidad: todas las actividades periódicas Se construye planificador ad-hoc Metodología: • Se calcula ciclo de ejecución (duración: mcm periodos) • Se analizan actividades y establece plan de ejecución • Planificador lanza cada actividad cuando corresponde
  • 10. 10 Prof. Eliezer Córdova 1.2 Modelos de Planificación 3. Planificación Dinámica Aplicabilidad: todas las actividades periódicas + alguna aperiódica flexible u opcional Se construye planificador ad-hoc Metodología: • Se parte de un plan de ejecución con las actividades periódicas • Si llega actividad periódica se intenta acomodar en el plan: – Retrasando una flexible – Eliminando una opcional • Si no se puede acomodar: se descarta
  • 11. 11 Prof. Eliezer Córdova 1.2 Modelos de Planificación 4. Planificación por mejor resultado Aplicabilidad: cualquier sistema (orientado a actividades aperiódicas) Metodología: • Se definen plazos de ejecución para actividades • El planificador organiza las actividades de forma que se cumplan los plazos
  • 12. 12 Prof. Eliezer Córdova 1. Planificación de Sistemas en Tiempo Real 1. Definición de Sistema en Tiempo Real 2. Modelos de planificación 3. Planificación por plazos
  • 13. 13 Prof. Eliezer Córdova 1.3 Planificación por Plazos  Criterio basado en Mejor Resultado  Idea: la preferencia por usar el procesador lo tiene aquella actividad que está más próxima a salirse de plazo.  Concepto de plazo: Plazo Final: la actividad ha de comenzar y terminar dentro del plazo. Plazo Inicial: basta con que la actividad comience dentro del plazo tP tP
  • 14. 14 Prof. Eliezer Córdova 1.3 Planificación por Plazos  Ejemplo: aplicación a dos actividades periódicas flexibles. Suponemos que el plazo de cada actividad expira al acabar cada periodo T t A 4 2 B 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  • 15. 15 Prof. Eliezer Córdova Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación 15
  • 16. 16 Prof. Eliezer Córdova 2. Planificación de Multiprocesadores 1. Tipos de sistemas multiprocesadores 2. Paralelismo 3. Aspectos de Diseño 4. Planificación de hilos en multiprocesadores
  • 17. 17 Prof. Eliezer Córdova 2. Planificación de Multiprocesadores 1. Tipos de sistemas multiprocesadores 2. Paralelismo 3. Aspectos de Diseño 4. Planificación de hilos en multiprocesadores
  • 18. 18 Prof. Eliezer Córdova 2.1 Tipos de Multiprocesadores  Multiprocesadores con Acoplamiento Débil Procesadores no comparten memoria Comunicados entre sí por algún sistema de comunicaciones No ha lugar a planificación!  Procesadores especializados Su función no es la ejecución de código de los procesos Colaboran con procesador principal: coprocesadores matemáticos, video, audio, etc. No ha lugar a planificación!  Multiprocesadores con Acoplamiento Fuerte Comparten memoria y Sistema Operativo Consecuencia: paralelismo real
  • 19. 19 Prof. Eliezer Córdova 2. Planificación de Multiprocesadores 1. Tipos de sistemas multiprocesadores 2. Paralelismo 3. Aspectos de Diseño 4. Planificación de hilos en multiprocesadores
  • 20. 20 Prof. Eliezer Córdova 2.2 Paralelismo  Aplicaciones paralelas: formadas por varios procesos/hilos que pueden colaborar entre sí  Grados de paralelismo: Procesos independientes: no hay colaboración entre ellos Interacción baja o débil: la colaboración se de forma muy esporádica. Interacción media: se produce frecuente colaboración Interacción alta: se produce colaboración muy frecuente, cada muy pocas instrucciones.
  • 21. 21 Prof. Eliezer Córdova 2. Planificación de Multiprocesadores 1. Tipos de sistemas multiprocesadores 2. Paralelismo 3. Aspectos de Diseño 4. Planificación de hilos en multiprocesadores
  • 22. 22 Prof. Eliezer Córdova 2.3 Aspectos de diseño  Relación entre procesadores: Sistemas Amo/Esclavo vs Multiprocesadores simétricos  Asignación de procesos a procesadores: Asignación Dinámica vs Asignación Estática  Multiprogramación interna de procesadores SI vs NO
  • 23. 23 Prof. Eliezer Córdova 2.3 Aspectos de diseño  Relación entre procesadores: Multiprocesamiento Simétrico Sistema Amo/Esclavo
  • 24. 24 Prof. Eliezer Córdova 2.3 Aspectos de diseño Sistemas Amo/Esclavo  Ventajas: Planificación similar a versión monoprocesador (pueden haber N procesos activos) Planificación no concurrente ¡Sistema operativo más simple!  Inconvenientes: Si hay muchos procesadores: Amo = cuello de botella Fiabilidad: Amo = elemento crítico
  • 25. 25 Prof. Eliezer Córdova 2.3 Aspectos de diseño Multiprocesamiento simétrico  Ventajas: No hay cuello de botella Mayor fiabilidad (incluso tolerante a fallos)  Inconvenientes: Sistema operativo se ejecuta concurrentemente ¡Incluso planificación es concurrente! Sistema operativo más complejo
  • 26. 26 Prof. Eliezer Córdova 2.3 Aspectos de diseño  Asignación de procesos a procesadores Asignación Estática P6 P1 P2 P3 P4 P5 P7 P8 P9 P10 P11 P12
  • 27. 27 Prof. Eliezer Córdova 2.3 Aspectos de diseño  Asignación de procesos a procesadores Asignación Dinámica P6P1 P2 P3 P4 P5
  • 28. 28 Prof. Eliezer Córdova 2.3 Aspectos de diseño Asignación dinámica  Ventajas: Facilita repartir la carga de trabajo  Inconvenientes: Cambiar un proceso de procesador puede implicar penalización si usa memoria no compartida Mayor complejidad: • Cola de procesos = recurso compartido • Más tomas de decisiones P6P1 P2 P3 P4 P5
  • 29. 29 Prof. Eliezer Córdova 2.3 Aspectos de diseño Asignación estática  Ventajas: Menos tomas de decisiones Mayor simplicidad Permite implementar planificación por grupos  Inconvenientes: Posible mal balance de carga de trabajo P6 P1 P2 P3 P4 P5 P7 P8 P9 P10 P11 P12
  • 30. 30 Prof. Eliezer Córdova 2.3 Aspectos de diseño  Multiprogramación de procesadores: ¿Merece la pena multiprogramar cada procesador? Si aplicaciones con alto grado de interacción y suficientes procesadores: NO multiprogramar En otro caso: SI multiprogramar ¿Procesadores ociosos? No es de preocupar, si hay muchos
  • 31. 31 Prof. Eliezer Córdova 2. Planificación de Multiprocesadores 1. Tipos de sistemas multiprocesadores 2. Paralelismo 3. Aspectos de Diseño 4. Planificación de hilos en multiprocesadores
  • 32. 32 Prof. Eliezer Córdova 2.4 Planificación de hilos en multiproc.  Planificación de hilos: particularidades por su aplicabilidad a aplicaciones de alto grado de interacción  Modelos: Compartición de carga Planificación por grupos Asignación de procesadores en exclusividad Planificación dinámica
  • 33. 33 Prof. Eliezer Córdova 2.4 Planificación de hilos en multiproc.  Se matiene una lista global de hilos preparados  Al primer procesador que queda libre, se le asigna primer hilo de lista  Ventajas: Tiende a repartir carga de trabajo entre procesadores Método de selección inmediato Se puede implementar como sistema simétrico Compartición de carga
  • 34. 34 Prof. Eliezer Córdova 2.4 Planificación de hilos en multiproc.  Inconvenientes: Siguiente hilo no tiene por qué pertenecer a mismo proceso → Mala gestión caché Cola de hilos preparados: recurso compartido • Necesidad de coordinación entre procesadores • Posible cuello de botella No garantiza paralelismo real entre hilos de un mismo proceso: no apto para grado de interacción alto. Compartición de carga
  • 35. 35 Prof. Eliezer Córdova 2.4 Planificación de hilos en multiproc.  Indicado para aplicaciones con grado de interacción Medio Alto  Idea: formar grupos de hilos que se ejecutan en paralelo activando y desactivando todos los hilos en bloque. Planificación por grupos H1 H2 H3 H4 H5 H6 H7
  • 36. 36 Prof. Eliezer Córdova 2.4 Planificación de hilos en multiproc.  Cuando se crea un hilo, se le asigna un procesador  No se le retira en ningún momento ¡Ni siquiera en caso de bloqueo!  Procesador sólo se libera a la terminación del hilo Asignación de procesadores en exclusividad  Justificación: Contexto de aplicación: grandes multiprocesadores Objetivos: • Garantizar paralelismo • Reducir tiempos de terminación
  • 37. 37 Prof. Eliezer Córdova 2.4 Planificación de hilos en multiproc.  La asignación/liberación de procesadores las efectúa el propio proceso  Pensado para lenguajes con soporte de hilos: Ada Java  SO dispone en API de llamadas para manipulación de procesadores Planificación dinámica
  • 38. 38 Prof. Eliezer Córdova Índice: 1. Planificación de Sistemas en Tiempo Real 2. Planificación de Multiprocesadores 3. Ejemplos de Planificación 38
  • 39. 39 Prof. Eliezer Córdova 3. Ejemplos de planificación 1. Planificación en MINIX 2. Planificación en Windows 2000 3. Planificación Linux
  • 40. 40 Prof. Eliezer Córdova 3. Ejemplos de planificación 1. Planificación en MINIX 2. Planificación en Windows 2000 3. Planificación Linux
  • 41. 41 Prof. Eliezer Córdova 3.1 Planificación en MINIX  Planificación mediante colas multinivel: TASK_Q: Turno rotatorio hasta bloqueo (sin apropiación) SERVER_Q: Turno rotatorio hasta bloqueo USER_Q: Turno rotatorio con ranura de 100 ms. Planificador MINIX -prioridad+ Gestor Floppy Gestor HD Gestor Disco RAM TASK_Q Admin. Archivos Admin. Memoria SERVER_Q Proc. usuario init USER_Q
  • 42. 42 Prof. Eliezer Córdova 3. Ejemplos de planificación 1. Planificación en MINIX 2. Planificación en Windows 2000 3. Planificación Linux
  • 43. 43 Prof. Eliezer Córdova 3.2 Planificación en Windows 2000  Planificador de hilos mediante colas multinivel 32 Colas (o prioridades, según terminología Microsoft) 31 30 . : 16 15 2 . : 1 0 Nivel de Tiempo Real Nivel de Prioridad Variable TR1 TR2 TR3 Zero Page Thread PV1 PV2 PV3 PV4 PV5 TR4 TR5 TR6 -prioridad+
  • 44. 44 Prof. Eliezer Córdova 3.2 Planificación en Windows 2000  Planificación prioridades variable: Prioridad inicial= prioridad del proceso + prioridad relativa hilo • prioridad del proceso: [1..15] • prioridad del hilo: [-2 .. 2] Priority Boost: si en varias ocasiones hilo se bloquea antes de terminar cuanto: se incrementa su prioridad. Límites de la prioridad dinámica: • Límite inferior: menor (prioridad proceso – 2, 1) • Límite superior: 15  Duración del cuanto: Versiones de sobremesa: 6 ticks Versiones para servidores: 36 ticks En plataformas monoprocesador: 1 tick = 10ms En plataformas multiprocesador: 1 tick= 15ms
  • 45. 45 Prof. Eliezer Córdova 3.2 Planificación en Windows 2000  Si hay N procesadores: Los N-1 hilos de mayor prioridad se asignan a N-1 procesadores y se activan hasta bloqueo El procesador restante es compartido por los demás hilos  Afinidad por procesador: Un hilo puede declarar afinidad por un procesador Sólo se activará sobre dicho procesador Si hilo preparado pero procesador no está libre → hilo espera
  • 46. 46 Prof. Eliezer Córdova 3. Ejemplos de planificación 1. Planificación en MINIX 2. Planificación en Windows 2000 3. Planificación Linux
  • 47. 47 Prof. Eliezer Córdova 3.2 Planificación en Linux (2.6)  Planificador de hilos mediante colas multinivel 140 Colas (también llamadas prioridades) 0 1 . : 99 100 138 . : 139 Nivel de Tiempo Real S_F1 S_F2 S_R1 S_O1 S_O2 S_O3 S_O4 S_F3 S_R2 -prioridad+ 0 1 . : 99 100 138 . : 139 S_R3 S_F4 S_O5 S_O6 S_O7 S_O8 S_F4 Colas Activas Colas Expiradas Nivel de Prioridad Variable
  • 48. 48 Prof. Eliezer Córdova 3.3 Planificación en Linux (2.6)  Planificación hilos tipo SCHED_FIFO Sólo perderá la CPU en los siguientes casos: • Bloqueo • Cede CPU voluntariamente mediante sched_yield() • Es apropiado por otro hilo SCHED_FIFO de mayor prioridad Si hay más de un hilo SCHED_FIFO preparado con la misma prioridad → se activa el que lleva más tiempo esperando  Planificación hilos tipo SCHED_RR Análoga a SCHED_FIFO, excepto en que… Si hay más de un hilo SCHED_FIFO con la misma prioridad → turno rotatorio
  • 49. 49 Prof. Eliezer Córdova 3.3 Planificación en Linux (2.6)  Planificación hilos tipo SCHED_OTHER Turno rotatorio en orden descendente de prioridad Proridad dinámica = prioridad base + bonificación Bonificación: -5 (máxima) .. +5 (mínima) Cálculo de la bonificación: relación tiempo bloqueo / tiempo activo  Duración del cuanto: Depende de prioridad base Entre 5 ms y 800 ms (más prioritario, cuanto más largo)  Procesos “interactivos”: No van a cola expirada (excepción)
  • 50. 50 Prof. Eliezer Córdova 3.3 Planificación en Linux (2.6)  Sistemas multiprocesadores: Cada procesador tiene sus propias colas Reparto de carga de trabajo mediante dominios de planificación Dominio de planificación = conjunto de procesadores que se mantienen equilibrados Los dominios de planificación son jerárquicos

Notas del editor

  1. Aclarar que normalmente las actividades se ejecutan en respuesta a estímulos o eventos externos.
  2. Hacer referencia aquí a que cuando se habló de conocimiento de futuro, se dijo que en sistemas en tiempo real esto no era descabellado.
  3. Comentar brevemente pues a continuación se va a ver un ejemplo concreto: planificación por plazos
  4. Contar que el plazo inicial se suele utilizar para actividades atómicas (de duración despreciable). Contar por qué no se debe usar apropiación en plazos iniciales
  5. IMPORTANTE: T=periodo, no tiempo de terminación!! :-O
  6. Hacer notar que multiprocesadores con acoplamiento débil = sistema distribuido
  7. Hacer notar que las aplicaciones paralelas pueden ejecutarse también en plataformas monoprocesador, si bien es en un sistema multiprocesador donde pueden hacer uso de paralelismo real.
  8. En esta diapositiva, contar en qué consiste el multiprocesamiento simétrico y el multiprocesamiento AMO/Esclavo, sin entrar todavía en ventajas ni inconvenientes. Sistema Simétrico: Todos los procesadores iguales en función Si un procesador queda libre: él mismo ejecuta el planificador para obtener un proceso Si proceso ejecuta E/S: el mismo procesador ejecuta el código del S/O que lo sirve. Sistema Amo/Esclavo: Hay un procesador con atribuciones especiales (el jefe) ;-) Dicho procesador coordina esclavos: Ejecuta el planificador Asigna procesos a procesadores esclavos Cuando un proceso se bloquea, el procesador queda libre -> avisa al amo Hacer notar que en multiprocesamiento simétrico, el planificador se ejecuta de manera distribuida!!
  9. En esta diapositiva, contar en qué consiste la asignación estática: Cada proceso asignado a un procesador “de por vida” Por tanto criterio de asignación se ejecuta una sola vez al iniciarse proceso Cada procesador tiene sus propias colas. Hacer notar que pueden haber procesadores sobrecargados mientras hay procesadores ociosos, pero sin entrar aún en hablar de ventajas e inconvenientes.
  10. En esta diapositiva, contar en qué consiste la asignación dinámica: Procesos no vinculados a procesadores Colas de procesos únicas y compartidas. Criterio de asignación: se lleva a cabo cada vez que un proceso pasa de estado preparado a activo
  11. Lo de las tomas de decisiones se refiere a que se decide a qué procesador se asigna un proceso cada vez que hay que activarlo.
  12. Recalcar que lo que vamos a estudiar son modelos, que no criterios concretos.
  13. Haz notar que se trata de un modelo dinámico
  14. Comentar que una solución al problema de que puedan haber procesadores sin usar es asignar los procesadores por cuantos tiempos proporcional al nº de hilos.
  15. Haz notar lo tremendamente eficiente en tiempo de ejecución que es este método, pues ni siquiera hay penalización por conmutación
  16. Téngase en cuenta que aunque la colsa SERVER_Q se planifica sin cuanto, puede ser apropiada por un gestor de la cola TASK_Q que termine un bloqueo.
  17. Comentar que decir “prioridad de un hilo” equivale a decir “cola en la que se planifica el hilo” Cualquier hilo puede ser apropiado por un hilo que se inserte en una cola de más prioridad Planificación colas en tiempo real: Cada hilo se planifica en la cola que se le asigna en su creación. Planificación colas de prioridad variable: en siguiente diapositiva Comentar que el Zero Page Thread es el demonio de paginación
  18. Comentar que el tick es una abstracción del Hardware Abstraction Layer (HAL)
  19. Lo primero: aclarar que planificación muy compleja. Similar a Windows 2000 Si quieres, cuenta lo de que el planificador le llaman O(1) porque selecciona un proceso en tiempo constante, independientemente de la carga Haz notar que las prioridades van al revés que en Windows 2000 Comentar que existen tres tipos de hilos, SCHED_FIFO, SCHED_RR, SCHED_OTHER, que los dos primeros son solo para el nivel de tiempo real (prioridades estáticas) y el último solo para el nivel no de tiempo real (prioridades dinámicas), y que la forma en que planifican depende, además del nivel, del tipo de hilo. No entrar en más detalle, eso se ve en siguiente diapositiva. Comentar la duplicación colas activas-colas vencidas (click). En las colas vencidas se insertan los procesos que han agotado su cuanto, y cuando termina la ronda en la cola activa, la activa se convierte en vencida y viceversa. Así se evita inanición de los procesos con menor prioridad. Aclarar por tanto que este es un concepto de prioridad un tanto sui-generis.
  20. Aclarar que el sistema decide qué procesos son “interactivos” mediante una formula que tiene en cuenta la frecuencia y duración de los bloqueos. No significa necesariamente que sean interactivos Haz notar que en Linux, los procesos de mayor prioridad salen doblemente beneficiados: más prioridad y encima, mayor cuanto.