Professional Documents
Culture Documents
la CPU
6.2
objetivos
Para introducir la programacin de la CPU, que es la base para los
operativos
6.3
Conceptos bsicos
la mxima utilizacin de la CPU
rfaga de E / S
inters principal
6.4
6.5
planificador de la CPU
Planificador de corto plazo selecciona de entre los procesos en cola de
proceso:
termina
6.6
Transportista
mdulo despachador da el control de la CPU al proceso
el cambio de contexto
6.7
Criterios de programacin
utilizacin de la CPU - Mantener la CPU tan ocupada como sea
posible
unidad de tiempo
proceso particular
6.8
Criterios de optimizacin de la
programacin del algoritmo
aprovechamiento mximo de la CPU
rendimiento mximo
min tiempo de respuesta
min tiempo de espera
el tiempo mnimo de respuesta
6.9
Tiempo quemado
P1
24
P2
P3 3
Supongamos que los procesos llegan en el orden: P1 , P2 , P3
24
P3
2
27
30
6.10
P
0
P1
30
6.11
Ms corta-Trabajo-First (SJF)
Programacin
Asociar con cada proceso la longitud de su siguiente rfaga de
CPU
6.12
Ejemplo de SJF
ProcesoHora de llegada Tiempo quemado
P1 0.0
P22.0
P3 4.0
P4 5.0
P
0
4
3
P3
1
9
P2
16
24
6.13
La determinacin de la longitud
siguiente rfaga de CPU
Slo se puede estimar la longitud - debe ser similar a la anterior
n 1 t n 1 n .
Comnmente, conjunto a
versin preferente llamada ms corto restante en tiempo-primero
6.14
6.15
n + 1 = norte
=1
n + 1 = tnorte
Slo el ltimo recuento real de la CPU se ech
6.16
Ejemplo de ms corta-restante-tiempoprimero
Ahora aadimos los conceptos de diferentes tiempos de llegada y de
preferencia al anlisis
P21
P3
P4
P
0
P4
P1
10
P3
17
26
6.5 mseg
6.17
prioridad de programacin
Un nmero de prioridad (entero) se asocia con cada proceso
La CPU se asigna al proceso con la prioridad ms alta (menor
nonpreemptive
ejecutar
6.18
Ejemplo de prioridad de
programacin
ProcesoUn arri Tiempo quemadoT
Prioridad
P1
10
P21
P3
P4
P55 2
Prioridad Grfico Gantt para la programacin
P
0
P1
P3
16
P4
18
19
6.19
prximo proceso de
Actuacin
q grande FIFO
6.20
P
0
3
10
1
14
1
18
P1
22
26
30
respuesta
6.21
6.22
6.23
multinivel cola
cola de listos se divide en colas separadas, por ejemplo:
fondo (lote)
primer plano - RR
background - FCFS
6.24
6.25
parmetros:
nmero de colas
6.26
Q2 - FCFS
programacin
6.27
programacin de subprocesos
Distincin entre el nivel de usuario y las discusiones a nivel del ncleo
Cuando las roscas compatibles, las discusiones programadas, no los
procesos
6.28
programacin pthread
API permite especificar cualquiera de PCS o SCS durante la
6.29
6.30
6.31
disponibles
Actualmente, ms comn
afinidad suave
afinidad duro
6.32
6.33
para la eficiencia
6.34
6.35
6.36
al rendimiento
1.
2.
6.37
conflicto de expedicin:
1.
Derecho preferente
de compra de
cualquier proceso
que se ejecuta en
modo de ncleo
2.
La liberacin por el
proceso de baja
prioridad de los
recursos
necesarios para los
procesos de alta
prioridad
6.38
0 t re p
6.39
Virtualizacin y Programacin
horarios de software de virtualizacin de mltiples
6.40
6.41
6.42
6.43
6.44
real:
programacin:
pthread_attr_getsched_policy(pthread_attr_t *attr,int
*poltica)
pthread_attr_setsched_poltica(pthread_attr_t
*attr,int poltica)
6.45
6.46
6.47
6.48
estndar de UNIX
Mapa en prioridad global con los valores ms bajos indican numricamente mayor
prioridad
Ejecutar la tarea factible, siempre y cuando el tiempo que queda en divisin de tiempo
(activo)
Si hay tiempo (muerto), No-poder ejecutar hasta que todas las otras tareas utilizan sus
rebanadas
Todas las tareas de ejecucin, capaz de seguimiento en cada CPU cola de ejecucin
estructura de datos
Funcionado bien, pero los tiempos de respuesta pobres para los procesos
interactivos
6.49
clases de planificacin
defecto
2.
tiempo real
calcula latencia objetivo - Intervalo de tiempo durante el cual la tarea debe ejecutarse al
menos una vez
prioridad por defecto normal rinde tiempo de ejecucin virtuales = tiempo de ejecucin real
Para decidir siguiente tarea a ejecutar, la tarea del planificador selecciones con
menor tiempo de ejecucin virtuales
6.50
Rendimiento SFC
6.51
6.52
programacin de windows
Windows utiliza la programacin preventiva basada en
prioridades
tiempo no real
6.53
Win32 API identifica varias clases de prioridad a los que un proceso puede
pertenecer
REALTIME_PRIORITY_CLASS, HIGH_PRIORITY_CLASS,
ABOVE_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS,
BELOW_NORMAL_PRIORITY_CLASS, IDLE_PRIORITY_CLASS
Un hilo dentro de una clase de prioridad dada tiene una prioridad relativa
6.54
estaba esperado
6.55
Prioridades de windows
6.56
Solaris
La programacin basada en prioridad
Seis clases disponibles
Interactiva (IA)
Sistema (SYS)
6.57
6.58
programacin de Solaris
6.59
6.60
Evaluacin algoritmo
Cmo seleccionar el algoritmo de CPU-programacin para un
sistema operativo?
6.61
Evaluacin determinista
Para cada algoritmo, calcular el tiempo medio de espera mnimo
Sencillo y rpido, pero requiere los nmeros exactos de entrada, se
FCS es 28ms:
RR es 23 ms:
6.62
Modelos de colas
Describe la llegada de los procesos, y la CPU y E / S irrumpe
probabilsticamente
6.63
Pequeo's Frmula
norte = Longitud media de la cola
W = Tiempo medio de espera en la cola
= Tasa media de llegada a la cola
Pequeo'Ley s - en estado estacionario, dejando procesa la cola
6.64
simulaciones
modelos de colas limitados
simulaciones ms preciso
6.65
6.66
Implementacin
ambientes varan
6.67