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. 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 ejecución del proceso debe progresar de manera
secuencial.
• Un proceso incluye:
–
program counter
– stack
– data
section
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