11
Administración de Servidores II TIC ___________________________________________________________ ___________ Arquitectura de Computadoras Se puede definir una arquitectura de computadoras como los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un programa. El computador en si mismo tiene dos aspectos principales para poder entender su funcionamiento a nivel de programación: Almacenamiento Procesamiento Para solventar esta funcionalidad se tienen los siguientes componentes principales: Unidad Central de Procesamiento (CPU) controla el funcionamiento del computador y lleva a cabo el procesamiento de información. Memoria Principal: Almacena Datos E/S: Transfiere datos entre el computador y el entorno externo. Sistema de Interconexión: es un mecanismo que proporciona la comunicación entre la CPU, la memoria principal y la E/S. La CPU, como componente principal se compone de los siguientes partes: Unidad de Control: Controla el Funcionamiento de la CPU. Unidad Aritmético Lógica: Funciones de procesamiento de procesamiento de datos del computador. Registros: Proporcionan almacenamiento interno de la CPU. Interconexiones CPU: mecanismos para comunicación entre los otros componentes.

Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Embed Size (px)

Citation preview

Page 1: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

Arquitectura de Computadoras

Se puede definir una arquitectura de computadoras como los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un programa. El computador en si mismo tiene dos aspectos principales para poder entender su funcionamiento a nivel de programación:

Almacenamiento Procesamiento

Para solventar esta funcionalidad se tienen los siguientes componentes principales:

Unidad Central de Procesamiento (CPU) controla el funcionamiento del computador y lleva a cabo el procesamiento de información.

Memoria Principal: Almacena Datos E/S: Transfiere datos entre el computador y el entorno externo. Sistema de Interconexión: es un mecanismo que proporciona la

comunicación entre la CPU, la memoria principal y la E/S.

La CPU, como componente principal se compone de los siguientes partes:

Unidad de Control: Controla el Funcionamiento de la CPU. Unidad Aritmético Lógica: Funciones de procesamiento de

procesamiento de datos del computador. Registros: Proporcionan almacenamiento interno de la CPU. Interconexiones CPU: mecanismos para comunicación entre los otros

componentes.

Cada CPU (como ya se mencionó también llamado procesador) tiene subyacente un lenguaje ensamblador que se encarga de ejecutar e interpretar las instrucciones a más bajo nivel con números binarios almacenados en el computador. Hoy en día los ensambladores han cambiado de forma substancial orientándose a ser un lenguaje simbólico, cada línea representa una posición de memoria y consta de tres campos separados por espacios.

Arquitectura CISC

Un procesador CISC tiene un conjunto de instrucciones enriquecido con gran variedad e instrucciones e instrucciones complejas, en un esfuerzo de simplificar los compiladores y mejorara las prestaciones.La tendencia en CISC estuvo orientada a fabricar computadoras que ahorraran espacio de memoria, lo que como puede verse no ocurrió, los procesadores CISC tienen una gran cantidad de memoria.

Las principales características de un procesador CISC se enumeran a continuación:

Page 2: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

Enorme cantidad de instrucciones, de 100 a 250 Especialización de las instrucciones que no se usan con mucha

frecuencia Muchos modos de direccionamiento de 5 a 20 modos diferentes Formato de instrucciones de extensión variables Instrucciones para la manipulación de la memoria

Los objetivos de utilizar estas características en la fabricación de los procesadores están enfocados a las siguientes funcionalidades:

Realizar un control micro programado de las instrucciones Facilitar el uso de software de programación, en especial compiladores Disminuir el costo total del software y del sistema en general “Responsabilizar” software del paralelismo que se quiera lograr Diseñar ALU’s eficientes para ejecutar las instrucciones matemáticas

Como se puede apreciar una arquitectura del tipo CISC está orientada más que todo al software. El producir esta clase de tecnología es bastante caro en términos de hardware y se considera que aun cuando el costo de la memoria RAM ha disminuido considerablemente se necesita una gran cantidad de esta por las operaciones de carga, almacenamiento y control. En sí es bastante popular el fabricar procesadores de propósito general con esta arquitectura, como ejemplos:

Motorola Serie 68000 Intel Inside x86, Pentium Zilog Z80

Arquitectura RISC

Una arquitectura RISC (Reduced Instruction Set Computer: Computadora de Conjunto Reducido de Instrucciones), tiene características comunes a todos los procesadores que están agrupados bajo esta arquitectura que son:

Relativamente pocas instrucciones Relativamente pocos modos de direccionamiento El acceso a memoria limitado a instrucciones de carga y

almacenamiento Todas las operaciones realizadas dentro de los registros de la CPU Formatos de instrucciones decodificados con facilidad y de longitud fija Ejecución del ciclo de instrucciones única Control por circuitería en lugar de micro programado

Se considera que los objetivos al tener estas características son:

Realizar operaciones directamente en los registros Facilidad en la decodificación de las instrucciones

Page 3: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

Rapidez en el control y la capacidad de procesamiento Se ejecuta una instrucción por ciclo, gracias que se realiza

paralelamente operaciones de recuperación, decodificación y ejecución.

Entre otras las características que se derivan de las funcionalidades y de las características de RISC, pero que no son exclusivas de esta arquitectura son las siguientes:

Gran cantidad de registros en el procesador Uso de ventanas de registros traslapados para acelerar la llamada y el

retorno de procedimientos Paralelismo de las instrucciones eficiente Compiladores soportados para la traducción eficiente de programas en

lenguaje de alto nivel a lenguaje máquina.

Una ventaja adicional a lo ya expuesto se refiere a la cantidad de memoria que los procesadores RISC son capaces de ahorrar debido a que no utilizan tanta memoria para cargar o para almacenar datos como en las arquitecturas CISC.Ejemplo de procesadores fabricados bajo esta arquitectura se encuentran:

Power PC SPARC DEC Alpha MIPS

Arquitecturas Alternativas de Sistemas

Sistemas operativos en Red

En general la evolución de los sistemas operativos ha sido rápida y decida debido a la participación de muchas empresas de software, universidades, etc. A pesar de lo que se describió en la sección anterior la evolución de las comunicaciones ha jugado un papel preponderante desde la década de los 80 con el crecimiento de las redes de computadoras personales que necesitan un sistema operativo de red ó bien un sistema operativo distribuido.En un sistema operativo de red los usuarios saben que están conectados a la red y que pueden compartir recursos, sin embargo cada equipo ejecuta con sus propios recursos su propio sistema operativo, constituyéndose cada equipo como un nodo local con sus propias reglas y sus propios usuarios.Esencialmente el sistema operativo de red provee una solución general mediante la red a un problema complejo decididamente acotado y estudiado, su estructura y en general el funcionamiento se asemeja a un sistema operativo monoprocesador.Por razones de operación y buscando un mejor rendimiento se generó un desarrollo de sistemas distribuidos con varios procesadores, pero haciendo creer al usuario que se trata de un sistema operativo tradicional.

Arquitecturas Paralelas

Page 4: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

Así los problemas que resolvían los sistemas operativos crecieron junto con los procesadores ó tal vez de manera simétrica.Cuando los problemas se hicieron “muy duros” (difícil computacionalmente hablando) de resolver mediante un solo procesador o bien cuando su capacidad para obtener resultados sin emplear muy altas prestaciones se hizo evidente. Para solucionar este problema se tuvo que pensar en organizar las computadoras de forma que se escalaran las posibilidades, esto es, tratar de organizar el conjunto de instrucciones de forma que hubieran cooperación entre las tareas de varios procesadores, y también en un tiempo determinado sin necesidad de gastar recursos económicos buscando mainframes o máquinas con muchos procesadores a la vez.La solución de hacer todo al mismo tiempo dentro de varios servidores llevo a paralelizar ó realizar computo colaborativo.Actualmente los tipos de sistemas paralelos se han clasificado como sigue:

Una secuencia de Instrucciones una secuencia de datos Una secuencia de instrucción, múltiple secuencias de datos Múltiples secuencias de instrucciones, una secuencia de datos Múltiples secuencias de instrucciones, múltiples secuencias de datos

En el primer tipo se agrupan los mono procesadores sistemas que son comúnmente utilizados para procesar pocas peticiones al mismo tiempo.En los segundos se encuentra los procesadores vectoriales y matriciales, luego cada proceso asociado tiene una memoria asociada, de forma que cada instrucción se ejecuta por cada procesador, con un conjunto de datos diferentes.En el tercer grupo las secuencias de datos son transmitidas a un conjunto de procesadores, los cuales ejecutan una secuencia de datos diferentes. Hasta el momento no se ha implementado esta clase de estructura.Por último un conjunto de procesadores teien simultáneamente instrucciones diferentes con conjunto de datos diferentes, esto implica que existe posibilidad de distribuir la memoria o de compartirla.

En el caso de la memoria compartida se habla de un sistema fuertemente acoplado que puede hacer multiprocesamiento simétrico o bien acceso no uniforme a memoria ( el acceso a ciertas zonas de memoria es diferente entre sí, es decir, cada zona tiene un tiempo diferente de acceso).En el caso de la memoria distribuida se considera un sistema débilmente acoplado dando cabida a los clústers.

Vectores

La computación vectorial ha sido diseñada, a diferencia de los mainframes, con un propósito específico: realizar operaciones de punto flotante de manera masiva y con gran precisión.

Page 5: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

En el caso de realizar arreglos de vectores a través de la optimización de los mainframes y de tecnología que ofrece mayores prestaciones que estos, y que todavía siguen evolucionando conforme el tiempo pasa.Los procesadores matriciales son diseñados para propósito general, capaz de procesar cantidades enormes de información, pero sobre todo sin realizar cálculos tradicionales, más bien orientados hacia los vectores.En lugar de considerar cálculos aislados el procesamiento vectorial se enfoca en tratar a los vectores y a las matrices como si fueran escalares aprovechando el paralelismo existente entre operaciones similares a un solo número o escalar pero que se pueden extender hacia vectores.Los procesadores vectoriales o vectores actualmente tienen tres categorías principales:

ALU segmentada ALU paralelas Procesadores Paralelos

Alternativas para vectores

En particular una ALU segmentada es capaz de repartir o descomponer una sola operación en etapas para que se ejecuten de forma concurrente sobre conjuntos de datos distintos.Las ALU paralelas se ajustan bien al procesamiento vectorial introduciendo los elementos vectoriales en forma cíclica hasta que se han procesado todos los elementos, con las consabidas complejidades que se presentan.El procesamiento vectorial se puede obtener utilizando varios procesadores en paralelo, sin embargo es necesario una concienzuda programación para obtener los elementos deseados y controlar las tareas que se introducen por

Page 6: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

cada vez. Además se debe contar con un conjunto de hardware y software que coordine todas las demás actividades.Un ejemplo de máquina que utiliza vectores es la IBM 3090 que fue diseñada para la arquitectura IBM 370, primeramente se acopla hacia el sistema básico, pero esta altamente integrada en él.De entre sus principales características se encuentran:

Solapamiento de los Cálculos Carga de bloques en los registros ALU segmentada

Finalmente es de notarse que la gran mayoría de lo que se ha llamado vectores o procesadores vectoriales se han referido a los procesadores con ALU segmentada, y en otros casos el termino procesador matricial se usa para las ALU paralelas. Aunado a lo anterior el procesador matricial también s confundido con un coprocesador o procesador de propósito general usado en cálculos vectoriales.A manera de aclaración se sabe que los procesadores matriciales se pueden utilizar con ALU segmentada y con ALU paralela.

Clúster

Un clúster e un grupo de computadoras completas interconectadas que trabajan como un único recurso de cómputo, viéndose como un sistema único, en particular y de manera general cada computadora asociada al clúster se le denomina nodo.Para cada clúster se necesita un diseño o requisito de objetivo:

Escalabilidad Absoluta Una configuración adecuada debe mejorar las prestaciones de una computadora potente, esto es, un clúster debe poder mejorar por mucho el poder de procesamiento de una sola computadora aislada de forma independiente.

Escalabilidad Incremental Se debe poder añadir mediante la configuración adecuada, un conjunto de nuevos sistemas en ampliaciones sucesivas.

Alta disponibilidad Cada nodo es un procesador autónomo, el fallo de uno de los nodos no debe influir en el rendimiento o desempeño de todo el sistema. Lo anterior se logra debido a una correcta elección de software.

Mejorar la relación Precio/prestaciones: La estandarización de muchos sistemas entre ellos Linux, permite configurar de manera fácil un cluster a menor costo que lo normal y con una mayor potencia de procesamiento entre otras prestaciones.

El uso de clúster también supone la creación de sistemas operativos que den funcionalidad y exploten las características de esta arquitectura, por lo tanto existen dos parámetros que se deben tener en consideración para realizar un clúster:

Page 7: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

Gestión de Fallos: Realizar una configuración eficiente para que el clúster tolere los fallos y esté disponible la mayor cantidad de tiempo posible hacia los usuarios, esto implica la recuperación de las tareas que se pierden como consecuencia, tal situación no es soportada por la mayoría de los clúster actuales. Para suplir esta deficiencia se pueden usar discos compartidos y redundantes para concluir las transacciones completadas, a través del mecanismo de transferencia por fallo (failover) y/o a través de la recuperación del sistema después del fallo (failback).

Equilibrio de Carga: Un clúster debe ser capaz de recibir o perder procesadores dentro del ámbito de operación del mismo, pero además debe asignar tareas automáticamente para que las tareas sean distribuidas adecuadamente y se tenga un mejor rendimiento. Lo anterior es posible lograrlo mediante niveles de software intermedios entre el sistema operativo y las aplicaciones (middleware) para reconocer los servicios en distintos miembros del clúster y migrar de un miembro a otro.

La clasificación de los clúster tiene bastantes variables a considerar. Sin embargo la clasificación más aceptada considera cuales de estos sistemas acceden al mismo disco o a un arreglo de discos diferentes, con lo cual la interconexión juega un papel preponderante.

Configuraciones de Discos para Clúster

Como se puede ver en la figura anterior los clúster son capaces de colocar un RAID (Redundant Array Independent Disk), esto es, un arreglo de discos independientes en los que la capacidad de almacenamiento quede garantizada mediante la regeneración automática en la configuración. Debido a lo anterior se puede clasificar a los clúster de acuerdo a la forma como están distribuyendo la capacidad de almacenamiento y así cumplen con las características de alta disponibilidad y altas prestaciones así como de

Page 8: Unidad 1 - Cursos Rubisoll » Otro sitio más de WordPress ... · Web viewSistemas operativos en Red En general la evolución de los sistemas operativos ha sido rápida y decida debido

Administración de Servidores II TIC______________________________________________________________________

equilibrar los costos convirtiéndose en un poderoso auxiliar en la construcción de dispositivos de computo de alto rendimiento.A pesar de que la clasificación anterior se considera importante la funcionalidad del sistema, esto es, de acuerdo al funcionamiento interno del sistema es como se clasifican los clúster, a pesar de que la clasificación anterior es bastante reconocida.