Modelo de procesos

Modelo de procesos
Información sobre la plantilla
Modepro.jpg
Modelo que puede dar la oportunidad de organizar y documentar la información sobre un sistema, entendido, a saber, por dos cuestiones importantes: el modelado y los procesos.

Modelo de procesos. Actividad de cierto tipo que tiene un programa, entrada, salida y estado. Un solo procesador puede ser compartido entre varios procesos, con cierto algoritmo de planificación, que se utiliza para determinar cuando detener el trabajo a un proceso y dar servicio a otro distinto.

Concepto

El concepto central de cualquier Sistema Operativo es el proceso: una abstracción de un programa en ejecución. Todo lo demás se articula entorno de ese concepto; por lo que, es importante que el diseñador (y estudiante) de un SO sepa lo que es un proceso. Cada modelo es una descripción de un proceso software que se presenta desde una perspectiva particular. Alternativamente, a veces se usan los términos ciclo de vida y Modelo de ciclo de vida.

Funcionamiento

En este modelo, el software ejecutable de la computadora, inclusive el SO, se organiza en varios procesos secuenciales, o en forma de breves procesos. Un proceso es tan solo un programa en ejecución, lo que incluye los valores activos del contador, registros y variables del programa.

De manera conceptual, cada proceso tiene su propia CPU virtual. Por supuesto, la realidad es que la verdadera CPU alterna entre los procesos; pero para comprender el sistema, es mucho más fácil pensar en un conjunto de procesos en ejecución (seudo) paralela, que pensar en llevar un registro de la forma en que alterna la CPU de programa en programa. Esta rápida alternancia se llama multiprogramación.

Si la CPU alterna entre los procesos la velocidad a la que ejecuta un programa no será uniforme y es probable que no se pueda reproducir si los mismos procesos se ejecutan de nuevo. Así, los procesos no deben programarse con hipótesis implícitas acerca del tiempo. Por ejemplo, consideremos un proceso de E/S que inicializa el movimiento de una cinta magnética, ejecuta un ciclo inútil 1000 veces para que la cinta alcance su velocidad de trabajo y después proporciona un comando que lee el primer registro.

Si la CPU decide alternar con otro proceso durante este ciclo, podría ocurrir que el proceso de la cinta no se ejecutara sino hasta que el primer registro hubiera pasado por al cabeza de lectura. Cuando un proceso tiene requisitos críticos en tiempo real como en este ejemplo, es decir, cuando los sucesos deben ocurrir en un lapso dado de milisegundos, hay que tomar medidas especiales para garantizar que dichos sucesos ocurran. Sin embargo, lo normal es que la mayoría de los procesos no sean afectados por la multiprogramación subyacente de la CPU o las velocidades relativas de procesos distintos.

Diferencia entre un proceso y un programa

La diferencia entre un proceso y un programa es útil, pero también crucial. Podríamos utilizar la siguiente analogía para aclarar este punto. Consideremos un científico de la computación con una mente culinaria, que está cocinando el paste de cumpleaños de su hija. El tiene una receta para un pastel de cumpleaños y una cocina bien abastecida con los ingredientes necesarios: harina, huevo, azúcar, extracto de vainilla, etc.

En esta analogía, la receta es el programa (es decir, un algoritmo expresado en cierta notación adecuada), el científico de computación es el CPU y los ingredientes del pastel son los datos de entrada. El proceso es la actividad en la que el cocinero lee la receta, busca los ingredientes y cocina el pastel.

Imaginemos ahora que el hijo del científico entra corriendo, llorando y diciendo que lo ha picado una abeja. El científico registra el punto de las receta donde se quedó (el estado del proceso activo se resguarda), busca un libro de primeros auxilios y comienza a seguir las instrucciones de este.

Aquí vemos que el procesador alterna de un proceso (cocinar) a otro de mayor prioridad (administrar cuidado médico), cada uno con un programa distinto (recetario vs libro de primeros auxilios). Después de atender la picadura, el científico regresa al punto donde se encontraba.

Tema relacionados

Fuentes

  • Artículo: Modelos de procesos. Disponible en: Rincón del vago.
  • Artículo: Modelos de proceso de software. Disponible en: Mitecnológico.
  • Sistemas Operativos Modernos (Primera Parte).