4.1. El concepto de proceso
Texto íntegro de la conversión. Las figuras y la disposición de las notas se pueden consultar en el PDF.
4.1. El concepto de proceso
La noción de proceso5 es fundamental para entender el funcionamiento interno de los sistemas de computación modernos que son capaces de ejecutar muchas actividades de manera simultánea (sistemas operativos multiproceso). Sin embargo, no es sencillo ofrecer una definición exacta. A continuación, vamos a dar algunas de las más utilizadas:
- un programa en ejecución,
- el espíritu animado de un procedimiento,
- el centro de control de un procedimiento en ejecución,
- la entidad a la que se asignan los recursos de un ordenador,
- la instanciación de un programa.
Aunque, como hemos dicho, no hay ningún acuerdo sobre la definición de proceso, la expresión un programa en ejecución es una de las definiciones más aceptadas. Así, podemos formular las afirmaciones siguientes:
-
Un programa es la descripción detallada para la resolución de un problema de manera general, en abstracto.
-
Un proceso es la aplicación en concreto del programa a un caso particular y en un momento determinado con la asignación de unos recursos concretos. Un proceso es irrepetible.
De hecho, un mismo programa puede tener muchas instanciaciones (copias) que se ejecutan de manera concurrente (simultánea) en el mismo sistema informático. Por ejemplo, imaginemos que en un sistema multiusuario un conjunto de programadores están utilizando el mismo editor de texto. Analogías de proceso
Podríamos decir que un programa es a un proceso como el fútbol es a un partido. El fútbol es un deporte en el que se han definido unas normas de funcionamiento, que resuelven todas las posibles incidencias y lo hacen de manera general. Cuando asignamos recursos a este concepto (como campo, entrenador y jugadores), instanciamos el concepto de fútbol y se inicia un nuevo proceso: el partido. Durante esa ejecución, el partido se desarrolla de una manera determinada y da unos resultados concretos, pero cuando finaliza deja de existir. El fútbol, en cambio, ha sido ajeno a esta ejecución y permite tantas otras instancias del juego como sean necesarias. La misma idea se puede aplicar a la descripción precisa de una interpretación musical (la partitura) y la ejecución correspondiente (el concierto) o a una receta de cocina y la preparación de un plato utilizando la receta.
Notas y pies de figura de la fuente
(5)El término proceso aplicado al mundo de la computación fue utilizado por primera vez por el sistema operativo Multics en la década de 1960. Desde entonces, también se utiliza el término tarea como sinónimo. Ved también En el módulo 3 veremos si es necesario replicar el mismo código en la memoria tantas veces como usuarios hay para ejecutarlo.
Página 22
Hay sistemas operativos que aceptan que se puedan definir diferentes hilos de ejecución concurrente (threads) dentro de un proceso.
Notas y pies de figura de la fuente
Ved también La definición de diferentes hilos de ejecución concurrente
Ver fragmento extraído sin normalizar
4.1. El concepto de proceso
(5)El término proceso aplicado al
La noción de proceso5 es fundamental para entender el funcionamiento in-
terno de los sistemas de computación modernos que son capaces de ejecutar mundo de la computación fue uti-
lizado por primera vez por el siste-
muchas actividades de manera simultánea (sistemas operativos multiproceso). ma operativo Multics en la década
de 1960. Desde entonces, también
Sin embargo, no es sencillo ofrecer una definición exacta. A continuación, va- se utiliza el término tarea como si-
mos a dar algunas de las más utilizadas: nónimo.
• un programa en ejecución,
• el espíritu animado de un procedimiento,
• el centro de control de un procedimiento en ejecución,
• la entidad a la que se asignan los recursos de un ordenador,
• la instanciación de un programa.
Aunque, como hemos dicho, no hay ningún acuerdo sobre la definición
de proceso, la expresión un programa en ejecución es una de las definicio-
nes más aceptadas. Así, podemos formular las afirmaciones siguientes:
• Un programa es la descripción detallada para la resolución de un
problema de manera general, en abstracto.
• Un proceso es la aplicación en concreto del programa a un caso
particular y en un momento determinado con la asignación de unos
recursos concretos. Un proceso es irrepetible.
De hecho, un mismo programa puede tener muchas instanciaciones (copias) Ved también
que se ejecutan de manera concurrente (simultánea) en el mismo sistema in-
formático. Por ejemplo, imaginemos que en un sistema multiusuario un con- En el módulo 3 veremos si es
necesario replicar el mismo có-
junto de programadores están utilizando el mismo editor de texto. digo en la memoria tantas ve-
ces como usuarios hay para
ejecutarlo.
Analogías de proceso
Podríamos decir que un programa es a un proceso como el fútbol es a un partido. El fútbol
es un deporte en el que se han definido unas normas de funcionamiento, que resuelven
todas las posibles incidencias y lo hacen de manera general. Cuando asignamos recursos a
este concepto (como campo, entrenador y jugadores), instanciamos el concepto de fútbol
y se inicia un nuevo proceso: el partido. Durante esa ejecución, el partido se desarrolla
de una manera determinada y da unos resultados concretos, pero cuando finaliza deja
de existir. El fútbol, en cambio, ha sido ajeno a esta ejecución y permite tantas otras
instancias del juego como sean necesarias. La misma idea se puede aplicar a la descripción
precisa de una interpretación musical (la partitura) y la ejecución correspondiente (el
concierto) o a una receta de cocina y la preparación de un plato utilizando la receta.
## Página 22
<!-- source-page: 22 -->
GNUFDL • PID_00214804 22 El sistema operativo: una máquina virtual
Hay sistemas operativos que aceptan que se puedan definir diferentes hilos de Ved también
ejecución concurrente (threads) dentro de un proceso.
La definición de diferentes hi-
los de ejecución concurrente