Jefferson_Zuñiga
Cantidad de envíos : 6 Puntos : 16 Reputación : 0 Fecha de inscripción : 19/06/2009
| Tema: investigacion de Procesos Lun Dic 14, 2009 9:27 pm | |
| Procesos (Informática) El sistema Operativo provee mínimamente dos primitivas, enviar(mensaje) y recibir(mensaje), normalmente llamadas send y receive. Asimismo, debe implementarse un enlace de comunicación entre los procesos de la comunicación. Este enlace puede ser unidireccional o multidireccional según permita la comunicación en solo uno o en 5 sentidos.Un proceso es un programa en ejecución, los procesos son gestionados por el sistema operativo y están formados por:
- Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
- Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
- Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
- Otra información que permite al sistema operativo su planificación.
-
Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución. Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria. En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso. Metodo Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar.
- Se usa una variable de tipo Semáforo para sincronizar los procesos.
- Si un proceso está esperando una señal, se suspende (Hold) hasta que la señal se envíe (SIGNAL).
- Se mantiene una cola de procesos en espera en el semáforo.
- La forma de elegir los procesos de la cola en ESPERA es mediante una política FIFO (First In First Out) también llamada FCFS (First Come First Served), Round Robin, etc.
-
La sincronización explícita entre procesos es un caso particular del estado "bloqueado". En este caso, el suceso que permite desbloquear un proceso no es una operación de entrada/salida, sino una señal generada a propósito por el programador desde otro proceso. Tipos de comunicación La comunicación puede ser:
- Síncrona o asíncrona
- Persistente (persisntent) o momentánea (transient)
- Directa o Indirecta
- Simétrica o Asimética
- Con uso de buffers explícito o automático
- Envío por copia el mensaje o por referencia
- Mensajes de tamaño fijo o variable
Síncrona Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otra tarea.Asíncrona Quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.Persistente El receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación, el mensaje se almacena tanto tiempo como sea necesario para poder ser entregado (Ej.: e-Mail).Momentánea (transient) El mensaje se descarta si el receptor no está operativo al tiempo que se realiza la comunicación. Por lo tanto no será entregado.Directa Las primitivas enviar y recibir explicitan el nombre del proceso con el que se comunican. Ejemplo:enviar (mensaje, A) envía un mensaje al proceso AEs decir se debe especificar cual va a ser el proceso fuente y cual va a ser el proceso Destino.Las operaciones básicas Send y Receive se definen de la siguiente manera: Send (P, mensaje); envía un mensaje al proceso P (P es el proceso destino). Receive (Q, mensaje); espera la recepción de un mensaje por parte del proceso Q (Q es el proceso fuente).Nota: Receive puede esperar de un proceso cualquiera, un mensaje, pero el Send sí debe especificar a quién va dirigido y cuál es el mensaje.Indirecta La comunicación indirecta se implementa mediante puertos, en alguna bibliografía se lo denomina buzones.Simétrica Todos los procesos pueden enviar o recibir. También llamada bidireccional para el caso de dos procesos.Asimétrica Un proceso puede enviar, los demás procesos solo reciben. También llamada unidireccional.Uso de buffers automático El transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero). | |
|