PROCESO

PROCESO
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.
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.
Método
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.
 Un proceso (suspendido) consta de :
Un espacio de dirección
Los datos pertinentes de la tabla de procesos.
 Un proceso puede crear procesos hijo y estos nuevos y estos nuevos procesos hijo conformando un árbol de procesos