Title: Sistemas operativos
1Sistemas operativos
Unidad V.
- Administración del procesador
2Planificació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.
3Tipos 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
4Tipos 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.
5Planificador 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.
6Planificador 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.
7Planificador 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.
8Planificador 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.
9Planificador 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.
10Planificador 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.
11Planificador 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).
12Planificador 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.
13Planificador 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.
14Planificador 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.
15Algoritmos 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.
16Algoritmos 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.
17Justicia 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.
18Algunos 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.
19Algunos 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. - .
20Algunos 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.
21Algunos 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.
22Algunos 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.
23Algunos 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.
24Algunos 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
25Algunos 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.
26Algunos 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.
27Algunos 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 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.
P wt t
28Algoritmos 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.
29Multiprocesamiento
- 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
30Paralelismo
- 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.
31Paralelismo
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.
32Sistemas 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.
33Sistemas 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.
34Sistemas 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.
35Organizació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.
36Sistema 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
37- 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
38- . 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.