Descargar

Procesos y subprocesos en un sistema operativo (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

En los s.o. tradicionales cada proceso tiene un espacio de direcciones y un solo subproceso de control

Sin embargo, hay situaciones en las que es deseable tener varios subprocesos de control en el mismo espacio de direcciones, operando de forma pseudoparalela, como si fueran procesos individuales (salvo por el espacio de direcciones compartido). Subprocesos

edu.red

El modelo de proceso descrito hasta ahora se basa en dos conceptos independientes: agrupamiento de recursos y ejecución. A veces es útil separarlos, y es aquí donde entran los subprocesos. Un proceso se puede considerar como una forma de agrupar recursos relacionados. El modelo de subprocesos

edu.red

Un proceso tiene un espacio de direcciones que contiene lo datos y el texto del programa, así como otros recursos, que podrían incluir archivos abiertos, procesos hijos, alarmas pendientes, etc. Al juntar todas estas cosas en forma de un proceso se les puede administrar con más facilidad.

edu.red

Éste tiene un contador de programa que indica cuál instrucción se ejecutará a continuación, tiene registros, que contienen sus variables de trabajo actuales, y tiene una pila, que contiene el historial de ejecución. Los procesos sirven para agrupar recursos; los subprocesos son las entidades que se calendarizan para ejecutarse en la CPU.

edu.red

los subprocesos comparten un espacio de direcciones, archivos abiertos y otros recursos El termino múltiples procesos se emplea para describir la situación en la que se permite varios subprocesos en el mismo proceso.

edu.red

Cuando un proceso con múltiples subprocesos se ejecuta en un sistema con una sola CPU, los subprocesos se turnan para ejecutarse Además de compartir el mismo espacio de direcciones, todos los subprocesos comparten el mismo conjunto de archivos abiertos, procesos hijos, alarmas, señales, etc.

edu.red

Un subproceso puede estar en uno de varios estados: en ejecución, bloqueado, listo o terminado.

edu.red

¿Por qué son útiles los subprocesos? El motivo principal es que en diversas aplicaciones, se estén realizando varias actividades al mismo tiempo, por lo que algunas de ellas podrían bloquearse de vez en cuando. Al descomponer tal aplicación en múltiples subprocesos secuenciales que se ejecuten casi en paralelo, se simplifica el modelo de programación. Uso de subprocesos

edu.red

Un segundo argumento es que, al no estar enlazados con recursos, son más fáciles de crear y destruir que los procesos. Y mejora el desempeño del CPU Por último son útiles en sistemas con múltiples CPUs, en los que es posible un verdadero paralelismo

edu.red

Si el proceso padre tiene múltiples subprocesos, ¿ el hijo también deberá tenerlos? De lo contrario es posible que no funcione de forma correcta.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente