Anda di halaman 1dari 11

Hebra: Cada hebra comparte el espacio de direcciones pero cada hebra

tiene su propia pila de ejecucin por lo que tiene autonoma en su ejecucin.


Unidad de ejecucin. Tenemos un proceso que va a ser la unidad de
asignacin de recursos de tal forma que si un hilo abre un archivo, ese
archivo est abierto para todos. Los recursos se asignan al proceso.
Tenemos un nico espacio de direcciones y dtos. Lo nico que tiene cada
hebra que es la unidad de ejecucin es la pila. Por consiguiente, cada hilo
tiene autonoma en su ejecucin.

Un hilo es una unidad de ejecucin dentro de un proceso que tiene su propia


pila de ejecucin. La informacin de cada hilo se guarda en el Bloque de
Control de Hilo.

TEMA1: ESTRUCTURAS DE SOS


-Tema 1 en prado

TEMA 2
TERMINACIN DE PROCESOS:
Cuando un proceso finaliza, se realiza una llamada
al sistema.
Cuando un proceso finaliza (hijo), se le enva una
seal al padre para a lo mejor realizar una
determinada tarea.
-El padre puede obligar la finalizacin de la
ejecucin de su hijo. (abort o kill)
HEBRAS:

Las hebras dentro de un proceso comparten todos


los recursos asociados al proceso, memoria..etc ya
que comparten el mismo espacio de direcciones.
No se usa la misma pila para todas las hebras.
Hebras: de usuario y usuario.
Mientras una hebra est bloqueada y esperando una
hebra de la segunda tare puede ejecutarse no es
cierto en hebras de usuario porque no las ejecuta el
SO, sino una librera. Como el SO no ejecuta la
implementacin, el proceso se bloquea por el SO.
Si dos hilos se quieren comunicar, los hilos dicen si
ha finalizado. a travs del espacio comn
compartido.
TIPOS DE HEBRAS: usuario, kernel:
Usuario: Tienes una biblioteca donde se
implementan todas las operaciones de las hebras
No hay cambio de modo cuando hay un cambio de
hebras dentro de un mismo proceso.
Problemas de hebras kernel: cambios de modo.
Sobreesfuerzo del SO para realizarlas
Enfoques hbridos: Mitigar las desventajas de ambos
tipos de hebras. Se usan ambas hebras

TIPOS DE PLANIFICADORES:
Planificador a largo plazo: Si no existen trabajos no
tiene sentido
Planificador a corto plazo: Planificador de procesos
de la cola de preparados.
Largo plazo: Es costoso y se puede desperdiciar
tiempo de cpu ya que valora el tipo de trabajo, lo
elige, elige una poltica de eleccin de trabajo
(sobrecarga del SO)
Corto plazo: tiene que ser lo ms rpido posible ya
que se invoca muy frecuentemente. Los procesos
de bloquean, finalizan, hay nuevos procesos..etc Su
cdigo debe estar bien depurado para que su
ejecucin sea lo ms rpida posible y no se
produzca una sobrecarga del SO
Cola de trabajos/cola preparados (_uno, otro=
CLASIFICACIN DE PROCESOS:
Procesos cortos: Dedican ms tiempo de ejecucin
en realizar operaciones de E/S
PLANIFICADOR A MEDIO PLAZO:
Se encarga de traer procesos a memoria principal
reduce el grado de multiprogramacin
DESPACHADOR:

Se encarga de realizar el cambio de contexto.


Acta cuando el programa finaliza, ejecuta E/S, hace
exit(),
TIEMPO DE SERVICIO: se mide con el tiempo de
respuesta. Si tarda poco es bueno.
Penalizacin: tiempo de respuesta/rfaga
ndice de respuesta: t/T.
Si es 1 es el mejor servicios.
Lecturas para el 17 octubre
Por ejemplo, la funcin de seleccin max[w] implica una planificacin
del tipo primero en llegar,
primero en servirse (first-come-first-served FCFS).
El modo de decisin especifica los instantes de tiempo en que se
ejecuta la funcin de seleccin.
Hay dos categoras generales:
Sin expulsion (nonpreemptive). En este caso, una vez que el
proceso est en el estado Ejecutando, contina ejecutando hasta que
(a) termina o (b) se bloquea para esperar E/S o para solicitar algn
servicio al sistema operativo.
Con expulsin (preemptive). Un proceso ejecutando en un
determinado momento puede ser interrumpido y pasado al estado de
listo por el sistema operativo. La decisin de expulsar puede ser
tomada cuando llega un nuevo proceso, cuando llega una
interrupcin que pasa un proceso de bloqueado a estado de listo, o
peridicamente, basndose en las interrupciones del reloj.
Primero en llegar, primero en servirse (first-come-firstserved). La directiva de planificacin ms sencilla es primero en
llegar primero en servirse (FCFS), tambin conocida como
primeroentra-primero-sale (FIFO) o como un sistema de colas estricto.
En el momento en que un proceso pasa al estado de listo, se une a la
cola de listos. Cuando el proceso actualmente en ejecucin deja de
ejecutar, se selecciona para ejecutar el proceso que ha estado ms
tiempo en la cola de listos.
FCFS funciona mucho mejor para procesos largos que para procesos
cortos.
Primero el proceso ms corto (shortest process next) Otro
enfoque para reducir el sesgo a favor de los procesos largos inherente
al FCFS es la poltica primero el proceso ms corto (SPN). Es una

poltica no expulsiva en la que se selecciona el proceso con el tiempo


de procesamiento ms corto esperado.
Si un proceso largo llega a la cola y hay muchos procesos cortos se va
a ver desfavorecido ya que puede estar indefinidamente en la cola
Al no ser apropiativo, cuando el cpu se encargue de un proceso largo,
no lo finaliza hasta finalizar o bloquearse
Por turnos:-apropiativo
El proceso llega a una cola (por orden de llegada),

Mirar solo FCFS y SPN

LECTURAS PARA EL 24 DE OCTUBRE


Asignacin de procesos a procesadores Si se asume que la
arquitectura del multiprocesador es uniforme, en el sentido de que
ningn procesador tiene una ventaja fsica particular con respecto al
acceso a memoria principal o a dispositivos de E/S, entonces el
enfoque ms simple de la planificacin consiste en tratar cada
proceso como un recurso colectivo y asignar procesos a procesadores
por demanda. Surge la cuestin de si la asignacin debera ser
esttica o dinmica. Si un proceso se vincula permanentemente a un
procesador desde su activacin hasta que concluye,
entonces se mantiene una cola a corto plazo dedicada por cada
procesador. Una ventaja de esta estrategia es que puede haber
menos sobrecarga en la funcin de planificacin, dado que la
asignacin a un procesador se realiza una vez y para siempre.
Asimismo, el uso de procesadores dedicados permite una estrategia
conocida como planificacin de grupo o pandilla, como se ver ms
adelante.
Una desventaja de la asignacin esttica es que un procesador puede
estar ocioso, con su cola vaca, mientras otro procesador tiene trabajo
acumulado. Para evitar esta situacin, puede utilizarse una cola
comn. Todos los procesos van a una cola global y son planificados
sobre cualquier procesador disponible. As, a lo largo de la vida de un
proceso, puede ser ejecutado en diferentes procesadores en
diferentes momentos.
El uso de la multiprogramacin en procesadores individuales
Cuando cada proceso se asocia estticamente a un procesador para
todo su tiempo de vida, surge una nueva pregunta: debera ese
procesador ser multiprogramado?
Activacin de procesos El ltimo aspecto de diseo relacionado con
la planificacin multiprocesador, es la eleccin real del proceso a
ejecutar. Hemos visto que en un monoprocesador multiprogramado,
el uso de prioridades o de sofisticados algoritmos de planificacin
basados en el uso pasado, pueden mejorar el rendimiento frente a la
ingenua estrategia FCFS (primero en llegar, primero en serservido).
Cuando consideramos multiprocesadores, estas complejidades
pueden ser innecesarias o incluso contraproducentes, y un enfoque
ms simple puede ser ms eficaz con menos sobrecarga. En el caso
de la planificacin de hilos, entran en juego nuevos aspectos que
pueden ser ms importantes que las prioridades o las historias de
ejecucin. Tratemos cada uno de estos temas por turno.
PLANIFICACIN DE PROCESOS
En los sistemas multiprocesador ms tradicionales, los procesos no se
vinculan a los procesadores. En cambio hay una nica cola para todos
los procesadores o, si se utiliza algn tipo de esquema basado en
prioridades, hay mltiples colas basadas en prioridad, alimentando a
un nico colectivo de procesadores. En cualquier caso, el sistema
puede verse como una arquitectura de colas multiservidor.

PLANIFICACIN DE HILOS
Como hemos visto, con los hilos, el concepto de ejecucin se separa
del resto de la definicin de un proceso. Una aplicacin puede ser
implementada como un conjunto de hilos, que cooperan y ejecutan de
forma concurrente en el mismo espacio de direcciones. En un
monoprocesador, los hilos pueden usarse como una ayuda a la
estructuracin de programas y para solapar E/S con el procesamiento.
Dada la mnima penalizacin por realizar un cambio de hilo
comparado con un cambio de proceso, los beneficios se obtienen con
poco coste. Sin embargo, el poder completo de los hilos se vuelve
evidente en un sistema multiprocesador. En este entorno, los hilos
pueden explotar paralelismo real dentro de una aplicacin. Si los hilos
de una aplicacin estn ejecutando simultneamente en
procesadores separados, es posible una mejora drstica de sus
prestaciones. Sin embargo, puede demostrarse que para aplicaciones
que necesitan una interaccin significativa entre hilos (paralelismo de
grano medio), pequeas diferencias en la gestin y planificacin de
hilos pueden dar lugar a un impacto significativo en las prestaciones.
Entre las muchas propuestas para la planificacin multiprocesador de
hilos y la asignacin a procesadores,
destacan cuatro enfoques generales:
Comparticin de carga. Los procesos no se asignan a un
procesador particular. Se mantiene una cola global de hilos listos, y
cada procesador, cuando est ocioso, selecciona un hilo de la cola. El
trmino comparticin de carga se utiliza para distinguir esta
estrategia de los esquemas de balanceo de carga en los que los
trabajos se asignan de una manera ms permanente
Planificacin en pandilla. Un conjunto de hilos relacionados que
se planifica para ejecutar sobre un conjunto de procesadores al
mismo tiempo, en una relacin 1 a 1.
Asignacin de procesador dedicado. Esto es lo opuesto al
enfoque de comparticin de carga y proporciona una planificacin
implcita definida por la asignacin de hilos a procesadores. Cada
proceso ocupa un nmero de procesadores igual al nmero de hilos
en el programa, durante toda la ejecucin del programa. Cuando el
programa termina, los procesadores regresan al parque general para
la posible asignacin a otro programa.
Planificacin dinmica. El nmero de hilos de un proceso puede
cambiar durante el curso de su ejecucin.
Comparticin de carga La comparticin de carga es posiblemente
el enfoque ms simple y que se surge ms directamente de un
entorno monoprocesador. Ventajas:
La carga se distribuye uniformemente entre los procesadores,
asegurando que un procesador no queda ocioso mientras haya
trabajo pendiente.
No se precisa un planificador centralizado; cuando un procesador
queda disponible, la rutina de planificacin del sistema operativo se
ejecuta en dicho procesador para seleccionar el siguiente hilo.

Primero en llegar, primero en ser servido (FCFS). Cuando


llega un trabajo, cada uno de sus hilos se disponen consecutivamente
al final de la cola compartida. Cuando un procesador pasa a estar
ocioso, coge el siguiente hilo listo, que ejecuta hasta que se completa
o se bloquea. (Apropiativo)
Menor nmero de hilos primero. La cola compartida de listos se
organiza como una cola de prioridad, con la mayor prioridad para los
hilos de los trabajos con el menor nmero de hilos no planificados.
Los trabajos con igual prioridad se ordenan de acuerdo con qu
trabajo llega primero. Al igual que con FCFS, el hilo planificado ejecuta
hasta que se completa o se bloquea.
Menor nmero de hilos primero con expulsin. Se le da mayor
prioridad a los trabajos con el menor nmero de hilos no planificados.
Si llega un trabajo con menor nmero de hilos que un trabajo en
ejecucin se expulsarn los hilos pertenecientes al trabajo
planificado.

CARACTERSTICAS DE LOS SISTEMAS OPERATIVOS DE


TIEMPO REAL

Un sistema operativo es determinista en el sentido de que realiza


operaciones en instantes de tiempo fijos predeterminados o dentro de
intervalos de tiempo predeterminados. Cuando mltiples procesos
compiten por recursos y tiempo de procesador, ningn sistema puede
ser totalmente determinista.
Una caracterstica distinta pero relacionada es la reactividad. El
determinismo se preocupa de cunto tiempo tarda el sistema
operativo antes del reconocimiento de una interrupcin. La
reactividad se preocupa de cunto tiempo tarda el sistema operativo,
despus del reconocimiento, en servir la interrupcin.
1. La cantidad de tiempo necesario para manejar inicialmente la
interrupcin y comenzar a ejecutar la rutina de servicio de la
interrupcin (RSI).
2. La cantidad de tiempo necesario para realizar la RSI.
3. El efecto del anidamiento de interrupciones. Si una RSI puede ser
interrumpida por la llegada de otra interrupcin, entonces el servicio
se retrasar.
El control del usuario es generalmente mucho mayor en un sistema
operativo de tiempo real que en sistemas operativos ordinarios.
Permite al usuario un control de grano fino sobre la prioridad de la
tarea. El usuario debe ser capaz de distinguir entre tareas duras y
suaves y de especificar prioridades relativas dentro de cada clase.
La fiabilidad es normalmente mucho ms importante para los
sistemas de tiempo real que para los que no lo son. Un fallo
transitorio en un sistema no de tiempo real puede solventarse
simplemente rearrancando el sistema.

PLANIFICACIN DE TIEMPO REAL

La planificacin de tiempo real es una de las reas ms activas de


investigacin en informtica. Algoritmos:
Enfoques estticos dirigidos por tabla. En stos se realiza un
anlisis esttico de la factibilidad de la planificacin. El resultado del
anlisis es una planificacin que determina cuando, en tiempo de
ejecucin, debe comenzar a ejecutarse cada tarea.
Enfoques estticos expulsivos dirigidos por prioridad.
Tambin se realiza un anlisis esttico, pero no se obtiene una
planificacin. En cambio, el anlisis se utiliza para asignar prioridades
a las tareas, y as puede utilizarse un planificador expulsivo
tradicional basado en prioridades.
Enfoques dinmicos basados en un plan. La factibilidad se
determina en tiempo de ejecucin (dinmicamente) en vez de antes
de comenzar la ejecucin (estticamente).Uno de los resultados del
anlisis de factibilidad es un plan que se usar para decidir cundo
poner en marcha la tarea.
Enfoques dinmicos de mejor esfuerzo. El sistema intenta
cumplir todos los plazos y aborta la ejecucin de cualquier proceso
cuyo plazo haya fallado.
La planificacin esttica dirigida por tabla es aplicable a tareas
que son peridicas. Los datos de entrada para el anlisis son: tiempo
peridico de llegada, tiempo de ejecucin, plazo peridico de
finalizacin, y prioridad relativa de cada tarea. El planificador intenta
encontrar un plan que le permita cumplir todos los requisitos de todas
las tareas peridicas.
La planificacin esttica con expulsin dirigida por prioridad
hace uso del mecanismo de planificacin expulsivo dirigido por
prioridades comn a la mayora de los sistemas multiprogramados
que no son de tiempo real.
Con la planificacin dinmica basada en un plan, cuando llega
una nueva tarea, pero antes de que comience su ejecucin, se
intentar crear un plan que contenga las tareas previamente
planificadas as como la nueva.
La planificacin dinmica de mejor esfuerzo. Cuando llega una
tarea, el sistema le
asigna una prioridad basada en las caractersticas de la misma. De
forma caracterstica se utiliza algn tipo de planificacin basada en
plazos como la planificacin del plazo ms cercano.
INVERSIN DE PRIORIDAD
La inversin de prioridad sucede cuando las circunstancias dentro
de sistema
fuerzan a una tarea de mayor prioridad a esperar por una tarea de
menor prioridad. Un ejemplo sencillo de inversin de prioridad sucede

si una tarea de menor prioridad ha bloqueado un recurso (un


dispositivo o un semforo binario) y una tarea de mayor prioridad
intenta bloquear el mismo recurso.
La tarea de mayor prioridad pasar a estado bloqueado hasta que el
recurso est disponible. Si la tarea de menor prioridad termina pronto
con el recurso y lo libera, la tarea de mayor prioridad puede ser
retomada rpidamente y es posible que no se violen restricciones de
tiempo real.
Una situacin ms seria, es la conocida como inversin de
prioridad ilimitada, en la cual la duracin de la inversin de
prioridad depende no slo del tiempo necesario para conseguir el
recurso compartido sino tambin de las acciones impredecibles de
otras tareas no relacionadas.
La idea bsica de la herencia de prioridad es que una tarea de
menor prioridad heredar la prioridad de cualquier tarea de mayor
prioridad pendiente de un recurso que compartan. Este cambio de
prioridad sucede tan pronto la tarea de mayor prioridad se bloquea en
el recurso; y debe finalizar cuando la tarea de menor prioridad libera
el recurso.
En el enfoque de techo de prioridad, se asocia una prioridad con
cada recurso. La prioridad asociada con un recurso es un nivel ms
alta que la prioridad de su usuario ms prioritario. Entonces, el
planificador asigna esta prioridad a cualquier tarea que acceda al
recurso. Cuando la tarea termina de usar el recurso, su prioridad se
restablece al valor normal.

CLASE:
-Apropiativos:

CLASE:
PROBLEMA: INVERSIN DE PRIORIDAD
Sucede cuando una tarea de mayor prioridad debe esperar a que
acabe una tarea de menor prioridad incluso cuando estamos en una
planificacin de prioridades.
Sucede si los dos procesos usan los mismos recursos exclusivos.
Si un proceso tiene asignada una impresora (por ejemplo), y el
proceso 2 la pide, se tiene que esperar (wait) hasta que el proceso 1
acabe.
Para hacer estos cambios(bloqueado, preparado, wait) se realizan
cambios de contextos.
Si el proceso est esperando la prioridad, se le sube la prioridad para
que el prox en usarla sea l. Una vez asignada, se le baja la prioridad.

Techo de prioridad:
Se le asigna una prioridad muuuy alta para que use el recurso el
menor tiempo posible.

Anda mungkin juga menyukai