miércoles, 19 de enero de 2011

UNIDAD II

 ADMINISTRACION DE PROCESOS
2.1 DESCRIPCION Y CONTROL DE PROCESOS SISTEMAS OPERATIVOS
DESCRIPCIÓN DEL PROCESO
Un proceso en UNIX es un conjunto más bien complejo de estructuras de datos que  proporcionan al sistema operativo toda la información necesaria para administrarlo y expandirlo.
CONTROL DEL PROCESO
La creación de procesos en UNIX se hace por medio de la llamada fork ( ) al núcleo del sistema
2.2 DEFINICION DE PROCESOS SISTEMAS OPERATIVOS
Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, pila y datos,
2.3 ESTADOS DE PROCESOS SISTEMAS OPERATIVOS
- NUEVO (NEW)
El  proceso se está creando.
- EN EJECUCION (RUNNING)
Se están ejecutando instrucciones.
- EN ESPERA (WAITING)
El proceso esta esperando que ocurra algún suceso (como la terminación de una operación  de E/S o la recepción de una señal).
- LISTO (READY)
El proceso esta esperando que se le asigne a un procesador.
- TERMINADO (TERMINATED)
El proceso  termino su ejecución
2.4 CONTROL DE PROCESOS SISTEMAS OPERATIVOS
La mayoría de los procesadores dan soporte para dos modos de ejecución por lo menos. Ciertas instrucciones pueden ejecutarse sólo en modo privilegiado. Entre éstas están la lectura o modificación de registros de control, instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Además, se puede acceder a ciertas regiones de memoria sólo en el modo más privilegiado.
2.5 PROCESOS DE HILOS
*Un hilo de ejecución, característica que permite a una  aplicación realizar varias tareas a la vez. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc.
*Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Permiten dividir un programa en dos o mas tareas que corren simultáneamente, por medio de la multiprogramación
A-El proceso está en ejecución y necesita algún elemento para poder ejecutarse. Pasa de Ejecución a Bloqueado.
B-Es la que pasa del Estado de Ejecución a activo. A terminado su proceso y pasa a activo para dejar paso a otras aplicaciones.
C-La tarea que está en Activo pasa a estar en Ejecución.
D-El proceso pasa de estar bloqueado a estar activo porque ya tiene lo que necesita.
El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados.
Puede verse la concurrencia de procesos como la ejecución simultánea de varios procesos. Si tenemos un multiprocesador o un sistema distribuido la concurrencia parece claro, en un momento dado cada procesador ejecuta un proceso.
2.6 CONCURRENCIA EXCLUSION MUTUA Y SINCRONIZACIÓN
En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.
La concurrencia puede presentarse en tres contextos diferentes:
Múltiples aplicaciones: la multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas.
Aplicaciones estructuradas: como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.
Estructura del sistema operativo: las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos o hilos.
2.7 PRINCIPIOS GENERALES DE LA CONCURRENCIA
En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.
2.8 EXCLUSION MUTUA; SOLUCION POR HARDWARE Y SOFTWARE
Podemos comprender que los botones de exclusión mutua son similares a los botones de activación excepto que se agrupan, de tal forma que sólo uno puede estar seleccionado/pulsado en un momento dado. Ejemplo de ello es para aquellos usuarios que necesita seleccionar un valor entre una pequeña lista de opciones.
2.9 SEMAFOROS
Un semáforo binario es un indicador de condición (S) que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: O y 1. Si, para un semáforo binario. S=1 entonces el recurso está disponible y la tarea lo puede utilizar; si S=0 el recurso no está disponible y el proceso debe esperar. =
Los semáforos sólo permiten tres operaciones sobre ellos:
      Espera.
      Señal.
      
Inicializar.
wait (variable)
begin
   while (variable)>=0 do {esperar}
   variable=variable-1
end
signal (variable)
begin
   variable=variable+1
end
2.1O MONITORES
Un monitor es una estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicialización, el cual se ejecuta una única vez, cuando se crea el monitor.

{    nombre
{   variables globales accesibles desde todos los procedimientos

{   procedimiento A
{   procedimiento B
{

{   inicialización (solo se ejecuta una vez)
- La intercalación y la superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades:
- Compartir recursos globales es riesgoso
- Para el sistema operativo es difícil gestionar la asignación óptima de recursos.
2.11 PASO DE MENSAJES
Entiendo que Paso de Mensajes es un estándar que se establece para la comunicación entre los nodos que  se ejecutan en un programa. Son un conjunto de bibliotecas de rutinas que pueden ser utilizadas en programas escritos en los lenguajes de programación C, C++, Fortran y Ada. Una de las ventajas es que los programas que utilizan estás bibliotecas son portables. Un ejemplo claro de paso de mensajes es como se hace con los semáforos, monitores, etc.
2.12 CONCURRENCIA E INTERBLOQUEO (DEADLOCK)
Interbloqueo. Bloqueo permanente de un conjunto de procesos que juntos compiten por recursos del sistema o
se comunican entre ellos.
Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.

La concurrencia comprende un gran número de cuestiones de diseño incluyendo la comunicación entre procesos, la compartición y competencia por los recursos, la sincronización de la ejecución de varios procesos y la asignación del procesador a los procesos.

2.13 PRINCIPIOS DEL INTERBLOQUEO
Tiene lugar cuando ninguno de los procesos que compiten por los recursos del sistema o interactúan entre si puede avanzar por carecer de algún recurso o esperar a que se produzca algún tipo de evento.

2.14  ACCIONES A REALIZAR ANTE UN INTERBLOQUEO PREVENCIÓN, DETECCIÓN, PREDICCIÓN Y EVITAR
PREVENCIÓN DE INTERBLOQUEOS
La estrategia de prevención consiste, a grandes rasgos, en diseñar un sistema de manera
que esté excluida a priori la posibilidad de interbloqueo
DETECCIÓN DE INTERBLOQUEOS
Las estrategias de detección de interbloqueos no limitan el acceso a los recursos ni restringen las acciones de los procesos como ocurría con las estrategias de prevención de interbloqueos, mediante las estrategias de detección de interbloqueos se concederán los recursos que los procesos necesitan siempre que sea posible.
PREDICCIÓN DE INTERBLOQUEO
En la predicción de interbloqueo, se decide dinámicamente si la petición actual de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. La predicción de interbloqueo necesita, por tanto, conocer las peticiones futuras de recursos.

No hay comentarios:

Publicar un comentario