Herramientas de usuario

Herramientas del sitio


so_procesos

¡Esta es una revisión vieja del documento!


Procesos

Concepto de proceso

Los sistemas de procesamiento por lotes ejecutan trabajos, mientras que un sistema de tiempo compartido tiene programas de usuario o tareas. Incluso en un sistema monousuario, como Microsoft Windows, el usuario puede ejecutar varios programas al mismo tiempo: un procesador de textos, un explorador web y un programa de correo electrónico. Incluso aunque el usuario pueda ejecutar sólo un programa cada vez, el sistema operativo puede tener que dar soporte a sus propias actividades internas programadas, como los mecanismos de gestión de la memoria. En muchos aspectos, todas estas actividades son similares, por lo que a todas ellas las denominamos procesos.

En este apunte, los términos trabajo y proceso se usan indistintamente. Aunque personalmente preferimos el término proceso, gran parte de la teoría y terminología de los sistemas operativos se desarrolló durante una época en que la principal actividad de los sistemas operativos era el procesamiento de trabajos por lotes.

El Proceso

Informalmente, como hemos indicado antes, un proceso es un programa en ejecución. Hay que resaltar que un proceso es algo más que el código de un programa (al que en ocasiones se denomina sección de texto). Además del código, un proceso incluye también la actividad actual, que queda representada por el valor del contador de programa y por los contenidos de los registros del procesador. Generalmente, un proceso incluye también la pila del proceso, que contiene datos temporales (corno los parámetros de las funciones, las direcciones de retorno y las variables locales), y una sección de datos, que contiene las variables globales. El proceso puede incluir, asimismo, un cúmulo de memoria, que es la memoria que se asigna dinámicamente al proceso en tiempo de ejecución.

Insistamos en que un programa, por sí mismo, no es un proceso; un programa es una entidad pasiva, un archivo que contiene una lista de, instrucciones almacenadas en disco (a menudo denominado archivo ejecutable), mientras que un proceso es una entidad activa, con un contador de programa que especifica la siguiente instrucción que hay que ejecutar y un conjunto de recursos asociados. Un programa se convierte en un proceso cuando se carga en memoria un archivo ejecutable. Dos técnicas habituales para cargar archivos ejecutables son: hacer doble clic sobre un icono que represente el archivo ejecutable e introducir el nombre del archivo ejecutable en la línea de comandos (como por ejemplo, prog . exe o a. out.)

Aunque puede haber dos procesos asociados con el mismo programa, esos procesos se consideran dos secuencias de ejecución separadas. Por ejemplo, varios usuarios pueden estar ejecutando copias diferentes del programa de correo, o el mismo usuario puede invocar muchas copias del explorador web. Cada una de estas copias es un proceso distinto y, aunque las secciones de texto sean equivalentes, las secciones de datos, del cúmulo (heap) de memoria y de la pila variarán de unos procesos a otros. También es habitual que un proceso cree muchos otros procesos a medida que se ejecuta.

Estado del proceso

A medida que se ejecuta un proceso, el proceso va cambiando de estado. El estado de un proceso se define, en parte, según la actividad actual de dicho proceso. Cada proceso puede estar en uno de los estados siguientes:

  • Nuevo. El proceso está siendo creado.
  • En ejecución. Se están ejecutando las instrucciones.
  • En espera. El proceso está esperando a que se produzca un suceso (como la terminación de una operación de E/S o la recepción de una señal).
  • Preparado. El proceso está a la espera de que le asignen a un procesador.
  • Terminado. Ha terminado la ejecución del proceso.
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

so_procesos.1566399114.txt.gz · Última modificación: 2019/08/21 14:51 por mariano