¿Qué es un proceso informático?, y ¿Qué función tiene?
En informática, un proceso se
trata básicamente de un programa que entra en ejecución. Los
procesos son una sucesión de instrucciones que pretenden
llegar a un estado final o que persiguen realizar una tarea concreta. Lo más
importante de este concepto, es de dónde sale un proceso o qué es
realmente un programa y un sistema operativo.
El sistema operativo es el
software básico de un ordenador, con éste, el usuario es capaz de
interactuar a partir de un entorno gráfico o mediante entradas de
texto en forma de instrucciones. El sistema operativo es capaz de
ejecutar otros procesos dentro de sí mismo e incluso crearlos mediante
código de programación y una compilación.
Por su parte, un
programa es un algoritmo que genera una secuencia de instrucciones con las que
podemos realizar una tarea concreta. Por supuesto los programas actuales no
solo realizan una, sino muchas tareas gracias a tener muchos de estos
algoritmos en su código de programación, cada uno de ellos para una función
específica.
Se puede entender esto con una
simple analogía de tostar el pan por la mañana:
- El sistema operativo será
nuestra casa o la habitación en donde estemos, la cual proporciona los
medios para poder ejecutar la tarea.
- El programa será
la tarea que queremos realizar, la de tostar el panel
- Los procesos serán
las distintas tareas que tendremos que hacer hasta llegar a la solución:
abrir el pan –> enchufar el tostador -> colocar el pan -> esperar
a que se tueste -> sacarlo -> desconectar el tostador.
- Nosotros somos el procesador, los encargados de ejecutar la secuencia de tareas o procesos.
¿Cómo se divide un proceso?
Un proceso también se
puede dividir en distintas partes para ver cómo se ejecuta en nuestro
ordenador. Dentro de él tenemos lo que llamamos instrucciones,
que corresponden a cada uno de los pasos que debemos hacer para
completar esa tarea.
Además, para separar cada
proceso, el procesador le asigna un contador de programa, para
que cada uno este separado y bien diferenciado de otro que
incluso puede ser igual, por ejemplo, abrir dos veces el explorador. De esta
forma cada proceso se guarda en distintos registros, con distintas
variables y por supuesto en distinta región de la memoria RAM.
Es en este punto, es en donde
aparece el concepto de hilos de procesamiento o threads. Como
sabemos, los sistemas actuales permiten ejecutar varios programas de forma
simultánea, y en consecuencia, tendremos gran cantidad de procesos activos en
el sistema, decimos que son multihilo. Cada proceso entonces se
divide en uno o varios hilos de ejecución o subprocesos. Cada hilo,
tiene sus propias instrucciones y un estado de ejecución, es decir, unos
valores en los registros con los que el procesador sabe en qué fase se
encuentran.
Siguiendo con el símil
de tostar el pan, podríamos entender esto de la siguiente forma:
- Fijándonos en el proceso de esperar que se
tueste el pan, podemos dividirlos en varios subprocesos o hilos,
por ejemplo, partir el pan dos trozos y aprovechar las dos ranuras del
tostador. O también comernos un trozo mientras tostamos el otro.
- Cada trozo estará más o menos tostado, y ese será su estado de ejecución, nosotros, el procesador, debemos estar pendientes de que no se queme.


Comentarios
Publicar un comentario