Está en la página 1de 7

2.

3 PROCESOS LIGEROS HILOS O HEBRAS

El concepto de proceso engloba dos conceptos separados y potencialmente


independientes: uno relativo a la propiedad de recursos y otro que hace referencia
a la ejecucin.
Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y,
de tanto en tanto, se le puede asignar otros recursos como dispositivos de E/S o
ficheros.
Unidad a la que se le asigna el procesador: Un proceso es un flujo de ejecucin
(una traza) a travs de uno o ms programas. Esta ejecucin se entremezcla con
la de otros procesos. De tal forma, que un proceso tiene un estado (en ejecucin,
listo, etc) y una prioridad de expedicin u origen. La unidad planificada y expedida
por el sistema operativo es el proceso.
Dentro de un proceso puede haber uno o ms hilos de control cada uno con:

Un estado de ejecucin (en ejecucin, listo, bloqueado).


Un contexto de procesador, que se salva cuando no est ejecutndose.
Una pila de ejecucin.
Algn almacenamiento esttico para variables locales.
Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros
hilos.

CARACTERISTICAS

Se comparten recursos. La comparticin de la memoria permite a las hebras pares


comunicarse sin usar ningn mecanismo de comunicacin inter-proceso del SO.
La conmutacin de contexto es ms rpida gracias al extenso compartir de
recursos
No hay proteccin entre las hebras. Una hebra puede escribir en la pila de otra
hebra del mismo proceso
Estado de los procesos ligeros
2.4 Concurrencia y Secuenciabilidad
Los procesos son concurrentes si existen simultneamente. Los procesos concurrentes pueden
funcionar en forma totalmente independiente unos de otros, o pueden ser asncronos, lo cual
significa que en ocasiones requieren cierta sincronizacin o cooperacin.

Cuando dos o ms procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una
concurrencia de procesos. Es importante mencionar que para que dos o ms procesos sean
concurrentes, es necesario que tengan alguna relacin entre ellos como puede ser la cooperacin
para un determinado trabajo o el uso de informacin o recursos compartidos, por ejemplo: en un
sistema de un procesador, la multiprogramacin es una condicin necesaria pero no suficiente para
que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.

Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando
las actividades necesiten actuar entre s ya sea para utilizar informacin en comn o para cualquier
otra cosa.

- Beneficios de la concurrencia- Trata de evitar los tiempos muertos de la UCP- Comparte y optimiza
el uso de recursos- Permite la modularidad en las diferentes etapas del proceso- Acelera los
clculos- Da mayor comodidad

Desventajas de la concurrencia

Inanicin e interrupcin de procesos Ocurrencia de bloqueos Que dos o ms procesos requieran


el mismo recurso (no apropiativo)
En muchos casos, los procesos se renen para realizar tareas en conjunto, a este tipo de relacin se
le llama procesos cooperativos. Para lograr la comunicacin, los procesos deben sincronizarse, de no
ser as pueden ocurrir problemas no deseados. La sincronizacin es la transmisin y recepcin de
seales que tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos. Es la
coordinacin y cooperacin de un conjunto de procesos para asegurar la comparacin de recursos
de cmputo. La sincronizacin entre procesos es necesaria para prevenir y/o corregir errores de
sincronizacin debidos al acceso concurrente a recursos compartidos, tales como estructuras de
datos o dispositivos de E/S, de procesos contendientes.
La sincronizacin entre procesos tambin permite intercambiar seales de tiempo
(ARRANQUE/PARADA) entre procesos cooperantes para garantizar las relaciones especficas de
precedencia impuestas por el problema que se resuelve. Sin una sincronizacin adecuada entre
procesos, la actualizacin de variables compartidas puede inducir a errores de tiempo relacionados
con la concurrencia que son con frecuencia difciles de depurar. Una de las causas principales de
este problema es que procesos concurrentes puedan observar valores temporalmente
inconsistentes de una variable compartida mientras se actualizan. una aproximacin para resolver
este problema es realizar actualizaciones de variables compartidas de manera mutuamente
exclusiva. Se pueden mejorar permitiendo que a lo ms un proceso entre a la vez en la seccin
crtica de cdigo en la que se actualiza una variable compartida o estructura de datos en particular
2.5 NIVELES OBJETIVOS CRITERIOS PLANIFICACION

La planificacin de la
CPU, en el sentido de conmutarla entre los distintos procesos, es una de las
funciones del sistema operativo. Este despacho es llevado a cabo por un pequeo
programa llamado planificador a corto plazo o dispatcher (despachador). La misin
del dispatcher consiste en asignar la CPU a uno de los procesos ejecutables del
sistema, para ello sigue un determinado algoritmo. En secciones posteriores
estudiaremos algunos algoritmos posibles. Para que el dispatcher conmute el
procesador entre dos procesos es necesario realizar un cambio de proceso.

Los acontecimientos que pueden provocar la llamada al dispatcher dependen del


sistema (son un subconjunto de las interrupciones), pero son alguno de estos:

El proceso en ejecucin acaba su ejecucin o no puede seguir


ejecutndose (por una E/S, operacin WAIT, etc).
Un elemento del sistema operativo ordena el bloqueo del proceso en
ejecucin (ver estados de un proceso).
El proceso en ejecucin agota su cuantum o cuanto de estancia en la
CPU.

Un proceso pasa a estado listo.


El scheduling est muy relacionado con la gestin de los recursos. Existen tres
niveles de scheduling, como se ilustra en la figura, estos niveles son:

Planificador de la CPU o a corto plazo.


Planificador a medio plazo.
Planificador a largo plazo.

Ya hemos hablado del planificador de la CPU, y en los subapartados posteriores


se comentan los dos restantes:

Planificacin a largo plazo

Este planificador est presente en algunos sistemas que admiten adems de


procesos interactivos trabajos por lotes. Usualmente , se les asigna una prioridad
baja a los trabajos por lotes, utilizndose estos para mantener ocupados a los
recursos del sistema durante perodos de baja actividad de los procesos
interactivos. Normalmente, los trabajos por lotes realizan tareas rutinarias como el
clculo de nminas; en este tipo de tareas el programador puede estimar su gasto
en recursos, indicndoselo al sistema. Esto facilita el funcionamiento del
planificador a largo plazo.
El objetivo primordial del planificador a largo plazo es el de dar al planificador de la
CPU una mezcla equilibrada de trabajos, tales como los limitados por la CPU
(utilizan mucho la CPU) o la E/S. As, por ejemplo, cuando la utilizacin de la CPU
es baja, el planificador puede admitir ms trabajos para aumentar el nmero de
procesos listos y, con ello, la probabilidad de tener algn trabajo til en espera de
que se le asigne la CPU. A la inversa, cuando la utilizacin de la CPU llega a ser
alta, y el tiempo de respuesta comienza a reflejarlo, el planificador a largo plazo
puede optar por reducir la frecuencia de admisin de trabajos.
Normalmente, se invoca al planificador a largo plazo siempre que un proceso
termina. La frecuencia de invocacin depende, pues, de la carga del sistema, pero
generalmente es mucho menor que la de los otros dos planificadores. Esta baja
frecuencia de uso hace que este planificador pueda permitirse utilizar algoritmos
complejos, basados en las estimaciones de los nuevos trabajos.

Planificacin a Medio Plazo

En los sistemas de multiprogramacin y tiempo compartido varios procesos


residen en la memoria principal. El tamao limitado de sta hace que el nmero de
procesos que residen en ella sea finito. Puede ocurrir que todos los procesos en
memoria estn bloqueados, desperdicindose as la CPU. En algunos sistemas se
intercambian procesos enteros (swap) entre memoria principal y memoria
secundaria (normalmente discos), con esto se aumenta el nmero de procesos, y,
por tanto, la probabilidad de una mayor utilizacin de la CPU.
El planificador a medio plazo es el encargado de regir las transiciones de procesos
entre memoria principal y secundaria, acta intentando maximizar la utilizacin de
los recursos. Por ejemplo, transfiriendo siempre a memoria secundaria procesos
bloqueados, o transfiriendo a memoria principal procesos bloqueados nicamente
por no tener memoria.

2.6 TECNICAS ADMINISTRACION DEL PLANIFICADOR

Las disciplinas de planificacin pueden ser:


Expropiativas
No expropiativas
Se denomina planificador al software del sistema operativo encargado de asignar
los recursos de un sistema entre los procesos que los solicitan. Siempre que haya
tomar una decisin, el planificador debe decidir cul de los procesos que compiten
por la posesin de un determinado recursos lo recibir.
Los algoritmos (tcnicas) tienen distintas propiedades segn los criterios en los
que se basen para su construccin, lo cual se refleja en qu tipo de procesos se
puede ver favorecido frente a otro en la disputa del procesador. Antes de realizar
la eleccin de un algoritmo se debe considerar las propiedades de estos frente al
criterio de diseo elegido. Algunos de estos son:
a) Eficacia: Se expresa como un porcentaje del tiempo medio de utilizacin.
Aunque puede parecer lgico intentar mantener este parmetro prximo al 100%,
con un valor tan elevado otros aspectos importante de medida del comportamiento
del sistema pueden verse deteriorados, como por ejemplo el tiempo medio de
espera.
b) Rendimiento: Es una medida del numero de procesos completados por unidad
de tiempo. Por ejemplo 10 procesos por segundo.
c) Tiempo de retorno o regreso: Es el intervalo de tiempo que transcurre desde
que un proceso se crea o presenta hasta que completa por el sistema.
d) Tiempo de espera: Es el tiempo que el proceso espera hasta que se le concede
el procesador. Puede resultar una medida mas adecuada de la eficiencia del
sistema, ya que se elimina de la media el tiempo que tarda en ejecutarse el
mismo.
e) Tiempo de respuesta a un evento: Se denomina as el intervalo de tiempo que
transcurre desde que se seala un evento hasta que se ejecuta la primera
instruccin de la rutina de servicio de dicho evento. El criterio de seleccin de un
algoritmo se suele basar en la maximizacin o minimizacin de una funcin de los
parmetros anteriores.

También podría gustarte