2. CONCEPTOS BASICOS:
PROCESOS Y PROCESADORES
PROCESO: Se puede definir como un programa
que se está ejecutando.
PROCESADOR: Comúnmente conocida como la
CPU o unidad central de procesamiento de una
computadora. Es el componente principal de un
equipo diseñado para moverse y procesar
datos.
3. MÉTODOS DE DISTRIBUCIÓN DE
CARGA
HILOS: Son mini procesos. Cada hilo se ejecuta
en forma estrictamente secuencial y tiene su
propio contador de programa una pila para
llevar un registro de su posición.
MULTIHILOS: Conjunto de hilos hijos. Mientras
un hilo está bloqueado se puede ejecutar otra
fila del mismo proceso en los distintos hilos de
un proceso comparten un espacio de
direcciones
4. MODELOS DE PROCESADORES
DE ESTACIÓN DE TRABAJO
Este sistema consta de computadoras dispersas
conectadas entre si mediante una red de área
local puede contar o no con disco duro en cada
una de ellas, los usuarios tienen una cantidad
fija de poder de computo y un alto grado de
autonomía para asignar sus recursos locales.
5. MODELOS DE PROCESADORES
DE PILA DE PROCESADORES
Este método consiste en construir una pila de
procesadores, repleta de CPU, en un cuarto de
máquinas, los cuales se pueden asignar de
manera dinámica a los usuarios según la
demanda. A cada usuario se le da una terminal
gráfica de alta rendimiento, como las
terminales X, incluso se pueden utilizar
terminales ASCII.
6. MODELOS DE PROCESADORES
DE PROCESADOR HÍBRIDO
Se puede establecer una mediación al
proporcionar a cada usuario una “estación de
trabajo” personal y además tener una pila de
procesadores. Este modelo proporciona una
respuesta interactiva más rápida, un uso
eficiente de los recursos y un diseño sencillo.
7. ASIGNACIÓN DE PROCESADORES
Los procesadores en SO distribuido se organizan
como colección de estaciones de trabajo
personales, una pila pública de procesadores o
alguna forma híbrida. En todos los casos, se
necesita cierto algoritmo para decidir cuál proceso
hay que ejecutar y en qué máquina.
Para el modelo de estaciones de trabajo, hay que
decidir cuándo ejecutar el proceso de manera local
y cuándo buscar una estación inactiva. Para el
modelo de la pila reprocesadores, hay que tomar
una decisión por cada nuevo proceso.
8. ASIGNACIÓN DE PROCESADORES
ALGORITMOS DETERMINISTAS
Son adecuados cuando se sabe de antemano todo acerca
del comportamiento de los procesos. En pocos, si no es
que, en ninguno de los sistemas, se tiene un conocimiento
total de antemano, pero a veces se puede obtener una
aproximación razonable.
ALGORITMOS HEURÍSTICOS
Son adecuados cuando la carga es impredecible. Un
algoritmo heurístico (o simplemente heurística) puede
producir una buena solución (puede que la óptima) pero
también puede que no produzca ninguna solución o dar
una solución no muy buena. Normalmente, se basa en un
conocimiento intuitivo del programador sobre un
determinado problema.
9. ASIGNACIÓN DE PROCESADORES
DISEÑO CENTRALIZADO VS DISTRIBUIDO
La recolección de toda la información en un lugar
permite tomar una mejor decisión, pero menos
robusta y coloca una carga pesada en la máquina
central. Son preferibles los algoritmos
descentralizados, pero se han propuesto algunos
algoritmos centralizados por la carencia de
alternativas descentralizadas adecuadas. Una
desventaja de los centralizados es que la máquina
central se puede sobrecargar y se pierde robustez ante
su posible falla.
10. ASIGNACIÓN DE PROCESADORES
ALGORITMOS ÓPTIMOS VS SUB ÓPTIMOS
Se pueden obtener las soluciones óptimas tanto en los
sistemas centralizados como en los descentralizados,
pero por regla son más caros que los sub óptimos.
Hay que recolectar más información y procesarla un
poco más. En la práctica la mayoría de los sistemas
distribuidos reales buscan soluciones sub óptimas,
heurísticas y distribuidas, debido a la dificultad para
obtener las óptimas.