Está en la página 1de 3

2.1 Concepto de proceso.

Todos los programas cuya ejecucin solicitan los usuarios, se ejecutan en forma de procesos, de ah la importancia para le informtico de conocerlos en detalle. El proceso se puede definir como un programa de gestin por el sistema operativo. Durante su eleccin el proceso va modificando en ejecucin y, de una forma un poco mas precisa, como la unidad de procesamiento los registro del modelo de programacin de la computadora, de acuerdo a las intrusiones de maquina involucradas. El sistema operativo mantiene por cada proceso una serie de estructuras de informacin que permiten identificar las caractersticas de este, as como los recursos que tiene asignados. En esta ultima categora entran los descriptores de los segmentos de memoria asignados, los descriptores de los archivos abiertos, los descriptores de los puertos de comunicaciones, etc. Una parte muy importante de esta informacin se encuentra normalmente como en el llamado bloque de control de procesos (BCP). El sistema operativo mantiene una tabla de procesos con todos los BCP de los procesos. Por razones de eficiencia, la tabla de procesos se construyen normalmente como una estructura esttica, que tiene un determinado numero de BCP, todos ellos del mismo tamao. La informacin que compone un proceso es la siguiente: ! Contenido de los segmentos de memoria en los que residen el cdigo y los datos del proceso. A esta informacin se le denomina imagen de memoria o core image. ! Contenido de los registros del modelo de programacin ! Contenido del BCP.

2.2 Estados y transiciones de los procesos Como se indico anteriormente, el proceso es la unidad de procesamiento gestionada por el sistema operativo. Para poder realizar este cometido, el proceso tiene asociado una serie de elementos de informacin, que se resumen en la Figura 3.8, que se analizan seguidamente. Estos elementos se organizan en tres grupos: estado del procesador, imagen de memoria y tablas del sistema operativo. Estado del procesador El estado del procesador esta formado por el contenido de todos sus registros, que se enumeran seguidamente: ! Registros generales. De existir registros especficos de coma flotante tambin se incluyen aqu. ! Contador de programa.

"!

Informacin del proceso Puntero de pila. Registro o registros de estado. Registros especiales. Como puede ser el RIED (registro identificador de espacio de direccionamiento). El estado del procesador de un proceso reside en los registros del procesador, cuando el proceso esta en ejecucin, o en el bloque de control de proceso (BCP), cuando el proceso no esta en ejecucin. Cuando el proceso esta ejecutando, el estado del procesador varia de acuerdo al flujo de instrucciones maquina ejecutado. En este caso, la copia del estado del procesador que reside en el BCP no esta actualizada. Tngase en cuenta que los registros de la maquina se utilizan para no tener que acceder a la informacin de memoria, dado que es mucho mas lenta. Por tanto, no tiene sentido plantear que, en cada modificacin de un registro, se actualice su valor en el BCP, puesto que esta en memoria. Sin embargo, cuando se detiene la ejecucin de un proceso, como consecuencia de la ejecucin de una interrupcin, es muy importante que el sistema operativo actualice la copia del estado del procesador en su BCP. En trminos concretos, la rutina del sistema operativo que trata las Interrupciones lo primero que ha de hacer es salvar el estado del procesador en el BCP del proceso interrumpido.

2.3 Procesos ligeros: Hilos o hebras. Un proceso ligero, o thread, es un programa en ejecucin (flujo de ejecucin) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros. Como muestra la Figura , un proceso puede contener un solo flujo de ejecucin, como ocurre en los procesos clsicos, o mas de un flujo de ejecucin (procesos ligeros). Desde el punto de vista de la programacin, un proceso ligero se define como una funcin cuya ejecucin se puede lanzar en paralelo con otras. El hilo de ejecucin primario, o proceso ligero primario, corresponde a la funcin main.

#!

Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Las informaciones propias se refieren fundamentalmente al contexto de ejecucin, pudindose destacar las siguientes: ! Contador de programa. ! Pila. ! Registros. ! Estado del proceso ligero (ejecutando, listo o bloqueado). Todos los procesos ligeros de un mismo proceso comparten la informacin del mismo. En concreto, comparten: Espacio de memoria. Variables globales. Archivos abiertos. Procesos hijos. Temporizadores. Seales y semforos. Contabilidad. Es importante destacar que todos los procesos ligeros de un mismo proceso comparten el mismo espacio de direcciones de memoria, que incluye el cdigo, los datos y las pilas de los diferentes procesos ligeros. Esto hace que no exista proteccin de memoria entre los procesos ligeros de un mismo proceso, algo que si ocurre con los procesos convencionales. El proceso ligero constituye la unidad ejecutable en Windows NT. La Figura representa de forma esquemtica la estructura de un proceso de Windows NT con sus procesos ligeros.

Proceso ligero

$!

También podría gustarte