La manipulación de datos en sistemas computacionales requiere asegurar que las operaciones se ejecuten completamente o no se ejecuten en absoluto, evitando estados intermedios. En este contexto, los procesos e hilos juegan un papel crucial, ejecutándose de manera aparentemente secuencial y manejando sus propios contadores de programa y pilas.
La condición básica es que, una vez que un proceso obtiene un
recurso de determinado nivel, sólo puede solicitar recursos adicionales de niveles
superiores
Solicitud de una vez
este mecanismo requería que un proceso declarara
una sola vez qué recursos requeriría, pero posteriormente la estrategia
se modificó, permitiendo que un proceso solicite recursos nuevamente
Evasión de bloqueos
Para la evasión de bloqueos, el sistema partiría de poseer, además de la
información descrita en el caso anterior, conocer cuándo requiere un proceso utilizar cada recurso. De este modo, el planificador puede marcar qué orden
de ejecución
Retención y espera
todos los programas declaren al iniciar su
ejecución qué recursos van a requerir. Éstos son apartados para su uso exclusivo
hasta que el proceso termina, pero el sistema operativo puede seguir atendiendo
solicitudes que no rivalicen:
Serialización
Una manera de evitar bloqueos por completo sería el que un sistema operativo
jamás asignara recursos a más de un proceso a la vez
OPERACION ATOMICA
Manipulación de datos que requiere la garantía de que se
ejecutará como una sóla unidad de ejecución, o fallará completamente,
sin resultados o estados parciales observables por otros procesos o el entorno.
Categoría de errores de programación
que involucra a dos procesos que fallan al comunicarse su estado mutuo,
llevando a resultados inconsistentes.
Operación atómica
Recurso compartido
En muchos escenarios esto es un variable en memoria (como
cuenta en el jardín ornamental), pero podrían ser archivos, periféricos,
etcétera.
se refiere a dos o más
eventos que ocurren a la vez sino a dos o más eventos cuyo orden es no determinista,
esto es, eventos acerca de los cuales no se puede predecir el orden relativo en que ocurrirán
Condición de carrera
Introducción
Línea de ensamblado
Equipo de trabajo
PROCESOS E HILOS
Los hilos y el sistema operativo
los hilos se ejecuta de forma (aparentemente) secuencial
y maneja su propio contador de programa y pila
Administración De Procesos
Procesos e Hilos
Conceptos De Procesos
Un programa es una entidad pasiva, una lista de instrucciones; un proceso
es una entidad activa, que –empleando al programa– define la actuación que
tendrá el sistema
Estado De Un Proceso
EJECUCION
Zombie
Terminado
Bloqueado
NUEVO
LISTO
Informacion Asociada A un Proceso
Estado De E/S
Inforamacion De Contabilidad
Informacion De Planifiacion
Registros Del CPU
Contador De Programas
ESTADO DE PROCESO
Bloqueos Mutuos
Detección y recuperación
El sistema permite que ocurran los bloqueos, pero
busca determinar si ha ocurrido y tomar medidas para eliminarlo.
Evasión
imponer condiciones menos estrictas que en la prevención, para
intentar lograr una mejor utilización de los recursos. Si bien no puede
evitar todas las posibilidades de un bloqueo, cuando éste se produce busca
evitar sus consecuencias.
Prevención
Se centra en modelar el comportamiento del sistema para que elimine
toda posibilidad de que se produzca un bloqueo. Resulta en una utilización
subóptima de recursos.