Un
proceso es básicamente como un programa en ejecución. Consta del
programa ejecutable, los datos y la pila del programa, su contador de programa,
apuntador de pila y otros registros, y la otra información que se
necesita para ejecutar el programa.
La
manera sencilla de tener una noción intuitiva de lo que es un proceso consiste
en pensar en los sistemas con tiempo compartido. En forma periódica el sistema
operativo decide suspender la ejecución de un proceso y dar inicio a la
ejecución de otro, por ejemplo, porque el primero haya tomado ya más
de su parte del tiempo del CPU, en terrenos del segundo.
Cuando
un proceso se suspende temporalmente como éste, debe reiniciarse después exactamente
en el mismo estado en que se encontraba cuando se detuvo. Esto significa que
toda la información relativa al proceso debe guardarse en forma explícita en
algún lugar durante la suspensión.
En
muchos sistemas operativos, toda la información referente a cada proceso,
diferente del contenido de su espacio de direcciones, se almacena en una tabla
de sistema operativo, llamada tabla de procesos, la cual es un arreglo o lista
enlazada de estructuras, una para cada proceso en existencia corriente.
Si
un proceso puede crear uno o más procesos diferentes (conocidos como proceso
hijo) y estos procesos a la vez originan procesos hijos, se llega rápidamente a
la estructura del árbol de procesos.
Los
procesos pueden ser cooperantes o independientes, en el primer caso se entiende
que los procesos interactúan entre sí y pertenecen a una misma aplicación. En
el caso de procesos independientes en general se debe a que no interactúan y un
proceso no requiere información de otros o bien porque son procesos que
pertenecen a distintos usuarios.
• Proceso -
un programa en ejecución; la ejecucución del proceso debe progresar de manera
secuencial.
• Un
proceso incluye:
– program counter
– stack
– data section
Estados
de los procesos
Nuevo: El proceso es creado.
Ejecución: Se ejecutan instrucciones.
Espera:
El proceso esta en espera por la ocurrencia de algún evento.
Listo:
El proceso esta esperando a que le asignen el procesador.
Terminado:
El proceso finaliza su ejecución.
Diagrama
de estados de los procesos.
Información
asociada con cada proceso:
Estado
del proceso
Program
counter
Registros
del CPU
Información
de planificación del CPU
Memoria
Información
para administración
Información
de estatus de E/S
Características:
· Un
proceso consta de código, datos y pila.
· Los
procesos existen en una jerarquía de árbol (varios Hijos, un sólo padre).
· El
sistema asigna un identificador de proceso (PID) único al iniciar el proceso.
· El
planificador de tareas asigna un tiempo compartido para el proceso según su
prioridad (sólo root puede cambiar prioridades).
No hay comentarios.:
Publicar un comentario