I02.- SISTEMAS INFORMÁTICOS: ESTRUCTURA, ELEMENTOS COMPONENTES Y SU FUNCIÓN EN EL CONJUNTO. PROGRAMAS: TIPOS Y CARACTERÍSTICAS. 1. Concepto básico de ordenador 2. El equipo físico: hardware 2.1. La unidad central de proceso 2.1.1. La unidad de control 2.1.2. La unidad aritmético-lógica 2.1.3. Los buses 2.2. La unidad de memoria 2.3. Los periféricos 3. El equipo lógico (software) 4. El sistema operativo 4.1. Principales sistemas operativos 5. El software de programación. Lenguajes de programación 5.1. Lenguajes de bajo nivel 5.1.1. Lenguaje máquina 5.1.2. Lenguaje ensamblador 5.2.Lenguajes orientados a problemas (lenguajes de alto nivel) 5.2.1. Compiladores e intérpretes 5.3. Principales lenguajes de programación 6. El software de aplicación 6.1. Procesadores de textos 6.2. Hojas de cálculo 6.3. Gestores de bases de datos 6.4. Paquetes integrados 6.5. Diseño gráfico 6.6. Autoedición 1 1. CONCEPTO BASICO DE ORDENADOR Se puede definir el ordenador como una máquina universal capaz de interpretar y ejecutar una serie de operaciones elementales, relativas al tratamiento de la información (instrucciones), y resolver cualquier tipo de aplicación o tarea. Un ordenador se compone de un equipo físico o hardware y un equipo lógico o software. El equipo físico está configurado, esencialmente, por componentes microelectrónicos avanzados, que proporcionan el soporte necesario para la interpretación y ejecución de un pequeño repertorio de instrucciones o algoritmos elementales. El equipo lógico no tiene carácter material y consiste en una serie ordenada de instrucciones comprensibles a la máquina, que conforman un programa apto para desarrollar una tarea o aplicación concretas. La potencia de un ordenador no radica en la complejidad de sus instrucciones, que más bien son muy sencillas, sino en la enorme velocidad de su desarrollo o ejecución. Desde el punto de vista del tratamiento de la información, un ordenador es un dispositivo que acepta datos de una determinada forma, los procesa y produce otros datos o información de una manera diferente a la original. Así, el ordenador debe estar formado por tres partes correspondientes a las siguientes funciones básicas: - Entrada de datos: Los datos que provienen del exterior procedentes de alguna fuente de información son introducidos para ser procesados. - Proceso: El ordenador realiza operaciones con los datos que tiene almacenados en la memoria donde guardará también los resultados codificados hasta el siguiente paso. - Salida: El ordenador presenta al usuario los nuevos datos obtenidos tras el proceso ya decodificados. 2 2. EL EQUIPO FISICO: HARDWARE El equipo físico lo constituyen los elementos que configuran la máquina o ordenador. Ya hemos visto anteriormente, que el tratamiento de la información, que es la función del ordenador, se lleva acabo en tres fases: entrada de datos, proceso y salida. Para llevar a cabo las tres fases de tratamiento de la información, el ordenador dispone de diversos componentes, que se clasifican en tres grupos: - Los dispositivos de entrada: se encargan de introducir información a la máquina. Esta información puede consistir en datos o programas. - La Unidad Central de Proceso (UCP): tiene la misión de interpretar y ejecutar las instrucciones, así como controlar todas las partes que comprende el ordenador. - Los dispositivos de salida: sirven para proporcionar al mundo exterior los resultados obtenidos en el procesado de la información. 2.1. La unidad central de proceso La CPU es la parte más importante y compleja del ordenador. Actualmente, la UCP se fabrica en una sola unidad física que recibe el nombre de microprocesador. Consta de dos partes: - Unidad de control (UC). - Unidad aritmético-lógica (ALU). 2.1.1. La unidad de control La Unidad de control se encarga de la interpretación y traducción de las instrucciones y del control de los componentes del ordenador. Es decir, la misión prioritaria de la Unidad de Control consiste en interpretar y ejecutar las instrucciones recibidas desde la memoria. Otras funciones de la Unidad de control son la coordinación y supervisión de los elementos de entrada, salida, almacenamiento y de las unidades de memoria y aritmético3 lógica. 2.1.2. La unidad aritmético-lógica Los circuitos electrónicos que implementan la Unidad aritmético-lógica realizan las operaciones aritméticas y lógicas bajo la supervisión de la Unidad de Control. 2.1.3. Los buses La CPU se relaciona con los elementos exteriores mediante los buses, que son conjuntos de conductores en paralelo por los que circulan señales eléctricas. Los buses transportan información binaria. Existen tres buses: bus de direcciones, bus de datos y bus de control. La Unidad de control se encarga de determinar la dirección del elemento del sistema ordenador que debe proporcionar o recibir la información. Para seleccionar el transmisor o receptor, que puede estar situado en la memoria o en los dispositivos de entrada y salida, se utiliza un conjunto de líneas digitales que, a base de unos y ceros, transmiten la dirección del elemento. A ese conjunto de líneas se le denomina bus de direcciones. El bus de datos es el conjunto de líneas por las que se transfiere la información desde el elemento transmisor al receptor. El bus de control es el conjunto de líneas por las que circulan las señales auxiliares de gobierno y sincronización. 2.2. La unidad de memoria La CPU por sí sola no es capaz de recordar instrucciones ni datos, sólo es capaz de procesar la información y establecer el control de las unidades periféricas. La CPU necesita un lugar donde almacenar la información antes y después de procesarla, y además, ese lugar ha de permitir un acceso rápido. Ese lugar son las memorias. En la memoria principal se almacena toda la información que se introduce al 4 ordenador, tanto los programas como los datos. La Unidad de Memoria es la encargada de guardar las instrucciones de los programas y los valores de los datos, expresados con 1 y 0, que son la unidad mínima de información, llamada bit. Al número de bits que manipula el ordenador en cada ciclo de trabajo se le denomina palabra. Nota: Todos los elementos electrónicos del ordenador son digitales, es decir, sólo trabajan con dos estados posibles. A uno de dichos estados se le llama alto y supone la existencia de voltaje eléctrico (normalmente +5V). A este nivel de funcionamiento se le asigna el número 1 del sistema binario (caracterizado por poseer únicamente dos números, el 1 y el 0). El otro estado posible en los componentes digitales recibe el nombre de bajo y significa la ausencia de voltaje eléctrico (0V); en el sistema binario se corresponde con el número 0. 2.3. Los periféricos Los periféricos son los diferentes dispositivos que rodean al ordenador, y cuya misión consiste, en la introducción de información y recogida de resultados. A todo este conjunto de máquinas que auxilian a la CPU y que, a través de los buses o canales, introducen y obtienen información, se les da el nombre de equipos periféricos, por su posición relativa dentro del sistema. También se les llama dispositivos de entrada y salida, teniendo en cuenta la función que realizan. Existe una gran variedad de periféricos con características, funciones y formas de empleo diversas. Los podemos clasificar según su localización (en locales o remotos) o según su función (entrada, salida y entrada/salida). 2.3.1. Periféricos de entrada Los periféricos de entrada permiten al usuario introducir información en el ordenador. Los más comunes son el teclado, el ratón, el escáner, el CD-ROM y el joistick. 2.3.1.1. El teclado 5 El teclado es un periférico de entrada que nos permite comunicarnos directamente con el ordenador. Tiene tres bloques claramente diferenciados: - Teclas de función. - Teclado alfanumérico. - Teclado numérico y de control del cursor. Existen una serie de teclas especiales: ESCAPE, RETURN, CTRL, ALT y DEL. 2.3.1.2. El ratón El ratón es un periférico de entrada que se utiliza principalmente en entornos gráficos. Si el teclado es el dispositivo por excelencia para la introducción de datos numéricos o alfabéticos, el ratón lo es cuando los datos son de tipo gráfico; es decir, cuando estamos dibujando con el ordenador o la aplicación que estamos manejando nos permite seleccionar las diversas posibilidades mediante iconos. 2.3.1.3. El escáner El escáner es un periférico de entrada cuya misión consiste en digitalizar la información gráfica del dibujo que se coloca sobre su tableta para su posterior procesamiento. 2.3.1.4. El CD-ROM El CD-ROM o disco compacto es un soporte en el que se almacena la información. La unidad de CD-ROM es el dispositivo que se utiliza para leer los discos compactos. Esta unidad es un dispositivo óptico que utiliza un rayo láser para leer la información. La ventaja de los CD-ROM es la gran cantidad de información que se puede almacenar en ellos. 2.3.1.5. El Joistick El joistick es un periférico de entrada que se utiliza para facilitar al usuario el control en los programas de juegos de ordenador. 6 2.3.2. Periféricos de salida. Los periféricos de salida permiten al usuario obtener la información procesada por el ordenador. Los más comunes son el monitor, las impresoras y el plotter. 2.3.2.1. El monitor El monitor es un periférico de salida que nos permite visualizar la información introducida por el teclado y la enviada por el ordenador (programas, comandos y mensajes). 2.3.2.2. Las impresoras La impresora es un periférico de salida que nos permite obtener copias de papel de la información procesada por el ordenador. Las impresoras pueden ser de distintos tipos: - Matriciales. - De inyección o de chorro de tinta. - Láser. - Térmicas. También existen otros tipos de impresoras (de margarita, de tambor, de barra oscilante, etc.), pero su utilización ha sido desplazada por las impresoras de más alta tecnología. 2.3.2.3. El plotter El plotter es un periférico de salida que a partir de un programa efectúa dibujos de trazo continuo. Se utiliza para trazar sobre un papel los plano, esquemas y dibujos correspondientes a un diseño. 2.3.3. Periféricos de entrada/salida Los periféricos de entrada permiten al usuario introducir información en el ordenador 7 y obtener la información procesada por él. Los más comunes son las unidades de discos magnéticos, las unidades de discos magnético-ópticas, las unidades de cinta y el módem. 2.3.3.1. Las unidades de disco magnéticas Los discos son soportes de tipo magnético que se utilizan para almacenar la información. Existen dos tipos de discos magnéticos: - Discos duros o rígidos (Hard Disk). - Discos fléxibles (Floppy Disk). 2.3.3.2. Las unidades de disco magneto-ópticas Las unidades magneto-ópticas combinan las técnicas magnéticas y ópticas para leer y escribir en los discos 2.3.3.3. Las unidades de cinta Una cinta, al igual que un disco, es un soporte magnético. La diferencia es que, mientras en el disco el acceso es aleatorio, en una cinta el acceso a la información es secuencial. La ventaja que presentan las cintas frente a los disquettes es su gran capacidad y su alta velocidad de transferencia de datos. El dispositivo físico capaz de almacenar y leer información de una cinta se denomina Streamer. Las unidades de cinta se utilizan para realizar copias de seguridad de la información almacenada en el disco duro del ordenador. 2.3.3.4. El módem El módem es un periférico de entrada/salida que se utiliza para la transmisión/recepción de datos a través de las líneas de comunicación telefónicas. 3.- EL EQUIPO LOGICO (SOFTWARE) Con la palabra software (equipo lógico) se hace referencia a la parte no física de un ordenador. Un ordenador sin el software es una máquina sin utilidad, necesita de programas 8 que le permitan gestionar bases de datos, realizar complicados cálculos matemáticos, ayudar al diseño, procesar imágenes, comunicarse con ordenadores situados en cualquier parte del mundo y a todas las tareas que estamos acostumbrados que realicen. Existen dos tipos de programas: - Los programas del sistema - Los programas de aplicación En un sentido amplio, los programas del sistema se encargan de controlar las operaciones propias del ordenador, mientras que los programas de aplicación son los que resuelven problemas específicos a los usuarios. De los programas del sistema, el más importante es el sistema operativo, cuyo objetivo es que el ordenador se pueda utilizar de una manera cómoda y eficiente. 4. EL SISTEMA OPERATIVO El sistema operativo es un programa que controla la ejecución de los programas de aplicaciones y actúa como interfaz entre los usuarios del ordenador y el hardware del mismo. Sus objetivos básicos son: - Comodidad para los usuarios: El sistema operativo hace que el ordenador sea más fácil de utilizar. En este caso hace que los usuarios vean una máquina virtual o extendida, que es más sencilla de programar y de utilizar que la máquina desnuda. - Eficiencia: El sistema operativo gestiona los recursos del sistema de forma más eficaz. Su función en este caso es la de un gestor de recursos. El sistema operativo tiene que proporcionar servicios para las funciones siguientes: - Creación de programas - Ejecución de programas - Operaciones de entrada/salida - Manipulación y control del sistema de archivos 9 - Detección de errores - Control del acceso al sistema - Elaboración de informes estadísticos 4.1. Principales sistemas operativos Los sistemas operativos más significativos son los siguientes: MS DOS, Windows, Unix, Windows NT. 5.- EL SOFTWARE DE PROGRAMACION. LENGUAJES DE PROGRAMACION El software de programación incluye los programas que utilizan los programadores para crear nuevos programas. Los programas se crean utilizando un lenguaje de programación. Un lenguaje de programación es un conjunto de palabras clave o instrucciones y unas reglas sintácticas que indican como hacer los programas. Dentro de los lenguajes de programación, distinguiremos entre los lenguajes de alto nivel, o lenguajes orientados al problema, y lenguajes de bajo nivel, o lenguajes orientados al ordenador. A continuación se analizan por separado las características de cada uno de ellos. 5.1. Lenguajes de bajo nivel Los lenguajes de bajo nivel se encuentran totalmente vinculados al hardware, es decir, a la estructura interna del ordenador. Están diseñados para poder sacar partido directamente a la máquina y no para hacer frente a la solución de ningún tipo de problemas específico. Bajo esta denominación se engloban tanto el lenguaje máquina como el lenguaje ensamblador. Ambos se analizan a continuación. 5.1.1. Lenguaje máquina El lenguaje máquina fue el primero que utilizó el hombre para la programación de los primeros ordenadores. Una instrucción en lenguaje máquina no es más que una cadena de ceros y unos que expresan, de forma codificada, las únicas órdenes que un ordenador es capaz 10 de entender. Cualquier programa, para ser ejecutado en un ordenador, debe ser almacenado previamente en su memoria principal en lenguaje máquina. Si un programa ha sido redactado en otro lenguaje de programación, deberá sufrir un proceso de traducción antes de ser ejecutado. 5.1.2. Lenguaje ensamblador El lenguaje ensamblador surge con la idea de evitar las dificultades que presenta el trabajar en lenguaje máquina. En términos generales, la misión de un lenguaje ensamblador es la de simplificar la programación de un determinado ordenador, manteniendo un control directo sobre el hardware del mismo. La simplificación supuesta por los lenguajes ensambladores proviene fundamentalmente de dos aspectos: - El empleo de códigos nemotécnicos para representar las instrucciones. - El empleo de nombres simbólicos para designar los datos y las referencias. Los lenguajes ensambladores presentan otra propiedad que los distingue de los lenguajes orientados a problemas: el programador en ensamblador tiene acceso a todos los recursos e instrucciones de la máquina a la que se aplica, pero no así el programador en un lenguaje de alto nivel. 5.2. Lenguajes de alto nivel Un lenguaje de programación de alto nivel es un lenguaje orientado hacia la resolución de una determinada clase de problemas. En otras palabras, un lenguaje de alto nivel es un método conveniente y sencillo de describir las estructuras de información y las secuencias de acciones necesarias para ejecutar una tarea concreta. Un lenguaje de alto nivel es independiente de la arquitectura del ordenador que lo soporta. Esto presenta dos ventajas principales: 11 - En primer lugar, la persona que desarrolla los programas no tiene que saber nada acerca del ordenador en el que se desarrollará el programa. - En segundo lugar, los programas son transportables, es decir, el mismo programa puede (en teoría) funcionar sobre otros tipos de ordenadores. Otra propiedad de los lenguajes orientados a problemas es que, generalmente, los programas en alto nivel son más cortos que sus equivalentes en bajo nivel. 5.2.1. Compiladores e intérpretes Ya hemos dicho anteriormente, que cualquier programa, para ser ejecutado en un ordenador, debe ser almacenado previamente en su memoria principal en lenguaje máquina. Si un programa ha sido redactado en otro lenguaje de programación, deberá sufrir un proceso de traducción antes de ser ejecutado. Los programas encargados de llevar a cabo dicha traducción pueden ser compiladores o intérpretes. Los compiladores e intérpretes representan dos aproximaciones muy distintas a la tarea de traducir los programas escritos en un lenguaje de alto nivel. Un compilador traduce (compila) el programa escrito por el usuario (programa fuente) generando un programa en lenguaje máquina (programa objeto) que es el único procesable por la máquina. En un intérprete cada una de las sentencias del programa fuente se analiza y se ejecuta por separado. Los intérpretes son capaces de leer las instrucciones en un lenguaje de alto nivel, de interpretarlas y de ejecutarlas una a una, obteniendo resultados inmediatos a medida que se pasa el programa. A medida que se van completando las instrucciones, el intérprete las va analizando y diagnosticando los posibles errores que la instrucción pudiera tener; si no contienen ningún error se ejecutan a continuación. En los compiladores, una vez se ha analizado el código fuente, se traduce a lenguaje máquina todo el programa, y luego, tras ser almacenado, se puede ejecutar todo seguido, mientras que los intérpretes ejecutan el código fuente directamente. Los compiladores son 12 más sofisticados en general que los intérpretes ya que pueden realizar cierta optimización. Los intérpretes presentan diferencias importantes frente al grupo de lenguajes compiladores, entre las que destacan: - La ocupación de la memoria es mucho menor, al no tener que almacenar el programa en lenguaje máquina. - La velocidad de ejecución es muy lenta. - La comprobación y depuración de un programa es más fácil por la rapidez para detectar errores allí donde se producen. En la actualidad hay una tendencia a buscar una solución intermedia entre la reducción de memoria de los intérpretes y la velocidad de ejecución de los compiladores. 5.3. Principales lenguajes de programación Entre los lenguajes de programación más conocidos se pueden citar: Cobol, Basic, Fortran, Pascal, C, Ada, Java, Prolog, Lisp, etc. 6. EL SOFTWARE DE APLICACIÓN Las herramientas mencionadas en los apartados anteriores suelen ser usadas por los ingenieros de software y programadores para desarrollar nuevos productos software (software de aplicación). El software de aplicación es el conjunto de programas que utilizan los usuarios para trabajar con el ordenador. A continuación citaremos las herramientas más conocidas en este campo: 6.1. Procesadores de texto Los procesadores de texto facilitan la edición de documentación. Existen dos enfoques fundamentales. Los procesadores actuales presentan en pantalla una representación más o menos exacta del resultado impreso previsto, y permiten editar el documento directamente sobre dicha presentación. La misma herramienta realiza las funciones de edición y de 13 composición e impresión del documento. 6.2. Hojas de cálculo Es una herramienta para facilitarla realización automática de cálculos, basados en una plantilla o formulario, habitualmente de tipo matricial o tabular. Se puede especificar que determinadas casillas de la tabla se rellenen automáticamente con datos calculados a partir de las otras. Los datos o fórmulas se editan en forma interactiva. Algunas herramientas modernas de este tipo permiten también la presentación gráfica de los valores almacenados en la hoja de cálculo. 6.3. Gestores de bases de datos Permiten definir los esquemas de las bases de datos, y realizar operaciones generales de consulta y manipulación, tales como la inserción de nuevos datos, modificación de los existentes, búsquedas, etc. Suelen estar basados en el modelo relacional. 6.4. Paquetes integrados Reúnen en una sola aplicación las características fundamentales de los tres anteriores: procesador de texto, hoja de cálculo y base de datos. También suelen añadir un programa de comunicaciones y un editor de presentaciones. 6.5. Diseño gráfico Son programas creados para la elaboración y manipulación de imágenes. 6.6. Autoedición Son programas que permiten unir textos e imágenes. Se utilizan para componer revistas y periódicos. 14