Descargar

Introducción y conceptos generales. Informática

Enviado por Pablo Turmero


    edu.red

    Introducción Definición, elementos y aplicaciones de la informática Antecedentes La máquina Von Neumann Lenguajes de programación Tipos de ordenadores Soporte lógico El sistema operativo

    edu.red

    La palabra Informática proviene de la fusión de los términos información y automática. Definiremos Informática como la disciplina científica encargada del tratamiento de la información mediante métodos automáticos. Con ello, definiremos ordenador como una máquina programable para el procesado de información. Más formalmente, podremos definir ordenador como un dispositivo electrónico programable capaz de almacenar, recuperar y procesar información.

    Concepto de informática y ordenador

    edu.red

    Máquina procesadora de información

    edu.red

    Funciones que debe realizar un ordenador Entrada Salida Almacenamiento Recuperación Transmisión Recepción Tratamiento

    edu.red

    Antecedentes históricos Las distintas funciones antes citadas tienen precedentes históricos que en muchos casos no tenían como objetivo el desarrollo de una máquina electrónica programable procesadora de información

    edu.red

    Antecedentes históricos: el ábaco Origen posiblemente chino, de unos 2500 años. Dispositivo manual para la asistencia al cálculo. Permite almacenar cantidades y operar sobre las cantidades representadas. El proceso de la información representada lo realiza el usuario.

    edu.red

    Las primeras calculadoras mecánicas Blaise Pascal inventó en 1642 la primera sumadora mecánica, conocida como la Pascalina, que realizaba sumas y restas A finales del siglo XVII Leibnitz inventó otra máquina capaz además de multiplicar, dividir y calcular raíces cuadradas. Basadas en ruedas, engranajes y ventanas. Capacidad de cálculo limitada, pero falta de capacidad de programación

    edu.red

    Las tarjetas perforadas En 1801, Joseph-Marie Jacquard inventa un telar capaz de cambiar los dibujos de las telas basándose en un perfil codificado en tarjetas perforadas La máquina era por tanto programable, ya que bastaba con cambiar las tarjetas para conseguir un dibujo diferente.

    edu.red

    Las primeras calculadoras mecánicas (2) En 1835 Charles Babbage desarrolla una calculadora mecánica llamada máquina diferencial Era capaz de sumar, restar, multiplicar y dividir. La tecnología disponible en aquel momento, la mecánica, limitó un diseño conceptual muy avanzado.

    edu.red

    Las primeras calculadoras mecánicas (3) Años más tarde Babbage diseñó la máquina analítica, con características avanzadas: Mayor capacidad de cálculo Programa definido en tarjetas perforadas. Capacidad de “control de programa”: bucles, bifurcaciones condicionales… Uso de resultados previos como datos de entrada para pasos posteriores. La máquina analítica no fue construida pero sentó las bases de los actuales ordenadores.

    edu.red

    Los primeros ordenadores A partir de la segunda guerra mundial aparecen los primeros ordenadores programables. Los primeros fueron electromecánicos, basados en relés telefónicos. La programación se realizaba mediante cambios en el cableado entre las unidades funcionales. La velocidad y la miniaturización han ido a aumentando a medida que se han ido desarrollando tecnologías más avanzadas en cuanto a las unidades funcionales. Así, podemos hablar de varias generaciones basadas en: Relés (1944) Válvulas de vacío (1946) Transistores (1947) Circuitos integrados (1960) Circuitos de alta integración.

    edu.red

    edu.red

    La máquina Von Neumann Se trata de un diseño conceptual que especifica cómo debería funcionar una máquina programable capaz de procesar información. La máquina Von Neumann deberá tener las siguientes características: La máquina debe ser controlada por un conjunto de instrucciones con un pequeño número de elementos centrales de proceso. Tanto la información (datos) como el programa (método de procesado de la información) deben almacenarse en el interior del computador en formato binario (con un alfabeto compuesto exclusivamente de ceros y unos).

    edu.red

    La máquina Von Neumann

    edu.red

    Unidades funcionales de la máquina Von Neumann

    Unidad de entrada (input): Dispositivos que permiten introducir información en el sistema. Unidad de salida (output): Dispositivos que permiten mostrar información. Unidad de proceso (CPU): Se puede dividir en dos componentes: Unidad de control Unidad aritmético-lógica Memoria: Almacena los datos y programas.

    edu.red

    Unidades funcionales de la máquina Von Neumann: La unidad central de procesos La CPU puede dividirse en dos subunidades con funciones claramente diferenciadas: La unidad de control, cuyas tareas son: Interpretar el código y generar las señales de control que lo ejecutan. Controlar la secuencia en que se ejecutan las operaciones. Controlar el acceso a memoria. Enviar y recibir señales de control relacionadas con las operaciones que se ejecutan en la A.L.U. Regular la entrada/salida. La unidad aritmético-lógica, que se encarga de ejecutar las instrucciones aritméticas y lógicas con los datos según el programa almacenado en la memoria.

    edu.red

    Unidades funcionales de la máquina Von Neumann: La memoria En una máquina Von Neumann, tanto los datos como las instrucciones para procesarlos se almacenan internamente. La memoria es el dispositivo que se encarga de almacenar toda la información. La memoria podrá clasificarse, según el grado de accesibilidad de sus contenidos, en: Memoria primaria Memoria secundaria El contenido de la memoria se almacenará codificado en forma de bits (0 ó 1) Denominaremos byte a un conjunto de 8 bits.

    edu.red

    Unidades de medida de almacenamiento digital BIT (Binary Digit): unidad mínima de información que sólo puede contener 0 ó 1. Denominaremos byte a un conjunto de 8 bits. A partir de ahí: 1 Kilobyte (1 Kb) = 210bytes = 1.024 bytes ? 1.000 bytes 1 Megabyte (1 Mb) = 220bytes = 11048.576 bytes ? 11000.000 bytes 1 Gigabyte (1 Gb) = 230bytes = 1.0731741.824 bytes ? 1.0001000.000 bytes 1 Terabyte (1 Tb) = 240bytes ? 12000.0001000.000 bytes

    edu.red

    Tipos de memoria En relación de tamaños y rapidez de memorias contenidas en los ordenadores actuales tendríamos: Registros: Pequeñas memorias que están en la A.L.U. y sobre las que se realizan las operaciones directamente. Cache: Memoria intermedia contenida en la C.P.U. de manera que no hay que atravesar los buses para acceder a la información contenida en la caché. Memoria principal (RAM): Región de memoria a la que la C.P.U. puede acceder directamente. Memoria secundaria: Memoria adicional en donde se puede guardar información de forma permanente, aunque para poder trabajar con esa información, primero la C.P.U. deberá pasarla a la memoria principal.

    edu.red

    Tipos de memoria y órdenes de magnitud (Gp:) Tipo (Gp:) Orden (Gp:) Rapidez (Gp:) Registro (Gp:) Bytes (Gp:) + ? ? ? –

    (Gp:) Caché (Gp:) Kb (Gp:) R.A.M. (Gp:) Mb (Gp:) Disco duro (Gp:) Gb

    edu.red

    Proceso de ejecución de un programa en una máquina Von Neumann A- Se lleva una instrucción desde la memoria a la U.C. (y se incrementa el contador del programa) B- La unidad de control interpreta la instrucción y la ejecuta: 1- Busca información en la memoria y la lleva a la CPU 2- Ejecuta la instrucción 3- Poner el resultado de la instrucción en la memoria C- Si no ha terminado el programa, volver a A

    edu.red

    Máquina Von Neumann: Buses y señales de control Las unidades de una máquina Von Neumann se comunican mediante buses. Al menos habrá dos buses: Bus de datos Bus de direcciones Habitualmente existe un tercer bus de control, que se encarga de transmitir las señales de control y sincronización generadas por la unidad de control

    edu.red

    Concepto de algoritmo, programa y lenguaje de programación Definiremos algoritmo como un conjunto finito de pasos y acciones que especifican de forma clara y concisa (sin ambigüedades) la secuencia de operaciones a realizar para procesar adecuadamente unos datos con un determinado objetivo. Llamaremos programa a la plasmación (implementación) de un algoritmo de forma que pueda ser entendido y ejecutado por un ordenador, mediante un lenguaje comprendido por éste.

    edu.red

    Lenguaje de programación Un lenguaje de programación es un conjunto controlado de palabras con una sintaxis y una semántica asociadas que permiten describir algoritmos de forma que puedan ser ejecutados por un ordenador. Todo lenguaje de programación deberá tener: Un vocabulario limitado (palabras reservadas). Una sintaxis rígida y sin excepciones y con pocas variaciones. Una semántica estricta y sin ambigüedades.

    edu.red

    Proceso de resolución de un problema con un ordenador Planteamiento del problema y propuesta de un método de resolución en lenguaje natural. Plasmación del método de resolución en un algoritmo. Traducción del algoritmo a un lenguaje de programación (generación del programa o implementación). Interpretación o compilación del programa a lenguaje binario.

    edu.red

    Tipos de lenguajes de programación Según su nivel de abstracción: Lenguajes de bajo nivel: Son lenguajes máquina o cercanos a la máquina. Código máquina o ensamblador. Lenguajes de alto nivel: Son lenguajes cercanos al usuario o al problema. Tienen un alto nivel de abstracción. C, C++, Pascal, Fortran, etc.

    edu.red

    Tipos de lenguajes de programación Según el tipo de ejecución: Interpretados: Cada instrucción se traduce al lenguaje máquina durante el tiempo de ejecución. El programa que realiza esta tarea se denomina íntérprete. Ej: Basic o Perl. Compilados: El programa fuente completo se traduce a código máquina directamente ejecutable por parte de la máquina. Ej: C, Pascal.

    edu.red

    Tipos de lenguajes de programación Según su propósito: Científicos: Algol, Fortran. De gestión: Cobol, Modula. De enseñanza: Logo, Pascal. De gestión de bases de datos: Informix, SQL, dBASE, Oracle. De propósito general: BASIC, C, Pascal, Java,…

    edu.red

    Tipos de lenguajes de programación Según su paradigma de programación: Lenguajes procedurales o imperativos: Un programa es una secuencia de acciones que se ejecutan en un orden controlado Ej: C, Pascal, BASIC Lenguajes declarativos: Un programa es un conjunto de hechos y relaciones entre éstos. No existe una secuencia definida de ejecución. Ej: Prolog. Lenguajes orientados a objetos: Un programa está constituido por un conjunto de objetos con características de uso y comportamiento definidas que intercambian mensajes entre sí. Cada objeto es una entidad que agrupa una información, su estado, y una serie de mecanismos para consultar o manipular dicho estado, sus métodos Ej: C++, Eiffel, Java.

    edu.red

    Proceso de programación en un lenguaje de alto nivel

    edu.red

    Proceso de programación en un lenguaje de alto nivel compilado Edición: Escribir el programa fuente en un editor de textos. Este programa puede constar de uno o más módulos. Compilación: Usar un compilador para realizar un análisis léxico y sintáctico del programa fuente. El resultado será un módulo objeto por cada módulo fuente. Enlazado (linkado): Los distintos módulos objeto obtenidos en la compilación se enlazan para formar un programa binario ejecutable. Ejecución: Carga del programa ejecutable en memoria y puesta en funcionamiento.

    edu.red

    Proceso de programación en un lenguaje de alto nivel compilado

    edu.red

    Componentes de un sistema informático

    Hardware: Elementos físicos del sistema. Software: Elementos lógicos. Podremos dividirlo en varios grupos dependiendo de su función o de su cercanía al usuario: Software de sistema: el encargado de administrar los recursos de la máquina. Software de aplicación: programas que manejará el usuario para realizar cualquier tarea con el sistema informático.

    edu.red

    El sistema operativo El sistema operativo es el conjunto de programas que administran los recursos del ordenador y permiten la comunicación con el usuario mediante un determinado interfaz. La función de un sistema operativo es básicamente la de establecer la comunicación lógica entre los diferentes elementos del ordenador para que puedan funcionar las diferentes aplicaciones, intentando mejorar la relación entre el usuario y la máquina y optimizando al máximo los recursos de todo el sistema.

    edu.red

    Modelo por capas de sistema informático

    edu.red

    Funciones del sistema operativo Administrar y controlar los dispositivos hardware: Asignación de memoria y gestión de los dispositivos del sistema. Hacer de interfaz entre el usuario y el hardware de la máquina. Planificación, iniciación y supervisión de los programas.  Inicialización y control de las operaciones de entrada y salida. Gestión de almacenamiento: Mantener el sistema de archivos Control de errores del sistema.  Coordinar la comunicación entre todos los elementos del sistema y entre el usuario y el sistema.  Si soporta multiproceso y tiempo compartido, gestionar estas operaciones.

    edu.red

    Características a exigir en un sistema operativo – Eficiencia (rapidez en las tareas.) – Fiabilidad (sin fallos ni errores.) – Facilidad de mantenimiento. – Compatibilidad con otros sistemas. – Tamaño reducido (aunque últimamente esta característica está siendo sustituida por facilidad de manejo por parte de un usuario inexperto.)

    edu.red

    Ejemplos de sistemas operativos DOS (Disk Operating System): Sistema operativo para máquinas con microprocesadores Intel y compatibles (8088, 8086, 80286, 386, 486, Pentium,…) Se centra en el control de los aspectos del PC enfatizando en la gestión de sistema de ficheros y la transferencia de información hacia los periféricos. Monousuario Monoproceso Apenas implementa características de seguridad. Para mantener la compatibilidad con versiones anteriores mantiene ciertas características que impiden aprovechar los últimos avances de los PC’s.

    edu.red

    Ejemplos de sistemas operativos UNIX: Sistema operativo de propósito general, desarrollado para multitud de plataformas hardware (en principio cualquier microprocesador, intentando sacar el máximo partido del hardware aunque no se mantenga la compatibilidad entre versiones.) Esquema básico: Núcleo pequeño + Extensiones propias Multiusuario Multiproceso Implementa características de seguridad Cualquier sistema de entrada/salida (I/O) se trata como si fuese un archivo.

    edu.red

    Ejemplos de sistemas operativos Windows 95/98. Sistema operativo de propósito general, desarrollado para máquinas con microprocesadores Intel y compatibles (80386, 80486, Pentium,…) Interfaz gráfica nativa. Monousuario Multiproceso Implementa características de seguridad mínimas. Se prima la facilidad de uso sobre otras características como la velocidad o la capacidad de control del usuario. Para mantener compatibilidad con sistemas anteriores se sacrifican algunas de las ventajas posibles de los nuevos sistemas.

    edu.red

    Ejemplos de sistemas operativos Windows NT/2000. Sistema operativo de propósito general, desarrollado para máquinas con microprocesadores Intel y compatibles (80386, 80486, Pentium,…) Arquitectura de micronúcleo. Interfaz gráfica nativa. Multiusuario Multiproceso Implementa características de seguridad avanzadas.