8/18/2019 Sistemas Operativos 6 Chp
1/68
Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Capítulo 6: Programación dela CPU
8/18/2019 Sistemas Operativos 6 Chp
2/68
6.2 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Capítulo 6: Programación de la CPU
Conceptos básicosCriterios de programaciónProgramación de Algoritmosprogramación de subprocesosProgramación de procesador múltiple
Real-Time planicación de la CPUEjemplos de Sistemas OperativosEvaluación algoritmo
8/18/2019 Sistemas Operativos 6 Chp
3/68
6.3 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
objetivos
Para introducir la programación de la CPU, que es la base para lossistemas operativos multiprogramadosPara describir varios algoritmos de programación de la CPUPara discutir los c riterios de evaluación para la selección de unalgoritmo de programación de la CPU para un sistema particular
Para examinar los a lgoritmos de planicación de varios sistemasoperativos
8/18/2019 Sistemas Operativos 6 Chp
4/68
6.4 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Conceptos básicos
la máxima utilización de la CPUobtenida con multiprogramaciónCPU-I O Ciclo / Ráfaga -Ejecución proceso consiste enuna ciclo de ejecución de CPU yE / S esperarráfaga de CPU seguido por Meráfaga de E / S
distribución ráfaga de CPU es deinterés principal
8/18/2019 Sistemas Operativos 6 Chp
5/68
6.5 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
-burst
8/18/2019 Sistemas Operativos 6 Chp
6/68
6.6 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
planificador de la CPU
Planicador de c orto plazo selecciona de entre los procesos en cola de
listos, y asigna la CPU a una de ellosCola puede ser ordenado de diversas maneras
las decisiones de programación de la CPU pueden tener lugar cuando unproceso:1. Cambia de correr a estado de espera2. Cambia de funcionamiento al estado lista3. Cambia de espera de listo4. termina
La programación de los puntos 1 y 4 es nonpreemptiveTodos los demás programación es con derecho preferente
Considere la posibilidad de acceso a los datos compartidosConsidere la posibilidad de preferencia, mientras que en el modo denúcleoConsidere la posibilidad de interrupciones que se producen durante lasactividades cruciales del sistema operativo
8/18/2019 Sistemas Operativos 6 Chp
7/686.7 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Transportista
módulo despachador da el control de la CPU al procesoseleccionado por el planicador de corto plazo; esto implica:
el cambio de contextoel cambio al modo de usuariosaltar a la ubicación correcta en el programa de usuariopara reiniciar dicho programa
latencia d e d espacho - Tiempo que toma al despachadordetener un proceso e iniciar otra ejecución
8/18/2019 Sistemas Operativos 6 Chp
8/686.8 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Criterios de programación
utilización de la C PU - Mantener la CPU tan ocupada como seaposiblerendimiento - # De procesos que completan su ejecución porunidad de tiempoEl tiempo de respuesta - Cantidad de tiempo para ejecutar unproceso particularTiempo de espera - Cantidad de tiempo que un proceso haestado esperando en la cola de preparadosTiempo de respuesta - Cantidad de tiempo que transcurredesde que se presentó una solicitud hasta que se produce laprimera respuesta, no salida (para el entorno de tiempocompartido)
8/18/2019 Sistemas Operativos 6 Chp
9/686.9 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
programación del algoritmo
aprovechamiento máximo de la CPUrendimiento máximomin tiempo de respuestamin tiempo de esperael tiempo mínimo de respuesta
8/18/2019 Sistemas Operativos 6 Chp
10/686.10 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
!e primer llegado" primer servido-#c$eduling %&C'
Proceso Tiempo quemado P 1 24 P 2 3 P 33 Supongamos que los procesos llegan en el orden: P 1 , P 2 , P 3El diagrama de Gantt para el horario es:
Tiempo de espera para P 1 = 0; P 2 = 24; P 3= 27Tiempo medio de espera: (0 + 24 + 27) / 3 = 17
P P P1 2 3
0 24 3027
8/18/2019 Sistemas Operativos 6 Chp
11/686.11 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
&C Programación %Cont('
Supongamos que los procesos llegan en el orden: P 2 , P 3 , P 1 El diagrama de Gantt para el horario es:
Tiempo de espera para P 1= 6 ;P 2 = 0 ;P 3=3Tiempo medio de espera: (6 + 0 + 3) / 3 = 3Mucho mejor que caso anteriorefecto convoy - Corto proceso detrás proceso largo
Considere la posibilidad de que yo los procesos de E / S con destinoa vinculados a l a CPU y muchos
P1
0 3 6 30
P2
P3
8/18/2019 Sistemas Operativos 6 Chp
12/686.12 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
- -Programación
Asociar con cada proceso la longitud de su siguiente ráfaga deCPU
Utilice estas longitudes para programar el proceso con eltiempo más corto
SJF es óptimo - da tiempo medio de espera mínimo para undeterminado conjunto de procesos
La dicultad es saber la longitud de la siguiente petición de laCPUSe puede pedir al usuario
8/18/2019 Sistemas Operativos 6 Chp
13/686.13 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
+jemplo de #*&
Proceso Hora de llegada Tiempo quemado P 1 0.0 6 P 2 2.0 8 P 3 4.0 7 P 4 5.0 3
SJF gráco de programación
Tiempo medio de espera = (3 + 9 + 16 + 0) / 4 = 7
P3
0 3 24
P4
P1
169
P2
8/18/2019 Sistemas Operativos 6 Chp
14/686.14 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
siguiente ráfaga de CPU
Sólo se puede estimar la longitud - debe ser similar a la anteriorA continuación, elija proceso con menor predicho siguienteráfaga de CPU
Se puede hacer mediante el uso de la longitud de las ráfagas de
CPU anteriores, utilizando el promedio exponencial
Comúnmente, α conjunto a ½versión preferente llamada más corto restante e n tiempo-primero
:Define 4.10, 3.
burst CPUnextthefor valuepredicted 2.burst CPUof len th actual 1.
≤≤
=
=
+
α α
τ 1n
thn nt
( ) .11 nnn t τ α α τ −+==
8/18/2019 Sistemas Operativos 6 Chp
15/686.15 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Predicción de la longitud de la siguiente ráfaga de CPU
8/18/2019 Sistemas Operativos 6 Chp
16/686.16 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
+jemplos de promedio e ponencial
α = 0 τ n + 1 = τ norteLa historia reciente no cuenta
α = 1 τ n + 1 = α tnorte
Sólo el último recuento real de la CPU se echóSi ampliamos la fórmula, obtenemos:
τ norte +1 = T α norte + (1 - α ) α tnorte -1 + ... + ( 1 - α ) j α tnorte - j + ... + ( 1 - α ) norte +1 τ 0
Dado que tanto α y (1 - α ) son menos que o igual a 1, cadatérmino sucesivo tiene menos peso que su predecesor
j l d á i
8/18/2019 Sistemas Operativos 6 Chp
17/686.17 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
+jemplo de más corta-restante-tiempo-primero
Ahora añadimos los conceptos de diferentes tiempos de llegada y d epreferencia al análisis Proceso UN arri Llegada Hora TTiempo quemado P 1 0 8 P 2 1 4
P 3 2 9 P 4 3 5Con derecho preferente Gráco Gantt SJF
Tiempo medio de espera = [(10-1) + (1-1) + (17-2) + 5-3)] / 4 = 26/4 =6.5 mseg
P4
0 1 26
P1
P2
10
P3
P1
5 17
8/18/2019 Sistemas Operativos 6 Chp
18/686.18 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
prioridad de programación
Un número de prioridad (entero) se asocia con cada proceso
La CPU se asigna al proceso con la prioridad más alta (menorentero ≡ prioridad más a lta)
Con derecho preferentenonpreemptive
SJF es programación de prioridad donde la prioridad es la inversadel tiempo predicho siguiente ráfaga de CPU
Problema ≡ Inanición - Los procesos de baja prioridad no puedenejecutar
solución ≡ Envejecimiento - A medida que pasa el tiempoaumentar la prioridad del proceso
8/18/2019 Sistemas Operativos 6 Chp
19/686.19 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
programación
Proceso Un arri Tiempo quemado T Prioridad P 1 10 3 P 2 1 1 P 3 2 4 P 4 1 5
P 55 2
Prioridad Gráco Gantt para la programación
tiempo de espera promedio = 8.2 ms
1
0 1 19
P1
P2
16
P4
P3
6 18
P
8/18/2019 Sistemas Operativos 6 Chp
20/686.20 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
.ound .obin %..'
Cada proceso obtiene una pequeña unidad de tiempo de CPU(hora cuántico q), Por lo general 10 a 100 milisegundos.Después de transcurrido este tiempo, el proceso se adelantó y seañade al nal de la cola de listos.Si hay norte Los procesos e n la cola de listos y el cuanto detiempo es q, Entonces cada proceso obtiene 1 / norte del tiempo
de CPU en trozos de a lo sumo q unidades de tiempo a la vez.Ningún proceso espera más de ( norte -1) qunidades de tiempo.Temporizador interrumpe cada cuántica para programar elpróximo proceso deActuación
q grande ⇒ FIFOq⇒ pequeña qdebe ser grande con respecto al cambio decontexto, de lo contrario sobrecarga es demasiado alto
8/18/2019 Sistemas Operativos 6 Chp
21/686.21 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
+jemplo de .. con Time /uantum 0 1
Proceso Tiempo quemadoP 124 P 2 3 P 33El diagrama de Gantt es:
Por lo general, un mayor cambio promedio que SJF, pero mejorrespuestaq debe ser grande en comparación con el tiempo de cambio de contextoq normalmente 10 ms a 100 m s, cambio de contexto
8/18/2019 Sistemas Operativos 6 Chp
22/686.22 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
de conte to
8/18/2019 Sistemas Operativos 6 Chp
23/686.23 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Tiempo de respuesta varía con el tiempo /uantum
80% de las ráfagas deCPU debe ser más cortoque q
8/18/2019 Sistemas Operativos 6 Chp
24/68
6.24 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
multinivel cola
cola de listos s e divide en colas s eparadas, por ejemplo:
primer plano (interactivo)fondo (l ote)
Proceso de forma permanente en una cola dadaCada cola tiene su propio algoritmo de planicación:
primer plano - RRbackground - FCFSLa programación debe realizarse entre las colas:
programación de prioridad ja; (Es decir, servir a todos desde elprimer plano de fondo a continuación). Posibilidad de hambre.
rebanada de tiempo - cada cola para crear una cierta cantidadde tiempo de CPU que se puede programar entre sus procesos;es decir, el 80% a los conocimientos previos en RR20% a fondo en el orden de llegada
8/18/2019 Sistemas Operativos 6 Chp
25/68
6.25 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación de colas multinivel
8/18/2019 Sistemas Operativos 6 Chp
26/68
6.26 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Comentarios cola de multinivel
Un proceso puede moverse entre las distintas colas; elenvejecimiento puede ser implementado de esta maneraplanicador multinivel-feedback-cola denida por los s iguientesparámetros:
número de colas
algoritmos de planicación para cada colamétodo utilizado para determinar el momento de actualizar unproceso demétodo utilizado para determinar cuándo se debe degradar unproceso demétodo utilizado para determinar qué cola un proceso entrarácuando ese proceso requiere un servicio
8/18/2019 Sistemas Operativos 6 Chp
27/68
6.27 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
multinivel
Tres colas:Q0 - RR con cuanto de tiempo de 8milisegundosQ1 - RR tiempo de 16 milisegundos cuánticaQ2 - FCFS
programaciónUn nuevo trabajo entra en cola Q0 que sesirve FCFS
Cuando llega al CPU, trabajo recibe 8milisegundosSi no termina en 8 ms, el trabajo semueve a l a cola Q1
AQ1 trabajo está otra vez con FCFS yrecibe 16 milisegundos a dicionales
Si aún no se completa, hasta que seaapropiado y se trasladó a la cola Q2
8/18/2019 Sistemas Operativos 6 Chp
28/68
6.28 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
programación de subprocesos
Distinción entre el nivel de usuario y las discusiones a nivel del núcleoCuando las roscas compatibles, las discusiones programadas, no losprocesosMuchos-a-uno y muchos-a-muchos modelos, hilos de rosca horarios dela biblioteca de nivel de usuario se ejecutan en LWP
Conocido como alcance d el proceso de co ntención (PCS )ya que lacompetencia de programación es en el proceso deNormalmente hecho a través de prioridad establecido por elprogramador
hilo del núcleo programado en la CPU disponible es alcance sistema d econtención ( SCS )- La competencia entre todos los hilos en el sistema
8/18/2019 Sistemas Operativos 6 Chp
29/68
6.29 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
programación pt$read
API permite especicar cualquiera de PCS o SCS durante lacreación del hiloPTHREAD_SCOPE_PROCESS horarios hilos utilizandoPCS programaciónPTHREAD_SCOPE_SYSTEM horarios hilos utilizando SCSprogramación
Puede ser limitado por el sistema operativo - Linux y Mac OS Xsólo permiten PTHREAD_SCOPE_SYSTEM
8/18/2019 Sistemas Operativos 6 Chp
30/68
6.30 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Pt$read Programación 3P4# include
#include
NUM_THREADS #define int !ain "int ar c$ char % ar & '() *
int i$ +!,ito de aplicaci-n pthread_t tid 'H/01S NUM(
attr pthread_attr_t
2 % 1,tener los atri,utos por defecto % 2
pthread_attr_init "3 attr)
2 % Se de,er+ consultar en el +!,ito actual % 2 si "pthread_attr_ etscope "3 attr$ 3 +!,ito de aplicaci-n)4 5 6)
fprintf "stderr$ 7No se puede o,tener la pro ra!aci-n de alcance 8n7)
else *
si "55 alcance 9THREAD_S:19E_9R1:ESS)
printf " 79THREAD_S:19E_9R1:ESS7)
else if "alcance 55 9THREAD_S:19E_S;STEM)printf " 79THREAD_S:19E_S;STEM7)
!+s fprintf "stderr$ 7 alor ile al alcance. 8 n7)
=
8/18/2019 Sistemas Operativos 6 Chp
31/68
6.31 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Pt$read Programación 3P4
2 % Esta,lecer el al orit!o de planificaci-n de 9:S o S:S % 2
pthread_attr_setscope "3 attr$ 9THREAD_S:19E_S;STEM)2 % :rear los hilos % 2
for "i 5 6 i
8/18/2019 Sistemas Operativos 6 Chp
32/68
6.32 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación de procesador m5ltiple
planicación de la CPU más complejo cuando varias CPU están
disponiblesHomogéneo procesadores dentro de un multiprocesadormultiprocesamiento asimétrico - Sólo un procesador accede a lasestructuras de datos del sistema, aliviando la necesidad deintercambio de datosEl multiprocesamiento simétrico (SMP )- Cada procesador es auto-programación, todos los procesos en cola de preparados común, ocada uno tiene su propia cola privada de los procesos listos
Actualmente, más comúnla a nidad del procesador - Proceso tiene anidad por elprocesador en el que se está ejecutando actualmente
anidad suaveanidad duro
Las variaciones incluyendo los c onjuntos d e p rocesadores
8/18/2019 Sistemas Operativos 6 Chp
33/68
6.33 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
U)3 2 CPU Programación
Tenga en cuenta que los algoritmos de memoria de colocacióntambién pueden considerar afinidad
ar as en a programac n e procesa or -
8/18/2019 Sistemas Operativos 6 Chp
34/68
6.34 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
ar as en a programac n e procesa or +8uilibrio de carga
Si SMP, la necesidad de mantener todas las CPU cargadospara la ecienciaBalanceo de carga los intentos de mantener la carga detrabajo distribuida uniformementela migración de em puje - Comprobaciones periódicas detrabajo se cargan en cada procesador, y si se encuentra tareaempuja desde la CPU sobrecargada con otras CPUsla m igración de a rrastre - Procesadores ociosos esperandotirones tarea de procesador ocupado
8/18/2019 Sistemas Operativos 6 Chp
35/68
6.35 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
n5cleos
tendencia reciente para colocar múltiples núcleos deprocesador en mismo chip físicoMás rápido y consume menos energíaMúltiples hilos por núcleo también está creciendo
Se aprovecha de la parada de memoria para avanzar enotro hilo, mientras que la memoria recuperar sucede
8/18/2019 Sistemas Operativos 6 Chp
36/68
6.36 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
#istema multin5cleo multi$ilo
8/18/2019 Sistemas Operativos 6 Chp
37/68
6.37 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
.eal-Time planificación de la CPU
Puede presentar desafíos obvios
sistemas d e tiempo real suaves -Se programará ninguna garantía encuanto al proceso cuando críticosen tiempo realLos sistemas d e tiempo real -Tarea debe ser reparado por su
plazoHay dos tipos de latencias afectanal rendimiento
1. Interrupción de latencia - tiempo desdela llegada de interrupción al inicio de larutina que interrumpen los s ervicios
2. Despacho de latencia - tiempo para elhorario para tomar proceso actual de laCPU y cambiar a otro
8/18/2019 Sistemas Operativos 6 Chp
38/68
6.38 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación %Cont('
fase de latencia
conicto de expedición:1. Derecho preferente
de compra decualquier procesoque se ejecuta enmodo de núcleo
2. La liberación por elproceso de bajaprioridad de losrecursosnecesarios para losprocesos de altaprioridad
8/18/2019 Sistemas Operativos 6 Chp
39/68
6.39 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación basada en prioridades
Para la programación en tiempo real, el planicador debe ser
compatible con la programación preventiva, basada en prioridadesPero sólo garantiza suave en tiempo real
Por tiempo real duro también debe proporcionar la capacidad paracumplir los plazosLos procesos tienen nuevas características: periódico cuáles
requieren de la CPU a intervalos constantesTiene tiempo de procesamiento t, fecha tope re, período p0 ≤ t ≤ re ≤ pTarifa de la tarea periódica es 1 / p
8/18/2019 Sistemas Operativos 6 Chp
40/68
6.40 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
7irtuali ación 2 Programación
horarios de software de virtualización de múltipleshuéspedes Onto CPU (s)Cada invitado haciendo su propia programación
Sin saber que doesn't poseen las CPUsPuede resultar en un tiempo de respuesta
Puede afectar los relojes de la hora del día en loshuéspedesPuede deshacer buenos esfuerzos algoritmo deplanicación de los huéspedes
8/18/2019 Sistemas Operativos 6 Chp
41/68
6.41 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación tasa )ontonic
Se asigna una prioridad basada en la inversa de su periodo
períodos más cortos = mayor prioridad;
Los períodos más largos = prioridad más baja
P1 se le asigna una prioridad mayor que P 2 .
ncump m ento e p a os con una tasa e
8/18/2019 Sistemas Operativos 6 Chp
42/68
6.42 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
p p)onotónica Programación
a ec a m e m s emprana r mera
8/18/2019 Sistemas Operativos 6 Chp
43/68
6.43 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
a ec a m e m s emprana r meraProgramación %+!&'
Las prioridades se asignan de acuerdo a los plazos:
cuanto antes de la fecha límite, mayor es la prioridad;la tarde de la fecha límite, menor será la prioridad
8/18/2019 Sistemas Operativos 6 Chp
44/68
6.44 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Compartir proporcional Programación
T se asignan cuotas entre todos los procesos en el sistema
Una aplicación recibe norte acciones cuando N
8/18/2019 Sistemas Operativos 6 Chp
45/68
6.45 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación P9#4 en tiempo real
los estándar POSIX.1b
API proporciona funciones para la gestión en tiempo real traposrerecisa dos clases de planicación para las discusiones en tiemporeal:
n SCHED_FIFO - hilos se programan utilizando una estrategia FCFS conuna cola FIFO. No hay tiempo compartido de hilos de igual prioridad
n SCHED_RR - Similar a SCHED_FIFO excepto el tiempo compartido seproduce de hilos de igual prioridadDene dos funciones para obtener y establecer la política deprogramación:
n pthread_attr_getsched_policy(pthread_attr_t *attr,int
*política)n pthread_attr_setsched_política(pthread_attr_t
*attr,int política)
en empo rea e
8/18/2019 Sistemas Operativos 6 Chp
46/68
6.46 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
en empo rea eprogramación
# include
#include
NUM_THREADS #define int !ain "int ar c$ char % ar & '()
*
int i$ la pol?tica pthread_t_tid 'NUM_THREADS(
attr pthread_attr_t
2 % 1,tener los atri,utos por defecto % 2
pthread_attr_init "3 attr)
2 % 1,tener la pol?tica de planificaci-n actual % 2 si "pthread_attr_ etschedpolic3 "3 attr$ 3 la pol?tica)4 5 6)
fprintf "stderr$ 7No se puede o,tener la pol?tica. 8 n7)
else *
si "55 pol?tica S:HED_1THER) printf " 7S:HED_1THER 8 n7)
else if "pol?tica 55 S:HED_RR) printf " 7S:HED_RR 8 n7)else if "pol?tica 55 S:HED_C/C1) printf " 7S:HED_C/C1 8 n7)
=
8/18/2019 Sistemas Operativos 6 Chp
47/68
8/18/2019 Sistemas Operativos 6 Chp
48/68
(
8/18/2019 Sistemas Operativos 6 Chp
49/68
6.49 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
8/18/2019 Sistemas Operativos 6 Chp
50/68
6.50 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación ,inu en la versión
8/18/2019 Sistemas Operativos 6 Chp
51/68
6.51 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
.endimiento #&C
i P ió %C t('
8/18/2019 Sistemas Operativos 6 Chp
52/68
6.52 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
,inu Programación %Cont('
programación en tiempo real de acuerdo con POSIX.1b
tareas e n tiempo real tienen prioridades e státicasEn tiempo real más el mapa normal en régimen de prioridad globalBuen valor de los mapas de -20 a 100 prioridad globalBuen valor de 19 se asigna a la prioridad 139
ió d @i d @
8/18/2019 Sistemas Operativos 6 Chp
53/68
6.53 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
programación de @indo@s
Windows utiliza la programación preventiva basada en
prioridadessubproceso de prioridad más a lta corre juntoTransportista es planicadorEl hilo se termina hasta que (1) bloques, (2) utiliza porciónde tiempo, (3) apropiado por mayor prioridad hilo
las discusiones en tiempo real pueden adelantarse entiempo no realesquema de prioridad de 32 nivelesvariable d e c lase es 1-15, clase en tiempo real es 16-31La prioridad 0 es el hilo de administración de memoriaCola para cada prioridadSi hay hilo de ejecución podrá, corre subproceso inactivo
l d i id d d Ai d @
8/18/2019 Sistemas Operativos 6 Chp
54/68
6.54 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
,as clases de prioridad de Aindo@s
Win32 API identica 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_CLASSTodos son variables, excepto TIEMPO REAL
Un hilo dentro de una clase de prioridad dada tiene una prioridad relativa
TIME_CRITICAL, MÁS ALTO, ABOVE_NORMAL, NORMAL, BELOW_NORMAL,BAJO, EN REPOSO
clase de prioridad y la prioridad que se combinan para dar prioridad numéricaprioridad de base es normal dentro de la claseSi expira cuántica, la prioridad baja, pero nunca por debajo de la base
l d i id d d Ai d @ %C t('
8/18/2019 Sistemas Operativos 6 Chp
55/68
6.55 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
,as clases de prioridad de Aindo@s %Cont('
Si se produce de espera, la prioridad aumentó en función de lo queestaba esperadoventana en primer plano 3x dada aumento de prioridadWindows 7 ha añadido programación en modo de usuario (UMS )
Las aplicaciones crean y administran las discusionesindependientes del núcleoPara gran número de hilos, mucho más ecienteUMS programadores provienen de bibliotecas lenguaje deprogramación como C ++ Tiempo de ejecución concurrente(ConcRT) Marco
P i id d d @i d @
8/18/2019 Sistemas Operativos 6 Chp
56/68
6.56 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Prioridades de @indo@s
#olaris
8/18/2019 Sistemas Operativos 6 Chp
57/68
6.57 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
#olaris
La programación basada en prioridad
Seis clases disponibles El tiempo compartido (por defecto) (TS)Interactiva (IA)en tiempo real (RT)Sistema (SYS)De reparto justo (FSS)prioridad ja (PF)
subproceso dado puede estar en una clase a la vezCada clase tiene su propio algoritmo de planicación
El tiempo compartido es cola de retroalimentación de varios nivelescargable tabla congurable por el administrador de sistemas
Tabla de despac$o de #olaris
8/18/2019 Sistemas Operativos 6 Chp
58/68
6.58 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Tabla de despac$o de #olaris
g ió d # l i
8/18/2019 Sistemas Operativos 6 Chp
59/68
6.59 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
programación de #olaris
P g ió d # l i %C t('
8/18/2019 Sistemas Operativos 6 Chp
60/68
6.60 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Programación de #olaris %Cont('
Programador convierte prioridades especícas de clase en una
prioridad global hilos porHilo con mayor prioridad pasa al ladoSe ejecuta hasta que (1) bloques, (2) utiliza porción detiempo, (3) apropiado por mayor prioridad hiloVarios subprocesos al mismo prioridad seleccionados a travésde RR
+valuación algoritmo
8/18/2019 Sistemas Operativos 6 Chp
61/68
6.61 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
+valuación algoritmo
¿Cómo seleccionar el algoritmo de CPU-programación para unsistema operativo?Determinar los c riterios, a continuación, evaluar los a lgoritmosmodelado determinista
Tipo de evaluación analíticaToma una carga de trabajo particular predeterminada y dene elrendimiento de cada algoritmo para que la carga de trabajo
Considere 5 procesos que lleguen a tiempo 0:
l ió d i i
8/18/2019 Sistemas Operativos 6 Chp
62/68
6.62 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
+valuación determinista
Para cada algoritmo, calcular el tiempo medio de espera mínimoSencillo y rápido, pero requiere los números exactos de entrada, seaplica únicamente a las entradas
FCS es 28ms:
No preferente USF es 13ms:
RR es 23 ms:
) d l d l
8/18/2019 Sistemas Operativos 6 Chp
63/68
6.63 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
)odelos de colas
Describe la llegada de los procesos, y la CPU y E / S irrumpe
probabilísticamenteComúnmente exponencial, y descrito por mediaCalcula la media utilización de rendimiento, tiempo deespera, etc.
sistema informático descrito como la red de servidores, cada unocon cola de procesos en espera
Conocer las tasas de llegada y las tarifas de serviciosCalcula la utilización, la longitud media de la cola, el tiempopromedio de espera, etc.
P 8 B &ó l
8/18/2019 Sistemas Operativos 6 Chp
64/68
6.64 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
Pe8ueBo s &órmula
norte = Longitud media de la cola
W = Tiempo medio de espera en la colaλ = Tasa media de llegada a la colaPequeño'Ley s - en estado estacionario, dejando procesa la coladebe ser igual a los procesos de llegar, por lo tanto: norte =λ incógnita W
Válido para cualquier algoritmo de planicación y distribuciónde la llegada
Por ejemplo, si una media de 7 procesos llegar por segundo, ynormalmente 14 procesos en la cola, el tiempo promedio deespera entonces por proceso = 2 segundos
i l i
8/18/2019 Sistemas Operativos 6 Chp
65/68
6.65 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
simulaciones
modelos de colas limitadossimulaciones más preciso
modelo programada del sistema informáticoReloj es una variableRecopilar estadísticas que indican rendimiento de los a lgoritmos
Datos a l a unidad de simulación conseguida a través delGenerador de números aleatorios de acuerdo a las probabilidadesDistribuciones dene matemáticamente o empíricamenteTraza cintas s ecuencias de registro de eventos reales en sistemasreales
va uac n e a c e u ers por#imulación
8/18/2019 Sistemas Operativos 6 Chp
66/68
6.66 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
#imulación
4mplementación
8/18/2019 Sistemas Operativos 6 Chp
67/68
6.67 Silberschatz, Galvin an d Gagne ©2013Operating System Concepts – 9 th Edition
4mplementación
simulaciones incluso tienen una precisión limitada
Sólo aplicar nuevo planicador y la prueba en sistemas realesAlto costo, de alto riesgoambientes varían
La mayoría de los programadores exibles pueden ser modicadospor el lugar o por sistemaO API para modicar las prioridadesPero una vez más entornos varían
8/18/2019 Sistemas Operativos 6 Chp
68/68
&inal del capítulo 6