1 Introducción a los Sistemas Informáticos Sistemas Informáticos y Redes Locales. a) Gestión y supervisión del montaje y mantenimiento de las infraestructuras de telecomunicación y de redes de voz y datos en el entorno de edificios ELE383_3 (Real Decreto 328/2008, de 29 de febrero), que comprende las siguientes unidades de competencia: UC1184_X: Organizar y gestionar el montaje y mantenimiento de los sistemas y las infraestructuras de telecomunicaciones en redes de voz y datos en el entorno de edificios. Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA. ¿Qué se entiende por Sistema Informático? Conjunto de partes interrelacionadas, hardware, software que permite almacenar y procesar información. Arquitectura y componentes de una computadora. La vida en sociedad del ser humano ha originado la necesidad de transmitir y tratar la información de una forma continuada. El gran avance tecnológico en las dos últimas décadas del siglo XX y en la primera del siglo XXI ha desarrollado herramientas cada vez más complejas… El ordenador o computador es una máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a través de un medio de salida; todo esto sin intervención y bajo el control de un programa de instrucciones que previamente se ha almacenado en la memoria del computador. El término informática ha ido evolucionando a lo largo del tiempo, pero en la actualidad se considera la ciencia que estudia el tratamiento automático de la información. 4004, primer microprocesador creado por Intel. 1971 (CPU de 4 bits). Informática es una palabra de origen francés formada por la contracción de los términos Información y automática. Es una disciplina que trata del diseño, análisis, implementación, y aplicación de procesos que transforman la información. En la definición de computador se utiliza el término datos, como conjunto de símbolos utilizados para expresar o representar un valor numérico, una orden, un objeto o una idea; en la forma adecuada para ser objeto de tratamiento. En informática es frecuente codificar la información. La Codificación es una tarea de transformación de los elementos de un conjunto de caracteres y símbolos mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponde una determinada combinación del segundo. Los sistemas de codificación se utilizan para procesar la información que el usuario entiende pero que el ordenador no sabe interpretar, a no ser que dicha información se codifique. Es evidente que el hombre y la máquina trabajan en lenguajes diferentes. La unidad más elemental de información es el bit, el término procede del inglés, y se suele considerar que procede de la contracción de las palabras Binary y digit. Un bit es, por tanto, una posición o variable que toma el valor 0 o 1. Todo lo que hace un ordenador digital se basa en una operación sencilla: «la capacidad de determinar si un conmutador está abierto o cerrado». Es decir, el ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números, 1 ó 0. Sin embargo, es la velocidad con la que el ordenador realiza este acto tan sencillo lo que lo convierte en una maravilla de la tecnología moderna. Las velocidades del ordenador se miden en megahercios (millones de ciclos por segundo) y en gigahercios (miles de millones de ciclos por segundo). Un ordenador actual con una velocidad de reloj de 1.8GHz, velocidad bastante representativa de un ordenador portátil, sería capaz de ejecutar 1800 millones de operaciones discretas por segundo. El desarrollo de procesadores capaces de manejar simultáneamente 16, 32, 64 y 128 bits de datos ha permitido incrementar la capacidad de procesamiento de los ordenadores. La colección completa de configuraciones reconocibles, es decir, la lista total de operaciones que una computadora es capaz de procesar, se denomina conjunto o repertorio de instrucciones. Esto constituye lo que se conoce como lenguaje máquina del computador. Estas instrucciones se encuentran codificadas de acuerdo a un formato específico del computador, y constituyen una opción más del diseño del mismo. La arquitectura de un computador se encuentra estructurada en niveles conceptuales de descripción jerarquizada. Basada en un alto porcentaje en el modelo de referencia para la interconexión de sistemas no propietarios (OSI). Aplicación de Protocolos Correo electrónico ordenador remoto Navegador TELNET Proceso de Aplicación Transporte Protocolo de Internet. Direccionamiento IP Internet Tarjeta de Red 6. Presentación 5. Sesión HTTP Protocolo de control de la transmisión (TCP) Dirección MAC Modelo OSI 7. Aplicación HyperTerminal SMTP Modelo TCP/IP Acceso a la Red 4. Transporte 3. Red 2. Enlace de Datos 1. Físico El modelo OSI está compuesto por una pila de 7 niveles o capas, donde cada una de ellas tiene una funcionalidad específica, para permitir la interconexión e interoperatividad de sistemas diferentes. La utilidad del mismo radica en la separación que en él se hace de las distintas tareas necesarias para comunicar dos sistemas independientes. Capa de nivel 1 (Física): Es la que se encarga de pasar bits al medio físico y de suministrar servicios a la siguiente capa, para ello debe conocer las características eléctricas, mecánicas, funcionales y de procedimiento de las líneas. La capa 1 se encarga de codificar los bits para activar nuestro equipo físico, configura todos los equipos activos de la red. Capa de nivel 2 (Enlace de datos): Es la que se encarga de que los datos enviados por la capa 1 se envíen con seguridad a su destino, y libres de errores; en esta capa cuando la conexión no es peer to peer (punto a punto) no se puede asegurar su contenido, es la capa superior quien lo debe hacer; esta asegura el envió de cliente a servidor. Capa de nivel 3 (Red): Esta capa se encarga de la transmisión de los paquetes y de encaminar cada uno en la dirección adecuada, no se ocupa de los errores o pérdidas de paquetes. Define la estructura de direcciones y las rutas de internet. Capa de nivel 4 (Transporte): Garantiza la fiabilidad del servicio, define cuando y como debe utilizarse la retransmisión para asegurar su llegada. Si la capa de red utiliza el protocolo IP, la capa de transporte es responsable de reordenar los paquetes recibidos fuera de secuencia. Capa de nivel 5 (Sesión): Es una extensión de la capa de transporte que nos ofrece un control de dialogo y sincronización entre los computadores que están transmitiendo datos de cualquier índole. Ofrece varios servicios como son: Control de la sesión a establecer entre el emisor y el receptor, es decir, quien transmite y quien escucha) Control de la concurrencia (que dos comunicaciones a la misma operación crítica no se efectúen al mismo tiempo). Mantener puntos de verificación (checkpoints), que sirven para que, ante una interrupción de transmisión por cualquier causa, la misma se pueda reanudar desde el último punto de verificación en lugar de repetirla desde el principio. Capa de nivel 6 (Presentación): Es la encargada de manejar la estructura de datos abstracta y realizar las conversiones de representación de los datos necesarios para la correcta interpretación de los mismos. En ella se tratan aspectos tales como la semántica y la sintaxis de los datos transmitidos, ya que distintas computadoras pueden tener diferentes formas de manejarlas. Capa de nivel 7 (Aplicación): Ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico (POP y SMTP), gestores de bases de datos y servidor de ficheros (FTP). Niveles conceptuales de una computadora. El hardware o parte física de un ordenador es la máquina en sí: es decir, el conjunto de circuitos electrónicos, dispositivos electromecánicos y otros elementos físicos que forman la computadora. El software o parte lógica de una computadora es el conjunto de programas ejecutables por la computadora. El término hardware no sólo se utiliza para designar los dispositivos físicos del computador (su tecnología), sino también sus distintos modos de interconexión (su arquitectura). En la imagen Procesador prototipo de Intel de 2009, con 48 núcleos. El procesador Xeon de Intel, de ese mismo año y orientado a servidores, está construido con 2300 millones de transistores en tecnología de 32nm, y cuenta con ocho núcleos y hasta 16 hilos de ejecución. La computadora es uno de los sistemas más complejos ideados por el hombre, contiene miles de circuitos integrados pudiendo incluir cada uno de ellos millones de elementos individuales (transistores), todos ellos actuando coordinadamente. Para facilitar su diseño y análisis, se puede describir según distintos niveles conceptuales: Los tres niveles inferiores corresponden a los de tecnología de computadoras. El nivel electrónico es de gran importancia ya que de él depende el rendimiento de las computadoras. El nivel 3 describe la estructura de la computadora, en el tiene lugar la transferencia de instrucciones a nivel de microoperaciones. Los circuitos que utiliza este nivel son registros, multiplexores, bancos de registros, módulos de memoria RAM, etc., construidos con los elementos del nivel 2 (puertas lógicas). El nivel 4, lenguaje máquina, es el genuino nivel de arquitectura de la computadora, ya que el diseño de una computadora parte de la especificación de las instrucciones del lenguaje máquina, (el lenguaje ensamblador es igual al lenguaje máquina). El nivel 5, sistema operativo, puede considerarse como la interfaz entre el hardware y el software. Añade una capa para facilitar el uso del hardware y hacerlo lo más eficaz posible desde el punto de vista de los usuarios y de los programas de aplicación. El nivel 6, es el que realmente ven los programadores y usuarios, y está formado básicamente por los traductores. Si está bien concebido, el usuario no tendrá necesidad de conocer nada de los niveles inferiores. El último nivel, el nivel 7, es el de usuario. Programas de aplicación, se corresponde con los lenguajes de alto nivel. Niveles conceptuales de descripción de un computador. Visión jerárquica. 7. Aplicación (Lenguajes de alto nivel). (NIVEL DE USUARIO). 6. Nivel de máquina simbólica. (Compiladores, editores, interpretes). Arquitectura de buses 5. Nivel de máquina operativa. Interfaz SOFTWARE (primera capa software) Sistema Operativo (Diálogos de control). programación de alto nivel programación de bajo nivel 4. Nivel de máquina convencional. (Lenguajes máquina, Ensamblador). 3. Nivel de micromáquina. ( microprogramación) Transferencia entre registros. (Arquitectura de la placa base. Buses, etc…) HARDWARE Tecnología de Computadores 2. Nivel de lógica digital. ( Lógica Booleana). 1. Nivel Físico. Nivel de dispositivos y circuitos electrónicos. La arquitectura de un microprocesador define su estructura, funcionalidad y modelo de programación, es decir, número de bits de los registros internos, juego de instrucciones, número de ciclos de reloj por instrucción, método de gestión de memoria, modos de operación, etc. A este respecto podemos decir que existen dos arquitecturas básicas: CISC RISC Juego de código de instrucción completo Juego de código de instrucción reducido La mayoría de los computadores actuales se basan en el diseño original que desarrolló el matemático de origen húngaro, John Von Neumann en el Instituto de Estudios Avanzados de Princeston. Las computadoras que siguen estos criterios se suelen denominar arquitecturas von Neumann. Sus unidades funcionales son: • Unidad de entrada • Unidad de salida • Memoria principal • Memoria masiva • Unidad aritmético-lógica (ALU) • Unidad de control Lo que hoy se conoce como arquitectura de Von Neumann se fundamenta en tres ideas básicas: 1. En la memoria de un computador se almacenan indistintamente datos e instrucciones 2. Se puede acceder a la información contenida en la memoria determinando la dirección donde se encuentra almacenada. 3. La ejecución de un programa entendido como un conjunto de instrucciones, se realiza de forma secuencial, es decir, las instrucciones se ejecutan una a continuación de otra, a no ser que se produzca una ruptura explícita en la secuencia. Unidades funcionales de un computador. Comparación de las arquitecturas CISC frente a RISC. PROCESADOR CISC MEMORIA BUS DE DATOS Arquitectura 8086 de Intel Un sistema puede ser diseñado a medida para resolver exclusivamente un problema o puede ser un sistema de propósito general admitiendo en cada caso un conjunto diferente de datos de entrada y obteniendo unos resultados para el problema planteado. Podemos estar, por tanto, ante dos tipos diferentes de programación: Una programación rígida de tipo hardware y otra flexible de tipo software. • Programación por hardware o cableada. Hardware a medida Datos Secuencia de funciones aritméticas y lógicas • Programación por software. Resultados En los años 50, todos los computadores se diseñaban de forma completamente aislada unos de otros. Esto hacía que sus instrucciones fuesen independientes, haciendo que un programa escrito para un cierto ordenador no se pudiese ejecutar en otro. A finales de la década, IBM reunió a un grupo de sus investigadores para estudiar la forma con la que un programa pudiese trabajar en múltiples computadores sin tener que realizar importantes cambios, ampliando la compatibilidad del software en diferentes máquinas. El resultado fue el enfoque CISC, Complex Instruction Set Computing, introducido por primera vez en los IBM System/360 el 7 de abril de 1964. En la actualidad CISC tiene a x86 como su mayor exponente, con AMD y sobre todo Intel a la cabeza de su desarrollo. Hay muchos ejemplos históricos como los PDP (“Programmed Data Processor) de DEC, Motorola 68000, Intel 4004 o Intel 8086, quizá los más representativos. Prácticamente cualquier ordenador de sobremesa o portátil desde los años 80 ha utilizado un procesador x86. Tras el lanzamiento de CISC, los científicos de IBM empezaron a comprobar que los diseñadores de software creaban sus propias instrucciones más simples y precisas. Entonces, ya en la década de los 70, empezaron a diseñar una alternativa que posteriormente se introdujo en el mercado bajo el acrónimo RISC, Reduced Instruction Set Computing. El IBM 801 que empezó a crearse en 1975, fue diseñado por John Cocke y es considerado el primer procesador RISC de la historia. La principal virtud de RISC es tener un conjunto de instrucciones muy simples que se ejecutarán más rápidamente en el procesador. Existe un catálogo de pocas instrucciones y éstas son muy sencillas, lo cual implica también que para una cierta tarea compleja necesitaremos un mayor número de ellas, y por esto el programa final tendrá una longitud mayor y además accederá en un mayor número de ocasiones a los datos almacenados en la memoria. Un procesador de tipo RISC es más simple tanto en software (instrucciones) como en hardware (registros de memoria), lo cual hace que sea un dispositivo notablemente más barato que otras CPU. En la actualidad el mayor ejemplo de procesador RISC son los productos ARM, utilizados ampliamente en dispositivos móviles pero también en otros campos como los supercomputadores. CISC nació con la finalidad de homogeneizar los diferentes computadores en los años 50 y 60. RISC buscó en los 70 ir un paso más allá y mejorar el rendimiento con instrucciones más simples pero con programas más largos y más difíciles de desarrollar. Tanto CISC como RISC han evolucionado de forma muy notable desde su nacimiento, adoptando mejoras provenientes del contrario en ambos casos y nuevos conjuntos de instrucciones para adaptarse a los usos de los ordenadores. Si bien es cierto que en la época de su creación la diferencia era muy amplia principalmente debido a las limitaciones técnicas de la época tanto en tamaño de memoria como en velocidad de proceso. En la actual informática moderna los requisitos son muy diferentes. Los límites en capacidad de almacenamiento son casi inexistentes y los procesadores son capaces de ejecutar millones de instrucciones en un solo segundo. La gran batalla actual es la de sus dos grandes exponentes, ARM y x86, que han actualizado sus objetivos a lo que les importa a los usuarios del siglo XXI. El punto fuerte de ARM está en la eficiencia energética. Un chip ARM consume mucha menos energía que un procesador x86 que tiene en su alto rendimiento su gran virtud, a costa de consumir bastante más energía. ARM nació como una arquitectura para uso en ordenadores y dispositivos de bolsillo, en la actualidad se ha ampliado enormemente los dispositivos en los que se integra: se utilizan en teléfonos y tabletas, por supuesto, en reproductores y grabadores de vídeo (DVD, BluRay, etc.), videoconsolas portátiles o incluso en modems y routers de comunicación. Pero también en televisores, frigoríficos, lavadoras o lavavajillas, en teléfonos DECT o en coches (por eso ahora incluyen tantas funciones). Los aspiradores robot e incluso juguetes como Lego Mindstorms NXT utilizan un procesador ARM. Hay otro uso algo desconocido pero también bastante convencional: el uso de chips ARM en microcontroladores de gestión de otros dispositivos, como por ejemplo un disco duro tradicional o un SSD. En el caso, cuando nos referimos al controlador incluido (por ejemplo SandForce) nos referimos a un chip que integra un procesador basado en ARM que es el encargado de gestionar las posiciones libres y ocupadas de memoria, de ejecutar órdenes y, más en general, de organizar y administrar la estructura interna del almacenamiento. Fin de la Introducción a los Sistemas Informáticos Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA.