¿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

Entradas populares