3.1
Procesos y procesadores conceptos básicos.
3.2 Hilos y multihilos.
3.3 Modelos de procesadores. 3.3.1 De estación de trabajo.
3.3.2 De pila de procesadores.
3.3.3 Híbrido.
3.4 Asignación de procesadores.
3.4.1 Modelos y algoritmos con sus aspectos de diseño e implantación.
3.5 Coplanificación.
3.6 Tolerancia a fallos.
3.7 Sistemas distribuidos de tiempo real.
3.1 Procesos y procesadores conceptos básicos.
La forma en que se reparte el uso de la CPU entre los procesos tiene un enorme impacto en el rendimiento de un sistema multiprogramado, por lo que siempre se ha prestado una gran atención a las políticas de planificación que se implementan y se han elaborado multitud de conceptos relacionados con ello.
Los procesadores distribuidos se pueden organizar de
varias formas:
Ø v Modelo
de estación de trabajo.
Ø v Modelo
de la pila de procesadores.
Ø v Modelo
híbrido.
3.2 Hilos y multihilos.
Ø v Threads
llamados procesos ligeros o contextos de ejecución.
Ø v Típicamente,
cada thread controla un único aspecto dentro de un programa.
Ø v Todos
los threads comparten los mismos recursos, al contrario que los procesos en
donde cada uno tiene su propia copia de código y datos (separados unos de
otros).
Los sistemas operativos generalmente implementan hilos de
dos maneras:
Ø MULTIHILO
APROPIATIVO
Permite al sistema operativo
determinar cuándo debe haber un cambio de contexto.
La desventaja de esto es que el
sistema puede hacer un cambio de contexto en un momento inadecuado, causando un
fenómeno conocido como inversión de prioridades y otros problemas.
Ø MULTIHILO
COOPERATIVO
Depende del mismo hilo abandonar
el control cuando llega a un punto de detención, lo cual puede traer problemas
cuando el hilo espera la disponibilidad de un recurso.
3.3 MODELOS DE PROCESADORES
La historia de los microprocesadores comienza en el año
1971, con el desarrollo por parte de Intel del procesador 4004, para facilitar
el diseño de una calculadora.
La época de los PC (Personal Computer), podemos decir que
comienza en el año 1978, con la salida al mercado del procesador Intel 8086.
3.3.1 DE ESTACIÓN DE TRABAJO.
Ø El
sistema consta de estaciones de trabajo (PC) dispersas conectadas entre sí
mediante una red de área local (LAN).
Ø Pueden
contar o no con disco rígido en cada una de ellas.
Uso de los discos en las estaciones de trabajo:
Sin disco: Bajo costo, fácil mantenimiento del
hardware y del software, simetría y flexibilidad.
Con disco: Disco para paginación y archivos de tipo
borrador:
Reduce la carga de la red respecto del caso anterior.
Alto costo debido al gran número de discos necesarios.
3.3.2 MODELO DE PILA DE PROCESADORES
Este modelo basa su funcionamiento en la teoría de colas.
En general este modelo puede reducir significativamente
el tiempo de espera al tener una sola cola de procesadores a repartir.
La capacidad de cómputo se puede gestionar de mejor forma
si se tiene micros con mayores capacidades.
3.3.3 HÍBRIDO.
Los sistemas híbridos combinan una variedad de buses de
instrumentación y plataformas en un sistema. A través de sistemas híbridos, se
puede lograr la flexibilidad para combinar los instrumentos independientemente
del bus, permitiendo elegir los instrumentos más adecuados para sus necesidades
de aplicación.
Características de los Sistemas Híbridos.
Ø Combina
las mejores características del modelo de estación de trabajo y de pila de
procesadores teniendo un mejor desempeño en las búsquedas y mejor uso de los
recursos
Ø Aumento
en flexibilidad, los sistemas híbridos proporcionan una longevidad mayor para
el sistema de pruebas con la habilidad para usar hardware y software existente,
y aún así incorporar nuevas tecnologías con mayor desempeño y menor costo
3.4 ASIGNACIÓN DE PROCESADORES.
Esta estrategia consiste como su nombre lo
indica, en dedicar un grupo de procesadores a una aplicación
mientras dure esta aplicación, de manera que cada hilo de la aplicación se le
asigna un procesador.
3.4.1 MODELOS Y ALGORITMOS CON SUS ASPECTOS DE DISEÑO E
IMPLANTACIÓN.
Los principales Aspectos son:
Ø Algoritmos
deterministas vs. heurísticos.
Ø Algoritmos
centralizados vs. distribuidos.
Ø Algoritmos
óptimos vs. subóptimos.
Ø Algoritmos
locales vs. globales.
Ø Algoritmos
iniciados por el emisor vs. iniciados por el receptor.
3.5 COPLANIFICACiÓN
Concepto de coplanificación:
Ø Toma en cuenta los patrones de comunicación
entre los procesos durante la planificación
Ø Debe garantizar que todos los miembros del
grupo se ejecuten al mismo tiempo.
Ø Cada procesador debe utilizar un algoritmo
de planificación ROUND ROBIN.
3.6 TOLERANCIA A FALLOS.
La tolerancia a fallos es un aspecto crítico para
aplicaciones a gran escala, ya que aquellas simulaciones que pueden tardar del
orden de varios días o semanas para ofrecer resultados deben tener la
posibilidad de manejar cierto tipo de fallos del sistema o de alguna tarea de
la aplicación.
3.7 SISTEMAS DISTRIBUIDOS DE TIEMPO REAL.
Sistemas distribuidos
Un sistema distribuido está formado por un conjunto
de computadores autónomos conectados para conseguir un objetivo común
Ventajas:
Ø Rendimiento
Ø Fiabilidad
Ø Cercanía
a los elementos del entorno físico
Ø Flexibilidad
Ø Características:
Ø 1.
Se activan por evento o por tiempo.
Ø 2. Su
comportamiento debe ser predecible.
Ø 3. Debe
ser tolerante a fallas.
Ø 4. La
comunicación en los sistemas distribuidos de tiempo real debe de ser de alto
desempeño.
CLASIFICACIÓN
Ø Los
sistemas de tiempo real se clasifican en general en dos tipos dependiendo de
los serio de sus tiempos limites y de las consecuencias de omitir uno de ellos.
Ø v Sistema
de tiempo real suave: significa que no existe problema si se rebasa un
tiempo.
Ø v Sistema
de tiempo real duro: es aquel en el que un tiempo límite no cumplido puede
resultar catastrófico.