1. INFORMATICA BASICA 1.1. DATOS E INFORMACION Informática es la ciencia del tratamiento automático y racional de la información, se ocupa del desarrollo de nuevas: - Desarrollo de nuevas máquinas (ordenadores y periféricos). Desarrollo de nuevos métodos de trabajo (sistemas operativos). Desarrollo de nuevas aplicaciones informáticas (software o programas). Los datos son el conjunto de símbolos que representan la información, son una representación formalizada de entidades o hechos, para que un conjunto de datos pueda considerarse información para un receptor debe: - Ser inteligible. Agregar nuevo conocimiento. No puede ser pronosticado con datos ya conocidos. Ser relevante en un contexto. El contexto queda definido por que la información sea: - Relevante: la información debe pertenecer al problema que se intenta resolver. Completa y precisa: resulta peor una información parcial o errónea que la falta de información. Actualizada: los datos de una lista de espera de hace una década no son de utilidad. Asumible: el coste que supone obtener una información no puede generar un problema mas grave que el problema que se quiere resolver. Un proceso es cualquier manipulación efectuada a los datos con el objetivo de producir información. Un programa es un conjunto de ordenes o instrucciones que se le dan a un ordenador para que realice un proceso determinado. Un ordenador es una máquina capaz de aceptar unos datos de entrada, realizar con ellos operación lógicas y aritméticas y proporcionar los resultaos a través de algún medio de salida. 1.2. REPRESENTACION Y COMUNICACIÓN DE LA INFORMACION Un sistema que opera en digital solo puede utilizar dos símbolos: el 0 y el 1, para que dicho sistema procese la información, es necesario representarla en modo digital, se realiza una conversión de los datos que permita pasar de los signos de nuestro leguaje a un lenguaje basado en ceros y unos (bits), se le denomina codificación de la información. 1.2.1 SISTEMAS DE NUMERACION Base de un sistema de numeración: número de signos diferentes que se emplean, los más importantes son: 2. CONCEPTO DE SISTEMA DE INFORMACION Un sistema es un conjunto de elementos relacionados con un objetivo, que pueden considerarse como un todo, ideas clave: - - Conjunto integrado de procesos, principalmente formales. Desarrollados en un entorno usuario-ordenador. Operando sobre un conjunto de datos estructurados (Base de datos): cuando se realicen cambios en la estructura de datos, los programas deben seguir funcionando (independencia de los datos). Recopilan, procesan y distribuyen selectivamente la información permitiendo el funcionamiento normal de la organización. El SI permitirá el funcionamiento habitual de la organización apoyando el análisis y la planificación del proceso de toma de decisiones. 2.1. ELEMENTOS CONSTITUTIVOS DE UN SI Un sistema de información se compone de: - Datos: entradas que el sistema toma para producir información. Hardware, Software y Hardware/Software. Recursos Humanos: usuarios y administradores. Procedimientos: reglas para conseguir una máxima disponibilidad y eficiencia. 2.2. TIPOS DE SISTEMAS DE INFORMACION 2.2.1. CLASIFICACION HISTORICA - - TPS (Transaction Procesing System): su objetivo era almacenar las transacciones vinculadas con el negocio (una transacción es cualquier operación de negocio que genera o modifica datos). Un TPS se centra en la captura y almacenamiento de los datos. MIS (Management Information System): son los sistemas de información para la gestión. Sistemas de generación de informes, es una herramienta de retroalimentación de información. - - DSS (Decision Support System): constituye una herramienta para la toma de decisiones de forma mas amplia. Se apoyan en la actualidad en: o Data Warehouse: conjunto de datos orientados por tema, variables en el tiempo y no volátiles que se emplea como apoyo a la toma de decisiones directiva. o Data Mining: es un proceso de apoyo a la decisión en el que se buscan patrones de información en los datos. EIS (Executive Information System): sofisticación de los DSS tradicionales. ES (Expert System): apoya el trabajo de diseño, diagnostico o evaluación de situaciones complejas que requieren conocimiento experto en áreas definidas. ERP (Enterprise Resource Planning): sistema de información de nivel corporativo. Propone una BD, una aplicación y una interfaz para toda la gestión de la organización. 2.2.2. CLASIFICACIÓN HORIZONTAL/VERTICAL - Horizontal: sistemas orientados a procesar información necesaria pero que este no es su objetivo principal. Vertical: sistemas orientados a procesar información necesaria y este es su objetivo principal. 2.2.3. CLASIFICACIÓN CENTRALIZADO/DISTRIBUIDO - - Centralizado: llamados Mainframes, ordenadores únicos en la organización a los que se conectaban terminales que accedían a las aplicaciones ubicadas en el ordenador. o Ventajas: Mayor ahorro en tiempo y dinero. Facilita un control más estrecho. Sistemas lógicos y físicos estandarizados. Facilita la formación del personal. o Desventajas: Falta de flexibilidad y adaptabilidad. Distribuido: aparición del PC, descentralización de los sistemas e implantación de sistemas de información departamentales. o Ventajas: Mas flexibles. Respuesta más rápida a las necesidades de cambio de los sistemas. Mayor y mejor utilización de las nuevas tecnologías. 2.3. CARACTERISTICAS Y FUNCIONES DE UN SISTEMA DE INFORMACION - Un SI debe poner a disposición la información cuando sea necesaria. Debe suministrar la información de manera selectiva (importa mas la calidad que la cantidad). Debe presentar la información de forma variada (incorporando gráficos de líneas…). Tiempo de respuesta del sistema. Exactitud y fiabilidad. Flexibilidad y generalidad: capacidad de adaptación y/o ampliación del sistema. Seguridad y reserva: protección y repetición de la información. Amigabilidad para con el usuario. 3. ARQUITECTURA DE ORDENADORES 3.1. ESTRUCTURA BASICA DE LOS ORDENADORES 3.1.1. HARDWARE Y SOFTWARE De forma muy general se distinguen dos partes en un ordenador: - Hardware: los componentes físicos (disco duro, tarjeta de video, impresora…). Software: conjunto de algoritmos cuyo objetivo es realizar una tarea, el software mas importante es el Sistema Operativo. 3.1.2. ARQUITECTURA VON NEUMANN Un programa es una secuencia de pasos, en cada uno se realiza una operación aritméticológica, para cada paso se necesita un conjunto de señales de control, la solución consiste en asociar un código especifico a cada posible conjunto de señales de control, y además tanto los datos como las instrucciones de este circuito sean guardados en una misma memoria, el diseño se basa en tres conceptos clave: - - Los datos y las instrucciones se almacenan en una sola memoria de lectura-escritura. Los contenidos de esta memoria se direccionan indicando su posición, sin considerar el tipo de dato. La ejecución se produce siguiendo una secuencia de instrucción tras instrucción. 3.1.3. ARQUITECTURA DE BUS La arquitectura Von Newmann utiliza un único canal de comunicación común y conexión material por él se envían todo tipo de datos entre las distintas partes del ordenador, son conexiones materiales que permiten a los componentes comunicarse entre si e interaccionar, tres tipos: - Bus de Control: transporta ordenes de control. Bus de Direcciones: transporta direcciones de memoria. Bus de Datos: trasporta datos como tales. El conjunto de estos tres buses forma el Bus del Sistema, se caracteriza por: - Ancho de bus: cantidad de información que puede manipular simultáneamente. Rapidez con la que puede transferir dichos datos. 3.1.4. FRECUENCIA DE CICLO En todo ordenador existe un reloj maestro que marca en todo momento uno de los dos posible sestados en que puede hallarse el voltaje eléctrico en todas las partes de la CPU, la unidad de control que posee la CPU. 3.1.5. MEMORIA PRINCIPAL Es necesario almacenar instrucciones y datos mientras se ejecutan los programas, para este fin existe la memoria principal, donde se almacenan los datos y las instrucciones, está dividida en celdas (llamadas palabras de memoria), el “mapa de memoria” se corresponde con el espacio de memoria direccionable. 3.1.6. CPU (Control Processing Unit) La unidad funcional que ejecuta las instrucciones de una determinada arquitectura de propósito general (monoprocesador o multiprocesador), se encarga de realizar las operaciones de cálculo y de controlar el flujo de datos entre los diversos elementos que forma un ordenador, se distinguen básicamente dos partes: - - - ALU (Aritmethic Logic Unit): agrupa todos los componentes capaces de manipular datos, realiza operaciones de: o Operaciones de Punto fijo (aritmética entera y calculo efectivo de las direcciones). o Operaciones de Punto flotante (aritmética con mantisa y exponente). o Operaciones de Longitud variable (aritmética decimal y operaciones sobre conjuntos de caracteres). CU (Control Unit): realiza el control del proceso y genera señales para activar los componentes. Trabaja en base al reloj maestro que interpreta y coordina la ejecución de todas la s operaciones. Registros: unión de varios circuitos lógicos que almacenan un determinado numero de bits, tipos básicos: o Uso general: puede almacenar el operando para cualquier código de operación. o Datos: contienen datos y no participan en el cálculo. o Direcciones: dedicados a modos de direccionamiento específicos (Registros índices, Punteros de Pila…). o Flags (Códigos de Condición): son bits fijados mediante hardware, indican si una operación entrega un resultado positivo, negativo, nulo, si hay overflow… Registros fundamentales que aparecen en todo ordenador: o PC (Program Counter): contiene la dirección de la siguiente instrucción. La CPU actualiza el PC después de cada lectura de instrucción de manera que siempre apunta a la siguiente instrucción a ejecutar. o INC (Incrementer): sumando su contenido al registro PC, incrementa el contenido de este. o IR (Instruction Register): contiene la instrucción actual, aquí se analiza el código de operación. o MAR (Memory Address Register): contiene la dirección de una posición de memoria, el intercambio de datos con la memoria se realiza conectado directamente al bus de direcciones. o MBR (Memory Buffer Register): contiene cada palabra de datos para escribir en memoria que ha sido leída más recientemente, el intercambio de datos con la memoria se realiza conectado directamente al bus de datos. o o Registros E/S: contiene la dirección de memoria cuyo contenido se reserva para almacenar datos provenientes de algún dispositivo de entrada y salida: E/SAR (E/S Address Register): registro de direcciones, a las posiciones de memoria cuyo contenido se usa para comunicarse con los dispositivos E/S se les denomina “puertos”. E/SBR (E/S Buffer Register): intercambiar datos entre un modulo E/S y la CPU. Registros D0, D1… Dn (Data Registers): registros genéricos destinados a contener todo tipo de datos 3.1.7. TIPOS DE INSTRUCCIONES La instrucción leída se almacena en registro IR de la CPU, se escribe utilizando código binario e interpreta y lleva a cabo la acción requerida, puede ser de cuatro tipos: - CPU-Memoria: trasfiere datos desde la CPU a la memoria o viceversa. CPU-E/S: datos a/o el exterior mediante transferencias entre la CPU y un módulo E/S. Procesamiento de datos: alguna operación aritmética o lógica. Control: Especifica que la secuencia de ejecución se altera. Las instrucciones se forman por bits agrupados en campos: - Campo de código de operación: indica la operación correspondiente a la instrucción. Campo de dirección: especifica los lugares donde se encuentra los datos con los que se opera. Según sea la forma de acceder al operando en la memoria el tipo de direccionamiento puede ser: - Inmediato: el dato ya se encuentra en la instrucción. Directo: la instrucción contiene la dirección del operando. Indirecto: la instrucción contiene la dirección de la dirección del operando. 3.1.7.1. PASOS DEL PROCESAMIENTO DE INSTRUCCIONES El procesamiento que requiere una instrucción se denomina ciclo de instrucción. Se compone de dos pasos, el ciclo de lectura y el ciclo de ejecución. Al comienzo de cada ciclo de instrucción, la CPU lee una instrucción de memoria, se utiliza el registro contador de programa (PC) para indicar la instrucción que debe leerse a continuación, siguen los siguientes pasos: - - - Instruction Fetch (Lectura de instrucción): la CPU lee la instrucción desde su posición de memoria. Instruction Address Calculation (Cálculo de la dirección de la instrucción): determina la dirección de la siguiente instrucción a ejecutar. Esto implica añadir un número fijo a la dirección de la instrucción previa, la cantidad a sumar se almacena en el registro INC. Instruction Operation Decoding (Decodificación de la operación indicada en la instrucción): analiza la instrucción para determinar el tipo de operación a realizar. Operand Address Calculation (Cálculo de la dirección del operando): si la instrucción implica una referencia a un operando en memoria o disponible mediante E/S, determina la dirección de este. Operand Fetch (Lectura de operando): lee el operando desde memoria o el dispositivo E/S. - Data Operation (Operación con los datos): realiza la operación indicada, se realiza en la ALU con los datos obtenidos en las etapas anteriores. Operand Store (Almacenamiento de operando): escribe el resultado en memoria o lo envía a través de un dispositivo E/S. 3.2. CLASIFICACION DE MICROPORCESADORES Se pueden clasificar en función de las instrucciones que son capaces de ejecutar: - - CISC (Complex Instructions Set Computer): procesan un conjunto de instrucciones complejo. Interpretan y ejecutan un gran numero de instrucciones, pero son relativamente lentos. RISC (Reduced Instructions Set Computer): procesan un conjunto de instrucciones reducido. Interpretan y ejecutan solo unas pocas instrucciones, pero son mucho mas rápidos que los CISC. 3.3. COMPONENTES INTERNOS 3.3.1. PLACA BASE Elemento principal del ordenador, es una tarjeta sobre la cual existe un circuito que conecta diversos elementos que se encuentran sobre ella: - Microprocesador (insertado en un zocalo ZIF “Zero Insertion Forze”). Memoria RAM. Ranuras de expansión, donde se conectan las tarjetas controladoras. Chips de control y almacenamiento (BIOS, ROM, caché externa). Conectores externos (USB, comunicaciones, sonido, red local, video…). Las dimensiones están estandarizadas: ATX, Micro-ATX, Mini-ITX… 3.3.1.1. COMPONENTES DE LA PLACA BASE - - - Socket: lugar donde se inserta el procesador, tipos: o Socket 3,7,8. o PGA 370 (Pentium y Celeron de INTEL). o Socket 462 (Athlon de AMD). o LGA1156, LGA2011 (Intel Core). o AM2, AM3, AM4 (Phenom y Ryzen). Ranuras de memoria: lugar donde se inserta la RAM, se incorpora un sistema de canal doble (Dual-Channel) en el que se utilizan dos buses distintos para la transferencia, tipos de ranuras: o SIMM (Single In-line Memory Module). o DIMM: más alargados (168 contactos). o SO-DIMM. o RIMM. BIOS (Basic Input-Output System): es un programa incorporado en un chip de la placa base que se encarga de realizar las unciones básicas de control y configuración del ordenador, es almacenado en un chip de ROM o flash. Al encender es automáticamente cardado a la memoria principal y es ejecutado por el procesador, realiza una rutina de verificación e inicialización de los componentes llamada POST (PowerOn Self Test), se - - - encarga de guardar todas las configuraciones del equipo en una memoria volátil llamada CMOS. Chipset: elemento formado por un determinado numero de circuitos integrados que proporciona compatibilidad PC a nivel hardware. o Northbridge (Memory Controller Hub): es el circuito integrado más importante del conjunto de chips, controla las funciones de acceso desde y hasta el microprocesador, RAM, video integrado… Sirve de conexión entre la placa madre y los principales componentes del PC. o Southbridge (I/O Controller Hub): circuito integrado que coordina los diferentes dispositivos de entrada y salida. Se comunica con la CPU a través del Northbridge, incluye soporte para Ethernet, RAID, USB y codec de audio. Integra cada vez mayor numero de dispositivos a conectar con tecnologías como HyperTransport o Ultra V-Link para evitar efecto botella del PCI. Memoria cache: memoria temporal, de existencia oculta para el usuario, proporciona acceso rápido a los datos de uso mas frecuente, esta integrada en el procesador. Conectores internos: o Conectores IDE (Integrated Drive Electronics)/PATA (Parallel Advanced Technology Attachment): conectar discos duros o CD-ROM, transferencia máxima de 166,6 MB/s. o Conectores SATA (Serial Advanced Technology Attachment): utilizado en discos duros, sustituye a PATA, mayor velocidad, mejor aprovechamiento cuando se tienen varios discos, alcanza los 6 Gbits/s. Ranuras de expansión: o PCI: trabajan hasta 132 MB/s suficiente para tarjetas de red y sonido. o AGP: exclusivo para tarjetas de graficas debido a su auge como aceleradoras 3D en el pasado, puede soportar desde 1x a 8x. o PCIe: estándar actual para dispositivos de alto rendimiento. 3.3.1.2. PUERTOS USUALES o o o o o 3.4. Específicos: PS/2 (teclado y ratón). Serie: RS232 (periféricos que manejan pocos datos). Paralelos: usualmente para escáner e impresora. USB (Universal Serial Bus): permite adjuntar dispositivos periféricos rápidamente, estándar: USB 2.0: alcanza hasta 480 Mbps, dispone de 4 conectores, 2 para datos (half-duplex) y dos para alimentación. USB 3.0: alcanza hasta 4.8 Gbps, dispone de 8 conectores, 2 para subida y dos para bajada (full-duplex). Firewire (IEEE 1394): interfaz de alta velocidad diseñado por Apple, hasta 800 Mbps. MEMORIA En la ejecución de un programa es preciso almacenar instrucciones y datos de forma binaria, esto se realiza mediante transistores, las características de la memoria principal son: - Memoria de tipo electrónico: formada por circuitos eléctricos denominados biestables. Capacidad: cantidad de información que puede almacenar. - Expansión: rango de memoria que puede soportar. Acceso aleatorio: la memoria principal se divide en celdas que almacenan bits, pero no se puede acceder a una celda de manera individual. Tiempo de acceso: tiempo transcurrido desde que se solicita una lectura hasta que el dato esta disponible en un registro. Ciclo de memoria: tiempo requerido en la ejecución de una operación de memoria y la solicitud inmediata a la memoria de otra operación idéntica. Clasificación de la memoria desde el punto de vista de la volatilidad: - - Memoria principal o RAM: según la tecnología que se use: o SRAM (Static Random Access Memory): muy rápida, pero más cara, se usa en los procesadores y en pequeñas cantidades. o DRAM (Dynamyc Random Access Memory): el termino dinámico indica que para que el chip de memoria pueda guardar información cada bit debe ser refrescado en un cierto periodo de tiempo, si se desconecta la energía, la información se pierde. o SDRAM (Syncronous DRAM): recibe y emite información sincronizada a un reloj externo, extremada mente más rápidas para leer y escribir. ROM (Read Only Memory): o PROM (Programable ROM): una vez grabadas no se pueden borrar. o EPROM (Erasable PROM): se puede borrar con rayos ultravioletas y volver a grabar. o EEPROM (Electrically EPROM): se pueden borrar eléctricamente. 3.4.1. JERARQUÍAS DE MEMORIA Aparte de los propios registros de la CPU, que son la memoria mas rápida, es necesario tener una memoria pequeña pero muy rápida, pero de mayor tamaño que estos, se denomina cache. En una jerarquía donde predomine la proximidad a la CPU, podemos distinguir: - - Registros: memoria local e interna de la propia CPU, es la más rápida. Memoria Cache: intermedia entre CPU y la Memoria Principal, contiene los datos que mas se usan, suele usarse memoria SRAM para su construcción. o Principio de localidad temporal: se ubican en la cache los datos más recientemente utilizados. o Principio de localidad espacial: se ubican en la cache los datos adyacentes a los utilizados. Memoria Principal (RAM): se comunica con la cache por bloques, también se comunica con dispositivos de memoria secundaria. 3.4.2. MEMORIA CACHE Memoria auxiliar de acceso aleatorio de baja capacidad y gran velocidad, se clasifican en: - - Cache interna o integrada: incluida en el procesador, puede ser de dos tipos: o Cache de lectura: cuando la CPU realiza una lectura sobre un dispositivo de memoria principal o secundaria, antes comprueba si está en cache. o Cache de escritura: las operaciones de escritura no se apuntan directamente sobre memoria principal, sino que se escriben en memoria cache. Cache externa. Otra distinción: - Cache de instrucciones (almacena instrucciones). Cache de datos (almacena datos). Se puede organizar de tres formas: - 3.5. Correspondencia directa: cada bloque tiene un solo lugar donde puede estar dentro de la memoria. Asociativa por vías: cada bloque se puede colocar en un conjunto restringido de dos o más bloques dentro de cada cache. Completamente asociativa: cada bloque se puede colocar en cualquier lugar. POLÍTICAS DE REEMPLAZO POR FALLO DE CACHE Cuando se produce un “fallo de cache” hay que ir a buscar el bloque al nivel inmediatamente inferior y liberar espacio: - Aleatorio: escogemos un bloque de forma pseudoaleatoria. Menos recientemente utilizado: cogemos el que hace más que no se usa. EL primero en llegar es el primero en salir: los bloques sustituidos van saliendo en el mismo orden que llegaron.