Download 5. Administración del procesador

Document related concepts

Planificador wikipedia , lookup

Planificación mediante colas multinivel wikipedia , lookup

Proceso (informática) wikipedia , lookup

Rate monotonic scheduling wikipedia , lookup

RTAI wikipedia , lookup

Transcript
Sistemas operativos
Unidad V.
Administración del procesador
Sergio Fuenlabrada Velázquez
Sergio Fuenlabrada Velázquez
Planificación
Conceptos básicos.
• La planificación es un conjunto de políticas y
mecanismos incorporados al sistema operativo que
gobiernan el orden en que se ejecutaran los trabajos.
• El planificador es un módulo del S.O. que selecciona
el siguiente trabajo que hay que ejecutar.
• El objetivo primario del planificador es optimizar el
rendimiento del S.O. de acuerdo con los criterios
considerados más importantes por los diseñadores del
sistema.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Tipos de planificadores.
En general, existen tres tipos diferentes
de planificadores que pueden coexistir
en un sistema operativo complejo:
• Planificadores a corto plazo
• Planificadores a medio plazo
• Planificadores a largo plazo
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Tipos de planificadores
Un sistema operativo de grandes dimensiones
podría soportar varios procesos de lotes
(batch), como interactivos
Cuando existe más de un tipo de planificador en
un sistema operativo, la disponibilidad de
soporte adecuado para comunicación e
interacción es muy importante para conseguir
un rendimiento satisfactorio y equilibrado.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a corto plazo.
El planificador a corto plazo asigna el procesador a un
proceso, este se selecciona dentro de un conjunto de
procesos preparados residentes en memoria.
Esta a cargo de las transiciones de estado del proceso de
preparado a ejecución.
El planificador a corto plazo debe ser invocado en cada
conmutación de proceso para seleccionar el siguiente
proceso a ejecutar.
En la práctica, el planificador a corto plazo es invocado
cada vez que un suceso (interno o externo) hace que se
modifique el estado global del sistema.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a corto plazo.
Algunos de los sucesos introducidos hasta ahora
que provocan replanificación en virtud de su
capacidad de modificar el estado global del
sistemas son:
 Tics de reloj (interrupciones basadas en el
tiempo).
 Interrupciones y terminaciones de E/S.
 La mayoría de las llamadas operacionales al
Sistema Operativo
 El envío y recepción de señales.
 La activación de programas interactivos.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a corto plazo.
La suspensión de un proceso en ejecución, la
modificación de la prioridad del proceso en
ejecución, y la terminación o aborto de un proceso,
son sucesos que pueden necesitar la selección de un
nuevo proceso para ejecución.
Los programas interactivos suelen entrar a la cola
de preparados directamente después de ser
remitidos al sistema operativo. El SO por lo
general asigna alta prioridad a este tipo de
procesos.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a medio plazo.
El planificador a medio plazo tiene la misión de
manejar los procesos bloqueados y retirados de
memoria primaria y restaurarlos para continuar con
su ejecución.
Una vez que el proceso ha terminado de utilizar el
procesador y requiere efectuar una operación de
Entrada/salida, el planificador a medio plazo pasa el
proceso a la cola de bloqueados, para que realice las
operaciones de Entrada /salida requeridas.
Si mientras esta bloqueado el proceso, el SO requiere
liberar memoria principal, puede pasar el proceso
junto con su entorno a la memoria virtual.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a medio plazo.
El planificador a medio plazo se encarga de controlar
el envió del proceso a memoria virtual y su correcto
regreso a memoria primaria. Esto es, el planificador
a medio plazo asigna la cantidad necesaria de
memoria principal y recursos necesarios para
dejar al proceso nuevamente preparado.
Una vez desaparecida la condición de suspensión de un
proceso, el planificador a medio plazo intenta asignarle
la cantidad necesaria de memoria principal,
incorporarlo a memoria y volverlo a dejar
preparado.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a medio plazo.
Tamaño real del proceso puede ser contabilizado
en el momento de la retirada y almacenado
posteriormente en el bloque de control del
proceso afectado.
El planificador a medio plazo controla las
transiciones de suspendido a preparado de los
procesos retirados.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a medio plazo.
Un proceso en ejecución puede resultar suspendido
al efectuar una petición de E/S o al emitir una
llamada al sistema, a veces es beneficioso retirarlos
de memoria principal para dejar sitio a otros proceso
el permanecer residentes en memoria, puede llegar a
reducirse hasta un nivel que afecta al funcionamiento
del planificador a corto plazo dejándole pocas o
ninguna opción de selección.
Este problema puede quedar aliviado trasladando los
procesos suspendidos a almacenamiento secundario
(intercambio).
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a largo plazo
El objetivo primordial del planificador a largo
plazo es proporcionar una mezcla equilibrada
de trabajos.
Cuando la utilización del procesador es baja, el
planificador puede admitir más trabajos para
incrementar el número de procesos que se hallen
en la cola de preparados.
Cuando el factor de utilización resulte alto y así lo
refleje el deterioro del tiempo de respuesta, el
planificador a largo plazo puede optar por reducir
la frecuencia de admisión de los trabajos por lotes.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a largo plazo
Trabaja con la cola de lotes y selecciona el
siguiente trabajo de lotes a ejecutar
Los lotes están generalmente reservados a
programas de baja prioridad y de uso intensivo de
recursos
Los trabajos de lotes contienen también
generalmente estimaciones asignadas por el
programador o por el sistema con respecto a sus
necesidades de recursos esto facilita la tarea del
planificador a largo plazo.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Planificador a largo plazo
La frecuencia de invocación del planificador a
largo plazo es por tanto dependiente del sistema
y de la carga de trabajo.
Como resultado de su relativamente infrecuente
ejecución y de la disponibilidad de una
estimación de las características de la carga de
trabajo, el planificador a largo plazo puede
incorporar algoritmos relativamente complejos y
computacionalmente intensivos para admitir
trabajos al sistema.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algoritmos de planificación
En general, las disciplinas de planificación
pueden
ser
expropiativas
o
no
expropiativas.
La no expropiación implica que el proceso
en ejecución retiene la propiedad de los
recursos
asignados,
incluido
el
procesador, hasta que voluntariamente
ceda el control al sistema operativo.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algoritmos de planificación
Sin embargo, cuando el proceso en ejecución
que suspendido como resultado de su
propia acción, digamos por esperar la
terminación de una operación de E/S, otro
proceso preparado puede ser planificado.
La planificación expropiativa, por otra
parte, un proceso en ejecución puede ser
sustituido por un proceso de mayor
prioridad en cualquier instante.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Justicia e Injusticia
Los algoritmos de planificación manejan el
concepto de justicia e injusticia.
Los proceso en general se dividen en procesos
cortos y largos.
Cuando los algoritmos dan prioridad y seden
control a procesos cortos, se dice que son
injustos con procesos largos y viceversa.
A continuación se describen algunos de los
algoritmos mas utilizados por los SO.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Shortest Job First ( SJF ).
• La planificación SJF que significa: primero el
trabajo más corto. favoreciendo los trabajos
cortos, En la práctica su aplicación depende de la
precisión en predecir el comportamiento del
trabajo y del proceso.
SRTN (Shortest Remaining Time Next)
• SRTN. A continuación el de menor tiempo
restante. una vez planificado un trabajo
seleccionado sigue ejecutándose hasta su
terminación, también se llama por lotes.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
First-In, First-Out.
(FIFO) Primeras entradas
primeras salidas ejecuta cada proceso hasta que
termina.
Las características de esta política son:
 No es apropiativa.
 Es justa aunque los procesos largos hacen esperar
mucho a los cortos.
 Es predecible.
– El tiempo medio de servicio es muy variable en
función del número de procesos y su duración.
.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Round Robin (RR)
Consiste en distribuir el procesador en forma uniforme entre
los distintos procesos, dándole a cada uno cierta fracción de
tiempo llamada quantum.
El método de reciclaje en varias colas
La idea es definir diferentes colas, una para cada tipo de
programa (largos y cortos). Todo proceso que entra al
sistema va a la cola 1 (asociada a procesos cortos) en donde
permanece un tiempo máximo. Si transcurrido el tiempo no
ha terminado su ejecución ni realizado una entrada/salida
pasa a la cola 2 y así sucesivamente a las demás colas.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Si el proceso hace una entrada/salida sale de la cola y cuando
ésta se termine se coloca al final de ella. Usualmente, cada
cola se sirve por el método de FIFO y la última por el
reciclaje.
Los procesos largos y los intensivos en uso del procesador
van a la última cola y permanecen allí. Las otras colas
indican el tiempo que lleva el proceso en el sistema.
Además se establece el quantum va aumentando a media
que crece el número de la cola. Esta política concede
prioridad a los procesos largos, para evitar estancamientos.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Dar varias vueltas en la cola 1 asignando el
procesador a sus procesos (utilizando reciclaje)
antes de asignar a los de la cola 2, y repetir el
proceso para la cola 2.
Asignar el procesador a los procesos de la cola 1
mientras ésta no esté vacía, y continuar
después con los de la cola 2, etc. Ésta política
puede llevarse hasta el extremo de retirarle el
procesador a un proceso cuando llega otro de
una cola menor.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Shortest Job Next (SJN)
• Esta política toma de la cola de procesos
preparados el que necesite menos tiempo de
ejecución para realizar su trabajo.
• La información suministrada por el propio
usuario, por el propio programa, basándose
en la historia anterior.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Shortest Job Next (SJN)
Las características son:
 No es apropiativa.
 El tiempo de espera aumenta desacuerdo con la
longitud de los procesos, pero el tiempo medio de
espera con respecto a otras políticas es óptimo.
 Es poco predecible.
 No es justa con los procesos largos.
 Buen tiempo de servicio.
 Resulta difícil de poner en practica por los datos
que necesita para realizarse la planificación
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Shortest Remaning Time (SRT).
• Es una mezcla de los dos anteriores. Elige al
proceso con un menor tiempo de
procesamiento.
Shortest Remaining Processing Time (SRPT).
• Este se utiliza si se trata de un sistema con
retiro de procesador, que es similar al anterior
pero puede quitar el procesador cuando venga
otro más prioritario.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Shortest Remaining Processing Time (SRPT).
Sus características son :
 Es una variante de SJN, para hacerla
apropiativa.
 Puede ser injusta, ya que un proceso corto
puede echar a uno largo que esté haciendo
uso del procesador y que además esté
terminando.
 Presenta una mayor sobrecarga.
 Excelente tiempo medio de servicio.
 Es muy eficiente.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algunos Algoritmos de planificación
Highest Reponse Ratio Next (HRRN).
• trata de corregir las posibles injusticias de la
políticas SJN con los procesos cortos y las de
FIFO con los largos. Se basa en hacer la prioridad
del uso del procesador por parte de un proceso,
calculándola constantemente. por medio de la
expresión:
P = w+t
t
P es la prioridad del proceso.
w es el tiempo de espera en la cola de procesos preparados.
t es el tiempo de ejecución del proceso.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Algoritmos de planificación
Inconvenientes :
 Si un proceso corto llega inmediatamente
después de que el largo ha comenzado tendrá
que sufrir una larga espera.
 Es muy costosa de llevar a la practica, ya que la
prioridad debe calcularse para todos los
procesos en espera, cada vez que termine el
proceso que está haciendo uso del procesador.
Sobrecarga mucho el sistema debido a los cálculos
que debe realizar.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Multiprocesamiento
Un multiprocesador es una maquina con dos o
más (normalmente idénticos) procesadores
centrales que comparten una memoria de alta
velocidad.
Multiprocesamiento: son dos o más computadoras
procesando juntas; las
computadoras de
multiprocesamiento están unidas mediante un
canal de alta velocidad y comparten entre ellas la
carga general de trabajo, en caso de que una falle
la otra se ocupa del trabajo
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Paralelismo
A fin de hacer más rápidas las computadoras, los
diseñadores han reducido cada vez más el tamaño
de los elementos básicos de los circuitos
integrados para acortar la distancia que debe
recorrer la información y así disminuir el tiempo
de procesamiento.
Supercomputadoras
que
emplean
varios
microprocesadores
para
procesar
la
información en paralelo.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Paralelismo
Las nuevas computadoras en paralelo cuentan
con muchas pastillas pequeñas de cómputo que
trabajan en colaboración a fin de realizar
millones de operaciones aritméticas por
segundo.
El paralelismo ó programación en paralelo se
refiere a varias técnicas que hacen que se
realicen varias operaciones simultáneas dentro
de las computadora.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Sistemas de multiprocesamiento
Los propósitos principales del multiprocesamiento:
• Aumentar la confiabilidad y la disponibilidad del
potencial de computación.
• Reducir costos generales y simplificar el sistema
operativo dedicando procesadores individuales a
tareas especificas.
• Aumentar la velocidad de procesamiento mas allá de
la obtenible con un sólo procesador de un tipo dado,
o empujar las velocidades mas allá de los limites en
la tecnología de hardware.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Sistemas de multiprocesamiento
Si la memoria de alta velocidad es demasiado
grande para un solo procesador central
multiprogramado, entonces una gran parte de la
memoria de alta velocidad puede estar dedicada a
trabajos que esperan el procesador central en vez
de E/S.
Si la memoria de alta velocidad es demasiado grande
para un solo procesador central multiprogramado,
entonces una gran parte de la memoria de alta
velocidad puede estar dedicada a trabajos que
esperan el procesador central en vez de E/S.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Sistemas de multiprocesamiento
Alternativamente, todas las CPU pueden
hacer el procesamiento en-tanda, mientras
que algunas, o todas efectúan spooling
simultáneamente;
esto
se
llama
nivelamiento de carga.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Organización del multiprocesador
• Sistema conmutador en travesaños.- Con este
sistema n procesadores idénticos pueden tener
acceso por medio de la trayectoria de múltiples
cables a m módulos de memoria idénticos.
• Sistema conectado por conductos múltiples.- Cada
procesador tiene acceso a cualquiera de los
módulos de minoría a través de sus propios
conductos.
• Sistema de conducto de tiempo compartido.- Todos
los circuitos en la memoria son compartidos por
todos los procesadores, produciendo un costo más
bajo.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Sistema operativo de multiprocesador.
• De asignar recursos, tales como ciclos CPU y memoria,
además de asignar propiedades para que cada
programa reciba la atención adecuada. A los trabajos
urgentes se les concede más grandes y/o más frecuentes
periodos de tiempo de CPU, sin descuidar los trabajos
menores
• Un programa que espera la entrada del usuario, por
ejemplo, puede suspenderse, independientemente de la
prioridad, recuerde que, entre cada uno de sus teclados
tentativos, la CPU a 450 Mhz. es capaz de realizar muchos
millones de ciclos útiles.
• RAM es un recurso muy importante que el sistema
operativo necesita asignarse y manejarse con economía
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
• La mayor parte, si no es que todo el Kernel del
Sistema Operativo, también debe residir en el
RAM
• Cuántos programas pueden coexistir en la
memoria primaria depende de la cantidad de RAM
y del tamaño de código objeto.
• los programas extraídos se pueden transferir desde
el disco hacia la RAM, se ha dedicado mucha
investigación al arte de planificar y extraer,
• Las operaciones de I-O del disco son
relativamente mucho más lentas que la lectura y la
escritura de la RAM
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
• . Los contextos son en realidad fotografías
del contador del programa y los registros
del CPU; el Sistema Operativo guarda los
contextos y los restaura regularmente, en la
medida en la que se conmutan los
programas.
• Esto apoya el viejo adagio que dice “Usted
nunca tiene demasiada memoria RAM”.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez