You are on page 1of 2

6.2.

1 Diseño de Software de Arquitectura Multiprocesador

Un sistema multiproceso o multitarea es aquel que permite ejecutar varios


procesos de forma concurrente, la razón es porque actualmente la mayoría de las
CPU’s sólo pueden ejecutar un proceso cada vez. La única forma de que se
ejecuten de forma simultánea varios procesos es tener varias CPU’s (ya sea en una
máquina o en varias, en un sistema distribuido.

La ventaja de un sistema multiproceso reside en la operación llamada cambio de


contexto. Esta operación consiste en quitar a un proceso de la CPU, ejecutar otro
proceso y volver a colocar el primero sin que se entere de nada.

El multiproceso no es algo difícil de entender: más procesadores significa más


potencia computacional. Un conjunto de tareas puede ser completado más
rápidamente si hay varias unidades de proceso ejecutándolas en paralelo. Esa es
la teoría, pero otra historia es la práctica, como hacer funcionar el multiproceso, lo
que requiere unos profundos conocimientos tanto del hardware como del software.
Es necesario conocer ampliamente como están interconectados dichos
procesadores, y la forma en que el código que se ejecuta en los mismos ha sido
escrito para escribir aplicaciones y software que aproveche al máximo sus
prestaciones.

Para lograrlo, es necesario modificar varias facetas del sistema operativo, la


organización del código de las propias aplicaciones, así como los lenguajes de
programación.

Se configuran dos computadoras de gran capacidad interconectados


electrónicamente entre si. Esta configuración recibe el nombre de multiproceso y
se caracteriza porque permite proceso de datos continuo aún en el caso de que
surjan problemas de funcionamiento en alguno de las computadoras.

Un ejemplo de este tipo de sistema se muestra en la figura 6.3. Éste es un modelo


sencillo de un sistema de control de tráfico aéreo. Un conjunto de sensores
distribuidos recolecta la información del flujo de tráfico y la procesa localmente
antes de enviarla al cuarto de control. Los operadores toman decisiones utilizando
esta información y dan instrucciones a un proceso de control de diversas luces de
tráfico. En este ejemplo existen varios procesos lógicos para administrar los
sensores, el cuarto de control y las luces de tráfico. Estos procesos lógicos son
procesos sencillos a un grupo de procesos. En este ejemplo se ejecutan en
procesadores diferentes.
Los sistemas de software compuestos de procesos múltiples no necesariamente
son sistemas distribuidos. Si más de un procesador está disponible, entonces se
puede implementar la distribución, pero los diseñadores del sistema no siempre
consideran lo puntos de distribución durante el proceso de diseño. El enfoque de
diseño para este tipo de sistemas es esencialmente el mismo que para los de
tiempo real.

Ventajas

• Es económica.

• El uso de componentes comúnmente disponibles, en grandes cantidades, permite


ofrecer mayor rendimiento, a un precio menor que el de máquinas con
procesadores especialmente diseñados (como por ejemplo las máquinas de
procesadores vectoriales y de propósito específico).

• Adicionalmente, las computadoras paralelas son inherentemente escalables,


permitiendo actualizarlas para adecuarlas a una necesidad creciente.

• Las arquitecturas “tradicionales” se actualizan haciendo los procesadores


existentes obsoletos por la introducción de nueva tecnología a un costo
posiblemente elevado. Por otro lado, una arquitectura paralela se puede actualizar
en términos de rendimiento simplemente agregando más procesadores.

Desventajas

• En ocasiones se menciona también la limitante física; existen factores que


limitan la velocidad máxima de un procesador, independientemente del factor
económico.

• Barreras físicas infranqueables, tales como la velocidad de la luz, efectos


cuánticos al reducir el tamaño de los elementos de los procesadores, y problemas
causados por fenómenos eléctricos a pequeñas escalas, restringen la capacidad
máxima de un sistema uniprocesador, dejando la opción obvia de colocar muchos
procesadores para realizar cálculos cooperativamente.

You might also like