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.
Programas.- Colección de instrucciones que el procesador
interpreta y ejecuta, se almacenan en sistemas no
volátiles necesitando ser cargados en memoria principal
para poder ser ejecutados, se considera un ente
estático.
Procesos.-Programa en ejecución, el sistema operativo
les asigna recursos, Se consideran un ente dinámico.
El proceso es una abstracción creada por el SO, que se
compone de:
Código de Programa: sección texto
Contexto de Ejecución: PC, registros del procesador y
una pila para invocación de procedimientos
Sección de Datos, que contiene variables globales
Recursos del sistema.
Características
Permite modularizar y aislar errores de programas durante su ejecución
Soporta concurrencia de actividades, lo que permite un
mejor aprovechamiento de los recursos
Denominaremos como procesos tanto a los trabajos (jobs) en sistemas de
lotes, como a las tareas (task)en sistemas de tiempo compartido
Modelo
La diferencia entre un programa (conjunto de
instrucciones) y un proceso (instrucciones ejecutándose) es
obvia y crucial para entender el funcionamiento de los
SO.
ejemplo:
Imaginemos un mecánico de autos en un taller donde se
reparan carros con averías complejas en las que se
hace necesario consultar el manual de cada modelo, que
contiene las instrucciones para reparar cada posible
avería. Además, se permiten reparaciones rápidas a las
que se les da mayor prioridad. Existe un almacén de
refacciones y herramientas suficientes para las
reparaciones. Comparando esta situación con un sistema de
cómputo se pueden establecer las siguientes analogías:
El mecánico sería el CPU (procesador) que realizará el
trabajo.
El manual de cada reparación sería el programa.
Las herramientas serían los recursos disponibles
Las refacciones serían los datos.
La actividad de usar las herramientas para desmontar las
piezas defectuosas sustituyéndolas por otras
nuevas siguiendo las instrucciones del manual
equivaldría al proceso
Suponiendo que en un momento dado el mecánico está
realizando una reparación compleja (de las que llevan
tiempo) y aparece un carro que solicita una reparación
de las rápidas (ha aparecido una interrupción). El
mecánico suspende momentáneamente la reparación compleja
anotando en qué situación se queda dicha
reparación y qué operación estaba realizando en ese
momento (guarda el estado del proceso). Asimismo,
sustituye el manual que estaba realizando por el de la
nueva reparación que se dispone a realizar (cambio de
programa). Comienza la nueva reparación (cambio de
proceso), en la que las herramientas no serán las
mismas que antes (distintos recursos); las indicaciones
del usuario, las refacciones (datos) y las indicaciones
del manual (programa) llevarán a feliz término la
reparación para que el mecánico regrese a la reparación
inicial.
Con este ejemplo se resalta que un proceso es una
actividad que se apoya en datos, recursos, un estado en
cada momento y un programa.
Suponiendo que en un momento dado el mecánico está
realizando una reparación compleja (de las que llevan
tiempo) y aparece un carro que solicita una reparación
de las rápidas (ha aparecido una interrupción). El
mecánico suspende momentáneamente la reparación compleja
anotando en qué situación se queda dicha
reparación y qué operación estaba realizando en ese
momento (guarda el estado del proceso). Asimismo,
sustituye el manual que estaba realizando por el de la
nueva reparación que se dispone a realizar (cambio de
programa). Comienza la nueva reparación (cambio de
proceso), en la que las herramientas no serán las
mismas que antes (distintos recursos); las indicaciones
del usuario, las refacciones (datos) y las indicaciones
del manual (programa) llevarán a feliz término la
reparación para que el mecánico regrese a la reparación
inicial.

No hay comentarios.:
Publicar un comentario