SlideShare una empresa de Scribd logo
Capítulo 5: Planificación del CPU
5.2
Capítulo 5: Planificación del CPU
 Conceptos básicos
 Criterios de planificación
 Algoritmos de planificación
 Planificación multi-procesador
 Planificación de tiempo-real
 Planificación de hilos
 Ejemplos de sistemas operativos
5.3
Tipos de Procesos
 Limitados por CPU
 Limitados por E/S
5.4
Conceptos Básicos
 Utilización máxima del CPU se obtiene con la
multiprogramación
 Ciclo de picos CPU-E/S – La ejecución de un
proceso consiste de un ciclo de ejecución del CPU
y de espera de E/S
 Distribución de picos del CPU
5.5
Secuencia Alternada de Picos de CPU y E/S
5.6
Histograma de Tiempos de Picos de CPU
5.7
Planificador del CPU
 Selecciona de entre los procesos en memoria a
aquellos que estén listos para ejecutarse, y le
asigna el CPU a uno de ellos
 Decisiones pueden ser necesarias cuando un
proceso:
1. Se cambia de en ejecución a espera
2. Se cambia de en ejecución a listo
3. Se cambia de en espera a listo
4. Termina
 Planificación para sistemas con casos 1 y 4 es no
apropiativo
 Todos los otros casos son apropiativos
5.8
Planificador del CPU (Cont.)
 Los algoritmos pueden ser:
 Apropiativos
 El planificador puede interrumpir los procesos
 No apropiativos
 El planificador espera a que el proceso abandone
el CPU voluntariamente
5.9
Despachador
 Módulo despachador proporciona control del CPU
a los procesos seleccionados por el planificador
de cotro plazo; involucra:
 Cambiar el contexto
 Cambiar a modo de usuario
 Saltar a la posición adecuada en el programa
del usuario, y re-iniciar el programa
 Latencia de despachos – tiempo que le toma al
despachador parar un proceso y echar a andar a
otro proceso
5.10
Criterios de planificación
 Orientados al usuario
 Tiempo de retorno
 Tiempo total transcurrido en un proceso en particular
 Tiempo de respuesta
 Procesos interactivos, tiempo para resolver 1ra. transacción
 Tiempo de espera
 Orientados al sistema
 Rendimiento
 # de procesos que terminan su ejecución por unidad de tiempo
 Utilización del procesador
 % de tiempo que el CPU está ocupado
 Equidad ( ningún proceso debe caer en inanición )
 Inanición: el proceso no puede obtener recursos que están siendo
usados por otros procesos
5.11
Criterios de Optimización
 Máxima utilización del CPU
 Máximo rendimiento
 Mínimo tiempo de retorno
 Mínimo tiempo de espera
 Mínimo tiempo de respuesta
 En la practica se toman los promedios de los
tiempo.
 Para obtener una respuesta predecible se puede
optimizar la varianza.
5.12
Planificación First-Come, First-Served (FCFS)
Process Burst Time
P1 24
P2 3
P3 3
 Suponga que los procesos llegan en el siguiente orden: P1 , P2
, P3
 Dibuje un diagrama para la planificación:
P1 P2 P3
24 27 30
0
Tiempo de espera para P1 = 0; P2 = 24; P3 = 27
Tiempo de espera promedio: (0 + 24 + 27)/3 = 17
FCFS es no-apropiativo
5.13
Planificación FCFS (Cont.)
Tiempo de espera para P1 = 6; P2 = 0; P3 = 3
Tiempo de espera promedio: (6 + 0 + 3)/3 = 3
Mucho mejor que el caso anterior
Efecto Convoy procesos cortos detrás de los grandes
P1
P3
P2
6
3 30
0
Suponga que los procesos arriban en el siguiente orden
P2 , P3 , P1 .
Dibuje el diagrama:
5.14
Planificación Shortest-Job-First (SJF)
 Asocia con cada proceso la longitud de su siguiente período de
uso de CPU. Usa este dato para planificar procesos con el
menor tiempo.
 Dos esquemas:
 No apropiativo
 Una vez que el CPU se le asigna a un proceso, éste no puede
ser sacado hasta que complete su pico (burst) de CPU
 Apropiativo
 Si llega un proceso nuevo con un pico de CPU (burst) de
menor longitud a la longitud restante de tiempo de CPU del
proceso actual, se hará un cambio de contexto.
 Esquema conocido como el Shortest-Remaining-Time-First
(SRTF).
 SJF es óptimo – provee el mínimo tiempo de espera promedio
para un conjunto de procesos dado.
5.15
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
SJF (no apropiativo), Tiempo de espera promedio ?
Ejemplo de SJF No apropiativo
P1 P3 P2
7
3 16
0
P4
8 12
Tiempo de espera promedio = (0 + 6 + 3 + 7)/4 = 4
5.16
Ejemplo de SJF Apropiativo
Average waiting time = (9 + 1 + 0 +2)/4 = 3
P1 P3
P2
4
2 11
0
P4
5 7
P2 P1
16
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
SJF (apropiativo), Tiempo de espera promedio ?
5.17
Determinando la Longitud del Siguiente
Período de CPU
 La longitud solo se puede estimar.
 Se lo puede usar utilizando datos previos y usando una
funcion de promedio exponencial
 tn: longitud de la n-ésima burst de CPU
 τ n+1: valor predicho para la siguiente burst de CPU
 α : parámetro de ajuste,
 τ n+1 = α tn + (1-α) τ n
 tn: contiene la información más reciente
 τ n: contiene la historia pasada
5.18
Ejemplos
 α =0
 τ n+1 = τ n
 La historia no cuenta
 α =1
 τ n+1 = tn
 Sólo cuenta burst anterior.
 Si se expande la formula se tiene:
 τ n+1 = α tn+(1 - α) α tn-1 + …
+(1 - α ) j
α tn-j + …
+(1 - α )n
τ 0
 Ya que ambos α y (1 - α) son menores o iguales que 1, cada
término sucesivo tiene menor peso que su predecesor.
5.19
Predicción de la Longitud del Siguiente Pico
de CPU
α = ½
τ 0 = 10
5.20
Planificación por Prioridades
 Una prioridad (entero) se asocia con cada proceso
 El CPU se asigna al proceso con la prioridad mayor
(el entero más pequeño ≡ prioridad más alta)
 Apropiativo
 No apropiativo
 SJF es una aplicación de este algoritmo donde la
prioridad está dada por el burst de CPU que se ha
obtenido como predicción
 Problema ?
 Solución ?
≡ Inanición – procesos con prioridad
baja nunca se ejecutan
≡ Aging – cambiar las prioridades de
los procesos.
5.21
Criterios para Cambios de Prioridades
 Internos
 Archivos abiertos
 Requerimientos de memoria
 Tiempo de CPU usado
 Edad del proceso
 Tiempo de espera
 Externos
 Tipo de usuario
 Tipo de aplicación
5.22
Round Robin (RR)
 Cada proceso obtiene un tiempo de procesador pequeño
(quantum), usualmente entre 10-100 milisegundos
 Cuando el tiempo asignado termina . . ? . .
 Si hay n procesos en la cola de Listos y el tiempo de
quantum es q. ¿ Cuánto tiempo máximo debe esperar un
proceso antes de usar nuevamente el CPU ?
 (n-1)q unidades de tiempo
 Rendimiento
 q demasiado grande ⇒FIFO
 q demasiado pequeño ⇒compare q con el tiempo de
cambio de contexto
5.23
5.24
Ejemplo: RR con Quantum = 20
Process Burst Time
P1 53
P2 17
P3 68
P4 24
Diagrama
Generalmente, mayor tiempo de retorno que SJF,
pero mejor tiempo de respuesta
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 37 57 77 97 117 121 134 154 162
5.25
¿Qué pasa con un quantum pequeño ?
5.26
5.27
Tiempo de Retorno Varía con el Tamaño del
Quantum
5.28
Sesion 2
5.29
Colas multinivel
 Dividen la cola de Listos en colas
separadas.
 Un posible criterio es el tiempo de
respuesta.
 Cada cola tiene su propio algoritmo de
planificación
 Debe existir un algoritmo de
planificación entre colas
 Planificación de prioridad fija (servir
a la cola siguiente solo si se vacia la
otra)
 Periodo de tiempo: cada cola recibe
un cierto periodo de tiempo de CPU
Tareas del sistema
Prioridad baja
Prioridad alta
Tareas interactivas
Tareas de edición
Tareas batch
RR
RR
RR
FCFS
5.30
Colas Multiniveles
 La cola de listos se particiona:
 Foreground (procesos interactivos)
 Background (procesos batch)
 Cada cola tiene su propio algoritmo de planificación:
 Se debe planificar entre colas también:
 Planificación de prioridad fija (ej.: servir a todos los de
foreground, luego background)  inanición es posible
 Periodo de tiempo: cada cola recibe un cierto periodo
de tiempo de CPU, el cual lo puede planificar entre
procesos, ej.:
 80% para foreground – RR
 20% para background – FCFS
Foreground – RR
Background – FCFS
5.31
Colas Multinivel con Retroalimentación
 Un proceso puede moverse entre
colas;
 Es una manera de implementar
envejecimiento (aging)
 Planificador definido por los sgts.
parámetros:
 # de colas
 Algoritmos de planificación de cada
cola
 Cuándo “ascender” a un proceso?
 Cuándo “descender” a un proceso?
 Dónde poner inicialmente a los
trabajos?
Quantum = 10
Quantum = 20
FCFS
5.32
Colas Multinivel con Retroalimentación
5.33
Ejemplo
 Tres colas:
 Q0 – RR, quantum 8 milisengundos
 Q1 – RR, quantum 16 milisengundos
 Q2 – FCFS
 Planificación:
 Trabajo nuevo entra a cola Q0, servida con
RR(8). Cuando obtiene el CPU, si no termina en
8 msegs, se lo mueve a cola Q1
 En Q1 trabajo es atendido por RR(16) y si no
termina en 16 msegs, se lo mueve a la cola Q2
5.34
Planificación Multiprocesador
 Planificación es más compleja
 Es posible compartir la carga (load sharing)
 Planificación para procesadores homogéneos
dentro de un multiprocesador:
 Multiprocesamiento asimétrico – el procesador
maestro planifica a los procesadores esclavos
 Simple, ya que el maestro maneja las
estructuras de datos
 Multiprocesamiento simétrico (SMP) – cada
procesador realiza su propia planificación
 Cola de listos común  sincronización.
 Cada procesador con su cola.
 Soportado por S.O. modernos: Windows XP,
Windows 2000, Solaris, Linux, Mac OSX.
5.35
Hyperthreading
 Tecnologia desarrollada y propiedad de intel.
 Se implementa los elementos de arquitectura de CPU de
varios procesadores en un solo procesador.
 Para el SO hay varios procesadores.
 Intel dice que hay mejora en tiempo del tiempo de
respuesta del 30%
 Otros fabricantes dicen que es mas lento para procesos
limitados por CPU.
5.36
Planificación Multiprocesador (cont.)
 Consideraciones de SMP:
 Afinidad de procesador
 Para evitar invalidar las cachés de HW
 Dos tipos:
 Afinidad suave – buscada por el S.O.
 Afinidad dura – solicitada por el proceso
(soportada por Linux)
 Para obtener balanceo de carga:
 Migración push: tercer proceso distribuye la carga
 Migración pull: CPU con cola vacia extrae un
proceso en cola de espera de otro CPU
5.37
Planificación en Tiempo Real
 Sistemas de tiempo real duros – requeridos para
completar tareas críticas dentro de un tiempo
límite garantizado
 Computación de tiempo real suave – requiere que
los procesos críticos reciban una prioridad sobre
los menos críticos
5.38
Planificación de Hilos
 El CPU planifica solo hilos de kernel.
 Planificación Local
 Librería de hilos decide a qué hilo colocar en un lwp
disponible
 Usualmente se usan prioridades dadas por el
programador. (como?)
 Planificación Global
 Como decide el kernel a qué hilo de kernel
planificar a continuación
 En algunas librerias y SO se puede elegir el tipo de
planificacion.
 Process scope (asignan sobre Lwp)
 System scope (se crean Lwp de ser necesario);
5.39
API de Planificación de Pthreads
5.40
Ejemplos de Sistemas Operativos
 Planificación de:
 Solaris
 Windows XP
 Linux
5.41
Planificación de Solaris
5.42
Tabla de Despachamiento de Solaris
•Alta prioridad → menor quantum
•Prioridad dinamica: cumple su quantum → decrese, regresa de
espera → aumenta
5.43
Prioridades de Windows XP
•Tambien se agrupan por clases base (fila 1)
•Por cada clase hay prioridades relativas (col 1)
•Prioridades cambian de dinámicamente dentro de los
limites de las clases bases.
•En sistemas de ventanas se hacen consideraciones
especiales (teclado, pintado,disco)
5.44
Planificación de Linux
 Dos clases: tiempo-real y nice
 Ambos usan prioridades (0-99 RT, 100-140 TC)
 Alta prioridad → mayor quantum time.
 Nice
 Prioridades basados en tiempo de quantum remanente
 Cuando TQR = 0, se elige a otro proceso
 Cuando todos tienen TQR = 0, se re-acredita tiempo a
los procesos
 Basado en factores que incluyen prioridad e historia
 Tiempo-real
 Tiempo-real suave
 Cumple con Posix.1b – dos clases
 FCFS y RR
 Proceso con mayor prioridad siempre se ejecuta
primero
5.45
Planificación de Linux
 Dos algoritmos: tiempo-compartido y tiempo-real
 Tiempo-compartido
 Prioridades basados en créditos – se planifica a proceso
con más créditos
 Se resta un crédito cuando hay una interrupción del
timer
 Cuando credit = 0, se elige a otro proceso
 Cuando todos tienen credit = 0, se re-acredita a los
procesos y se cambian las prioridades
 Basado en factores que incluyen prioridad e historia
 Tiempo-real
 Tiempo-real suave.
 Prioridades fijas
 Cumple con Posix.1b – dos clases
 FCFS y RR
 Proceso con mayor prioridad siempre se ejecuta
primero
5.46
Planificacion en linux
Fin del Capítulo 5

Más contenido relacionado

Similar a Planificación Sistemas Operativas

6 so-teo-planificacion
6 so-teo-planificacion6 so-teo-planificacion
6 so-teo-planificacion
Rodrigo Jimenez
 
Algoritmos de planificacion.pdf
Algoritmos de planificacion.pdfAlgoritmos de planificacion.pdf
Algoritmos de planificacion.pdf
DanieryMachado
 
So procesos-planif
So procesos-planifSo procesos-planif
So procesos-planif
angelicaalvarado88
 
Planificación Sistemas Operativos 2021 2
Planificación Sistemas Operativos 2021 2Planificación Sistemas Operativos 2021 2
Planificación Sistemas Operativos 2021 2
Richard Eliseo Mendoza Gafaro
 
Planificacion cpu
Planificacion cpuPlanificacion cpu
Planificacion cpu
Leandro Torroija
 
Planificación de la cpu
Planificación de la cpuPlanificación de la cpu
Planificación de la cpu
joss1991
 
2003 Clase0610
2003 Clase06102003 Clase0610
2003 Clase0610
Patricio Godoy
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
alexander alticoru
 
Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)
fredur
 
Solemne 2 (con pauta)
Solemne 2 (con pauta)Solemne 2 (con pauta)
Solemne 2 (con pauta)
Gerardo Aguero
 
Colaborativo_Nelis Rivero
Colaborativo_Nelis RiveroColaborativo_Nelis Rivero
Colaborativo_Nelis Rivero
NelisRivero
 
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
Videoconferencias UTPL
 
SISTEMAS OPERATIVOS ( I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( I  Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( I  Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( I Bimestre Abril Agosto 2011)
Videoconferencias UTPL
 
Round robin apa
Round robin apaRound robin apa
Round robin apa
Salvador Vasquez perez
 
UNIDAD III
UNIDAD IIIUNIDAD III
UNIDAD III
Llabajo Baez
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
Richard Ortega
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
guest5db8b1
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
guest5db8b1
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
Julieth Ximena
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
Julieth Ximena
 

Similar a Planificación Sistemas Operativas (20)

6 so-teo-planificacion
6 so-teo-planificacion6 so-teo-planificacion
6 so-teo-planificacion
 
Algoritmos de planificacion.pdf
Algoritmos de planificacion.pdfAlgoritmos de planificacion.pdf
Algoritmos de planificacion.pdf
 
So procesos-planif
So procesos-planifSo procesos-planif
So procesos-planif
 
Planificación Sistemas Operativos 2021 2
Planificación Sistemas Operativos 2021 2Planificación Sistemas Operativos 2021 2
Planificación Sistemas Operativos 2021 2
 
Planificacion cpu
Planificacion cpuPlanificacion cpu
Planificacion cpu
 
Planificación de la cpu
Planificación de la cpuPlanificación de la cpu
Planificación de la cpu
 
2003 Clase0610
2003 Clase06102003 Clase0610
2003 Clase0610
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)Capítulo 4 - Libro Azúl (Profesor)
Capítulo 4 - Libro Azúl (Profesor)
 
Solemne 2 (con pauta)
Solemne 2 (con pauta)Solemne 2 (con pauta)
Solemne 2 (con pauta)
 
Colaborativo_Nelis Rivero
Colaborativo_Nelis RiveroColaborativo_Nelis Rivero
Colaborativo_Nelis Rivero
 
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
 
SISTEMAS OPERATIVOS ( I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( I  Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( I  Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( I Bimestre Abril Agosto 2011)
 
Round robin apa
Round robin apaRound robin apa
Round robin apa
 
UNIDAD III
UNIDAD IIIUNIDAD III
UNIDAD III
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
 
Politicas de planificacion
Politicas de planificacionPoliticas de planificacion
Politicas de planificacion
 

Último

Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Javier Martinez Seco
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) -  JRM - APSTI I ADuckDuckGo (Motor de Busqueda) -  JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
DarnotOcxalFlorianoP
 
IF y SWITCH: Claves para una Lógica de Programación
IF y SWITCH: Claves para una Lógica de ProgramaciónIF y SWITCH: Claves para una Lógica de Programación
IF y SWITCH: Claves para una Lógica de Programación
bvaldivieso014
 
APLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdfAPLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdf
jordanovillacorta09
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
sesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWAREsesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWARE
YanelyMedalithBM
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Aplicación de las sentencias de control en telecomunicaciones
Aplicación de las sentencias de control en telecomunicacionesAplicación de las sentencias de control en telecomunicaciones
Aplicación de las sentencias de control en telecomunicaciones
ambuludimateo2
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
PLUGIN (Mary Cielo Huañec Paz) .pdf
PLUGIN (Mary Cielo Huañec Paz)      .pdfPLUGIN (Mary Cielo Huañec Paz)      .pdf
PLUGIN (Mary Cielo Huañec Paz) .pdf
MaryCieloHuaecPaz
 

Último (12)

Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
Casos de éxito en Negocios online: Estrategias WPO que funcionan - Presentac...
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) -  JRM - APSTI I ADuckDuckGo (Motor de Busqueda) -  JRM - APSTI I A
DuckDuckGo (Motor de Busqueda) - JRM - APSTI I A
 
IF y SWITCH: Claves para una Lógica de Programación
IF y SWITCH: Claves para una Lógica de ProgramaciónIF y SWITCH: Claves para una Lógica de Programación
IF y SWITCH: Claves para una Lógica de Programación
 
APLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdfAPLICACIONES EN INTERNET-GOOGLE.20240pdf
APLICACIONES EN INTERNET-GOOGLE.20240pdf
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
sesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWAREsesión 8 tipos de componentes SMD SOFTWARE
sesión 8 tipos de componentes SMD SOFTWARE
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Aplicación de las sentencias de control en telecomunicaciones
Aplicación de las sentencias de control en telecomunicacionesAplicación de las sentencias de control en telecomunicaciones
Aplicación de las sentencias de control en telecomunicaciones
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
PLUGIN (Mary Cielo Huañec Paz) .pdf
PLUGIN (Mary Cielo Huañec Paz)      .pdfPLUGIN (Mary Cielo Huañec Paz)      .pdf
PLUGIN (Mary Cielo Huañec Paz) .pdf
 

Planificación Sistemas Operativas

  • 2. 5.2 Capítulo 5: Planificación del CPU  Conceptos básicos  Criterios de planificación  Algoritmos de planificación  Planificación multi-procesador  Planificación de tiempo-real  Planificación de hilos  Ejemplos de sistemas operativos
  • 3. 5.3 Tipos de Procesos  Limitados por CPU  Limitados por E/S
  • 4. 5.4 Conceptos Básicos  Utilización máxima del CPU se obtiene con la multiprogramación  Ciclo de picos CPU-E/S – La ejecución de un proceso consiste de un ciclo de ejecución del CPU y de espera de E/S  Distribución de picos del CPU
  • 5. 5.5 Secuencia Alternada de Picos de CPU y E/S
  • 6. 5.6 Histograma de Tiempos de Picos de CPU
  • 7. 5.7 Planificador del CPU  Selecciona de entre los procesos en memoria a aquellos que estén listos para ejecutarse, y le asigna el CPU a uno de ellos  Decisiones pueden ser necesarias cuando un proceso: 1. Se cambia de en ejecución a espera 2. Se cambia de en ejecución a listo 3. Se cambia de en espera a listo 4. Termina  Planificación para sistemas con casos 1 y 4 es no apropiativo  Todos los otros casos son apropiativos
  • 8. 5.8 Planificador del CPU (Cont.)  Los algoritmos pueden ser:  Apropiativos  El planificador puede interrumpir los procesos  No apropiativos  El planificador espera a que el proceso abandone el CPU voluntariamente
  • 9. 5.9 Despachador  Módulo despachador proporciona control del CPU a los procesos seleccionados por el planificador de cotro plazo; involucra:  Cambiar el contexto  Cambiar a modo de usuario  Saltar a la posición adecuada en el programa del usuario, y re-iniciar el programa  Latencia de despachos – tiempo que le toma al despachador parar un proceso y echar a andar a otro proceso
  • 10. 5.10 Criterios de planificación  Orientados al usuario  Tiempo de retorno  Tiempo total transcurrido en un proceso en particular  Tiempo de respuesta  Procesos interactivos, tiempo para resolver 1ra. transacción  Tiempo de espera  Orientados al sistema  Rendimiento  # de procesos que terminan su ejecución por unidad de tiempo  Utilización del procesador  % de tiempo que el CPU está ocupado  Equidad ( ningún proceso debe caer en inanición )  Inanición: el proceso no puede obtener recursos que están siendo usados por otros procesos
  • 11. 5.11 Criterios de Optimización  Máxima utilización del CPU  Máximo rendimiento  Mínimo tiempo de retorno  Mínimo tiempo de espera  Mínimo tiempo de respuesta  En la practica se toman los promedios de los tiempo.  Para obtener una respuesta predecible se puede optimizar la varianza.
  • 12. 5.12 Planificación First-Come, First-Served (FCFS) Process Burst Time P1 24 P2 3 P3 3  Suponga que los procesos llegan en el siguiente orden: P1 , P2 , P3  Dibuje un diagrama para la planificación: P1 P2 P3 24 27 30 0 Tiempo de espera para P1 = 0; P2 = 24; P3 = 27 Tiempo de espera promedio: (0 + 24 + 27)/3 = 17 FCFS es no-apropiativo
  • 13. 5.13 Planificación FCFS (Cont.) Tiempo de espera para P1 = 6; P2 = 0; P3 = 3 Tiempo de espera promedio: (6 + 0 + 3)/3 = 3 Mucho mejor que el caso anterior Efecto Convoy procesos cortos detrás de los grandes P1 P3 P2 6 3 30 0 Suponga que los procesos arriban en el siguiente orden P2 , P3 , P1 . Dibuje el diagrama:
  • 14. 5.14 Planificación Shortest-Job-First (SJF)  Asocia con cada proceso la longitud de su siguiente período de uso de CPU. Usa este dato para planificar procesos con el menor tiempo.  Dos esquemas:  No apropiativo  Una vez que el CPU se le asigna a un proceso, éste no puede ser sacado hasta que complete su pico (burst) de CPU  Apropiativo  Si llega un proceso nuevo con un pico de CPU (burst) de menor longitud a la longitud restante de tiempo de CPU del proceso actual, se hará un cambio de contexto.  Esquema conocido como el Shortest-Remaining-Time-First (SRTF).  SJF es óptimo – provee el mínimo tiempo de espera promedio para un conjunto de procesos dado.
  • 15. 5.15 Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SJF (no apropiativo), Tiempo de espera promedio ? Ejemplo de SJF No apropiativo P1 P3 P2 7 3 16 0 P4 8 12 Tiempo de espera promedio = (0 + 6 + 3 + 7)/4 = 4
  • 16. 5.16 Ejemplo de SJF Apropiativo Average waiting time = (9 + 1 + 0 +2)/4 = 3 P1 P3 P2 4 2 11 0 P4 5 7 P2 P1 16 Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SJF (apropiativo), Tiempo de espera promedio ?
  • 17. 5.17 Determinando la Longitud del Siguiente Período de CPU  La longitud solo se puede estimar.  Se lo puede usar utilizando datos previos y usando una funcion de promedio exponencial  tn: longitud de la n-ésima burst de CPU  τ n+1: valor predicho para la siguiente burst de CPU  α : parámetro de ajuste,  τ n+1 = α tn + (1-α) τ n  tn: contiene la información más reciente  τ n: contiene la historia pasada
  • 18. 5.18 Ejemplos  α =0  τ n+1 = τ n  La historia no cuenta  α =1  τ n+1 = tn  Sólo cuenta burst anterior.  Si se expande la formula se tiene:  τ n+1 = α tn+(1 - α) α tn-1 + … +(1 - α ) j α tn-j + … +(1 - α )n τ 0  Ya que ambos α y (1 - α) son menores o iguales que 1, cada término sucesivo tiene menor peso que su predecesor.
  • 19. 5.19 Predicción de la Longitud del Siguiente Pico de CPU α = ½ τ 0 = 10
  • 20. 5.20 Planificación por Prioridades  Una prioridad (entero) se asocia con cada proceso  El CPU se asigna al proceso con la prioridad mayor (el entero más pequeño ≡ prioridad más alta)  Apropiativo  No apropiativo  SJF es una aplicación de este algoritmo donde la prioridad está dada por el burst de CPU que se ha obtenido como predicción  Problema ?  Solución ? ≡ Inanición – procesos con prioridad baja nunca se ejecutan ≡ Aging – cambiar las prioridades de los procesos.
  • 21. 5.21 Criterios para Cambios de Prioridades  Internos  Archivos abiertos  Requerimientos de memoria  Tiempo de CPU usado  Edad del proceso  Tiempo de espera  Externos  Tipo de usuario  Tipo de aplicación
  • 22. 5.22 Round Robin (RR)  Cada proceso obtiene un tiempo de procesador pequeño (quantum), usualmente entre 10-100 milisegundos  Cuando el tiempo asignado termina . . ? . .  Si hay n procesos en la cola de Listos y el tiempo de quantum es q. ¿ Cuánto tiempo máximo debe esperar un proceso antes de usar nuevamente el CPU ?  (n-1)q unidades de tiempo  Rendimiento  q demasiado grande ⇒FIFO  q demasiado pequeño ⇒compare q con el tiempo de cambio de contexto
  • 23. 5.23
  • 24. 5.24 Ejemplo: RR con Quantum = 20 Process Burst Time P1 53 P2 17 P3 68 P4 24 Diagrama Generalmente, mayor tiempo de retorno que SJF, pero mejor tiempo de respuesta P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 0 20 37 57 77 97 117 121 134 154 162
  • 25. 5.25 ¿Qué pasa con un quantum pequeño ?
  • 26. 5.26
  • 27. 5.27 Tiempo de Retorno Varía con el Tamaño del Quantum
  • 29. 5.29 Colas multinivel  Dividen la cola de Listos en colas separadas.  Un posible criterio es el tiempo de respuesta.  Cada cola tiene su propio algoritmo de planificación  Debe existir un algoritmo de planificación entre colas  Planificación de prioridad fija (servir a la cola siguiente solo si se vacia la otra)  Periodo de tiempo: cada cola recibe un cierto periodo de tiempo de CPU Tareas del sistema Prioridad baja Prioridad alta Tareas interactivas Tareas de edición Tareas batch RR RR RR FCFS
  • 30. 5.30 Colas Multiniveles  La cola de listos se particiona:  Foreground (procesos interactivos)  Background (procesos batch)  Cada cola tiene su propio algoritmo de planificación:  Se debe planificar entre colas también:  Planificación de prioridad fija (ej.: servir a todos los de foreground, luego background)  inanición es posible  Periodo de tiempo: cada cola recibe un cierto periodo de tiempo de CPU, el cual lo puede planificar entre procesos, ej.:  80% para foreground – RR  20% para background – FCFS Foreground – RR Background – FCFS
  • 31. 5.31 Colas Multinivel con Retroalimentación  Un proceso puede moverse entre colas;  Es una manera de implementar envejecimiento (aging)  Planificador definido por los sgts. parámetros:  # de colas  Algoritmos de planificación de cada cola  Cuándo “ascender” a un proceso?  Cuándo “descender” a un proceso?  Dónde poner inicialmente a los trabajos? Quantum = 10 Quantum = 20 FCFS
  • 32. 5.32 Colas Multinivel con Retroalimentación
  • 33. 5.33 Ejemplo  Tres colas:  Q0 – RR, quantum 8 milisengundos  Q1 – RR, quantum 16 milisengundos  Q2 – FCFS  Planificación:  Trabajo nuevo entra a cola Q0, servida con RR(8). Cuando obtiene el CPU, si no termina en 8 msegs, se lo mueve a cola Q1  En Q1 trabajo es atendido por RR(16) y si no termina en 16 msegs, se lo mueve a la cola Q2
  • 34. 5.34 Planificación Multiprocesador  Planificación es más compleja  Es posible compartir la carga (load sharing)  Planificación para procesadores homogéneos dentro de un multiprocesador:  Multiprocesamiento asimétrico – el procesador maestro planifica a los procesadores esclavos  Simple, ya que el maestro maneja las estructuras de datos  Multiprocesamiento simétrico (SMP) – cada procesador realiza su propia planificación  Cola de listos común  sincronización.  Cada procesador con su cola.  Soportado por S.O. modernos: Windows XP, Windows 2000, Solaris, Linux, Mac OSX.
  • 35. 5.35 Hyperthreading  Tecnologia desarrollada y propiedad de intel.  Se implementa los elementos de arquitectura de CPU de varios procesadores en un solo procesador.  Para el SO hay varios procesadores.  Intel dice que hay mejora en tiempo del tiempo de respuesta del 30%  Otros fabricantes dicen que es mas lento para procesos limitados por CPU.
  • 36. 5.36 Planificación Multiprocesador (cont.)  Consideraciones de SMP:  Afinidad de procesador  Para evitar invalidar las cachés de HW  Dos tipos:  Afinidad suave – buscada por el S.O.  Afinidad dura – solicitada por el proceso (soportada por Linux)  Para obtener balanceo de carga:  Migración push: tercer proceso distribuye la carga  Migración pull: CPU con cola vacia extrae un proceso en cola de espera de otro CPU
  • 37. 5.37 Planificación en Tiempo Real  Sistemas de tiempo real duros – requeridos para completar tareas críticas dentro de un tiempo límite garantizado  Computación de tiempo real suave – requiere que los procesos críticos reciban una prioridad sobre los menos críticos
  • 38. 5.38 Planificación de Hilos  El CPU planifica solo hilos de kernel.  Planificación Local  Librería de hilos decide a qué hilo colocar en un lwp disponible  Usualmente se usan prioridades dadas por el programador. (como?)  Planificación Global  Como decide el kernel a qué hilo de kernel planificar a continuación  En algunas librerias y SO se puede elegir el tipo de planificacion.  Process scope (asignan sobre Lwp)  System scope (se crean Lwp de ser necesario);
  • 40. 5.40 Ejemplos de Sistemas Operativos  Planificación de:  Solaris  Windows XP  Linux
  • 42. 5.42 Tabla de Despachamiento de Solaris •Alta prioridad → menor quantum •Prioridad dinamica: cumple su quantum → decrese, regresa de espera → aumenta
  • 43. 5.43 Prioridades de Windows XP •Tambien se agrupan por clases base (fila 1) •Por cada clase hay prioridades relativas (col 1) •Prioridades cambian de dinámicamente dentro de los limites de las clases bases. •En sistemas de ventanas se hacen consideraciones especiales (teclado, pintado,disco)
  • 44. 5.44 Planificación de Linux  Dos clases: tiempo-real y nice  Ambos usan prioridades (0-99 RT, 100-140 TC)  Alta prioridad → mayor quantum time.  Nice  Prioridades basados en tiempo de quantum remanente  Cuando TQR = 0, se elige a otro proceso  Cuando todos tienen TQR = 0, se re-acredita tiempo a los procesos  Basado en factores que incluyen prioridad e historia  Tiempo-real  Tiempo-real suave  Cumple con Posix.1b – dos clases  FCFS y RR  Proceso con mayor prioridad siempre se ejecuta primero
  • 45. 5.45 Planificación de Linux  Dos algoritmos: tiempo-compartido y tiempo-real  Tiempo-compartido  Prioridades basados en créditos – se planifica a proceso con más créditos  Se resta un crédito cuando hay una interrupción del timer  Cuando credit = 0, se elige a otro proceso  Cuando todos tienen credit = 0, se re-acredita a los procesos y se cambian las prioridades  Basado en factores que incluyen prioridad e historia  Tiempo-real  Tiempo-real suave.  Prioridades fijas  Cumple con Posix.1b – dos clases  FCFS y RR  Proceso con mayor prioridad siempre se ejecuta primero