Un proceso no es mas que un programa en ejecución, e incluye
los valores actuales del contador de programa, los registros y las variables.
Conceptualmente cada unos de estos procesos tiene su propia CPU virtual. Desde
luego, en la realidad la verdadera CPU conmuta de un proceso a otro.
Un proceso es un concepto manejado por el sistema
operativo que consiste en el conjunto formado 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 lacomunicació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.
En este modelo: todo software ejecutable de la computadora,
lo que a menudo incluye al sistema operativo, esta organizado en una serie del
proceso secuenciales, o simplemente procesos.
La idea clava aquí es que un proceso es una actividad de
algún tipo: tiene programa, entrada, salida y un estado. Se puede compartir un
procesador entre varios procesos, usando algún algoritmo de planificación para
determinar cuando debe de trabajar en un proceso para atender a uno distinto.
Jerarquías de procesos
Los sistemas operativos que manejan el concepto de proceso
deben contar con algún mecanismo para crear todos los procesos necesarios. en
los sistemas muy sencillos, o en los diseñados para ejecutar solo una
aplicación.
En otros sistemas operativos existen llamadas al sistema
para crear un proceso, cargar su memoria y ponerlo en ejecutar. Sea cual sea la
naturaleza exacta de la llamada al sistema. Los procesos necesitan poder crear
otros procesos.
En MINIX, los procesos se crean con la llamada al sistema
FORK (bifurcar), que crea una copia idéntica del proceso invocador. El proceso
hijo también puede ejecutar FORK, así que es posible tener un árbol de proceso.
No hay comentarios:
Publicar un comentario