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