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.
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.
No hay comentarios.:
Publicar un comentario