Tema 5: Procesos y Procesadores en Sistemas Distribuidos

PROCESOS Y PROCESADORES





Un hilo de ejecución, en sistemas operativos, es una característica que permite a una aplicación realizar varias tareas concurrentemente. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente. 

Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos.
Cuando un hilo modifica un dato en la memoria, los otros hilos acceden e ese dato modificado
inmediatamente.
Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica (iconos, botones, ventanas), mientras otro hilo hace una larga operación internamente. De esta manera el programa responde de manera más ágil a la interacción con el usuario. También pueden ser utilizados por una aplicación servidora para dar servicio a múltiples clientes.

Hilos y Multihilos 
Sincronización de hilos
Todos los hilos comparten el mismo espacio de direcciones y otros recursos como pueden ser archivos abiertos. Cualquier modificación de un recurso desde un hilo afecta al entorno del resto de los hilos del mismo proceso. Por lo tanto, es necesario sincronizar la actividad de los distintos hilos para que no interfieran unos con otros o corrompan estructuras de datos.

Formas de multihilos
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.

Procesamiento asíncrono
Los elementos asíncronos de un programa se pueden implementar como hilos. Un ejemplo es como los softwares de procesamiento de texto guardan archivos temporales cuando se está trabajando en dicho programa. Se crea un hilo que tiene como función guardar una copia de respaldo mientras se continúa con la operación de escritura por el usuario sin interferir en la misma.

Aceleración de la ejecución
Se pueden ejecutar, por ejemplo, un lote mientras otro hilo lee el lote siguiente de un dispositivo.
Implementaciones
Hay dos grandes categorías en la implementación de hilos:
Hilos a nivel de usuario
Hilos a nivel de Kernel



 MODELOS DE PROCESADORES
8086 y 8088 (de 1978 a 1982)
*Son los primeros procesadores utilizados en PC.
Carecían de instrucciones de coma flotante, pero para implementar estas se podían complementar con el coprocesador matemático 8087, que era el más utilizado, aunque no el único.
i386SX –  Procesador de 32bits, pero externamente se comunicaba a 16bits, lo que hacía que fuera a la mitad de la velocidad de un 80386 normal.

i386SX Now - Versión del 80386SX,  compatible pin a pin con los procesadores 80286, desarrollado por Intel para poder actualizar los 80286 sin necesidad de cambiar de placa base.

Pentium (de 1993 a 1997)
Los primeros Pentium tenían una frecuencia de entre 60Mhz, 66Mhz, 75Mhz y 133Mhz, y a pesar de las mejoras en su estructura, entre las que destaca su arquitectura escalable, no llegaban a superar a los i486 de Intel que en ese momento había en el mercado, y mucho menos a los Cyrix y Am486 DX4.

Pentium Pro (de 1995 hasta 1998)
El Pentium PRO no fue diseñado como sustituto de ningún procesador, sino como un procesador para ordenadores de altas prestaciones destinados a estaciones de trabajo y servidores.

 

MODELO DE ESTACION 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.
Los usuarios tienen:

Una cantidad fija de poder de cómputo exclusiva.
Un alto grado de autonomía para asignar los recursos de su estación de trabajo.
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.
Gran uso de la red, los servidores de archivos se pueden convertir en cuellos de botella.

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.

Disco para paginación, archivos de tipo borrador y archivos binarios (ejecutables):
Reduce aún más la carga sobre la red.
Alto costo y complejidad adicional para actualizar los binarios.

Disco para paginación, borrador, binarios y ocultamiento de archivos:
Reduce aún más la carga de red y de los servidores de archivos.
Alto costo.
Problemas de consistencia del caché.

Sistema local de archivos completo:
Escasa carga en la red.
Elimina la necesidad de los servidores de archivos.
Pérdida de transparencia.


 MODELOS DE PLIAS DE PROCESADORES
Se dispone de un conjunto de cpu que se pueden asignar dinámicamente a los usuarios según la demanda.

Los usuarios no disponen de estaciones de trabajo sino de terminales gráficas de alto rendimiento.

El principal argumento para la centralización del poder de cómputo como una pila de procesadores proviene de la teoría de colas:
Llamamos “l” a la tasa de entradas totales de solicitudes por segundo de todos los usuarios combinados.

Llamamos “m” a la tasa de procesamiento de solicitudes por parte del servidor.
Para una operación estable debe darse que “m > l”:

 HIBRIDO
Se puede establecer una mediación al proporcionar cada usuario una estación de trabajo personal y además tener una pila de procesadores. Aunque esta solución es mas cara que cualquiera de los modelos puros, combina las ventajas de ambos.

El trabajo interactivo se puede llevar acabo en las estaciones de trabajo con una respuesta garantizada. Sin embargo las estaciones iniciativas no se utilizan, lo cual hace mas sencillo el diseño del sistema. Solo se dejan sin utilizar. En vez de esto, todos los procesos no interactivos se ejecutan en la pila de procesadores, asi como todo el computo pesado en general. Este modelo proporciona una respuesta interactiva mas rápida, un uso eficiente de los recursos y un diseño sencillo.

No hay comentarios:

Publicar un comentario