INSTITUTO TECNOLÓGICO DE SONORA COMPUTACIÓN 1. INTRODUCCIÓN A LA COMPUTADORAS 1.1 BREVE HISTORIA DE LAS COMPUTADORAS. ABACO Aunque la creación del ábaco se la atribuyen algunas naciones, se da casi por hecho que el pueblo babilónico es el creador de que éste pudiera considerarse como el primer dispositivo de cálculo. CALCULADORA DE RUEDAS NUMÉRICAS. Blais Pascal en 1642, creó la que se considera la primer máquina sumadora del mundo y con ello, inició una nueva etapa en los procesos de cálculos, significando para su época un invento por demás sorprendente. MAQUINA DIGITAL Meses después de que Charles Xavier Thomas presentará su máquina sumadora, Babagge en 1830 presentó al gobierno inglés un proyecto para crear lo que hoy se conoce como la primer máquina digital concebida y que se conoció bajo el nombre de máquina analítica. MARK I. Howard Aiken creó auspiciado por la universidad la harvard, la primera computadora considera como tal, en 1937. La Mark I marca el inicio de lo que se conoce como la primer generación de computadoras. ENIAC (ELECTRONIC NUMERICAL INTEGRATOR AND CALCULATOR) Es importante mencionar que las universidades norteamericanas; desempeñaron un papel muy importante en el desarrollo y perfeccionamiento de la primer generación de computadoras y en 1945 la universidad de Pensylvania con John Mauchly y Presper Eckert crearon la computadora que se dio a conocer con el nombre de Eniac. EDUAC (ELECTRONIC DISCRETE VARIABLE AUTOMATIC COMPUTER). En 1952 Mauchly y Eckert fueron también los creadores de este equipo, sin embargo es oportuno mencionar que se creación se hizo posible gracias a las investigaciones y aportaciones que el doctor Von Neumann realizó con sus estudios hechos a las computadoras concretamente en su forma operativa. UNIVAC (UNIVERSAL AUTOMATIC COMPUTER) Para 1951, se tenía ya un concepto computacional más o menos bien consolidado y fundamento, conocimiento que iba a servir a Mauchly y Eckert para crear la primer computadora con fines de propósito general. Con Univac se cierra la etapa de desarrollo computacional que se conoce con el nombre de primera generación. 1.2 LAS GENERACIONES DE LAS COMPUTADORAS. Cuando se incorporaba un avance que significaría un cambio radical en la forma de operación de las computadoras, se daba inicio a una nueva generación de computadoras, que servía de base para diferenciarla de sus antecesoras. En la actualidad se hace referencia a cuatro generaciones de computadoras: I. GENERACIÓN. Da inicio a esta primer generación , la aparición de la computadora ABC y la computadora ENIAC durante la década de 1940. Principal aportación técnica: TUBOS AL VACIÓ. II. GENERACIÓN. Da inicio a esta segunda generación, la aparición de la computadora UNIVAC I, que se caracterizó por ser la primer computadora comercial década de 1950. principal aportación técnica: TRANSISTOR. III. GENERACIÓN. Da inicio a esta tercera generación, la aparición de la minicomputadora IBM serie 360. Década de 1960. Principal aportación técnica: CIRCUITOS INTEGRADOS. IV. GENERACIÓN. Da inicio a esta cuarta generación, la aparición de redes de computadoras con procesadores periféricos, microprocesadores, microcomputadoras, computadoras personales, procesadores de palabras, etc. Década de 1970. Principal aportación técnica: EL MICROPROCESADOR. En la actualidad no se ha sabido definir con precisión si a partir de 1980, nos encontramos trabajando con computadoras de quinta generación según expertos, no ha existido un cambio verdaderamente significativo para dar nacimiento a una quinta generación. EL FUTURO. Para darnos una idea general del grado de desarrollo que ha alcanzado la industria de la computación, consideran los expertos que si la industria de la aviación hubiera avanzado en la misma proporción que la de la computación, ahora podríamos adquirir un boing 747 por $400.00 us con el cual podríamos darle la vuelta al mundo varias veces durante un minuto y la cantidad de combustible consumido sería apenas perceptible. 1.3 CLASIFICACIÓN DE LAS COMPUTADORAS. Las computadoras pueden clasificarse según los datos que manipulan datos continuos: son aquellos que es necesario adaptar alguna técnica de medición para su manejo por ejemplo: temperatura, velocidad, datos discretos: son aquellos que es posible contarlos por ejemplo pulsos, objetos, información, etc. Según lo anterior. COMPUTADORA ANALÓGICA. Es aquella computadora que manipula datos continuos. Ejemplo: velocímetro de un auto, termómetro industrial. COMPUTADORA DIGITAL. Es aquella computadora que maneja datos discretos. Ejemplo: Computadora personal (PC). COMPUTADORA HÍBRIDA. Es aquella computadora que maneja una combinación de ambos tipos de datos. Ejemplo: bomba de gasolina controlada por computadora-PC. ASÍ TAMBIÉN SE TIENEN SEGÚN: CAPACIDAD DE PROCESAMIENTO, ALMACENAMIENTO, COMUNICACIÓN, ETC. MICROCOMPUTADORA. Puede utilizar más de un microprocesador y de diferentes tipos. MINICOMPUTADORA. Puede utilizar más de un microprocesador, pero todos del mismo tipo. MICROCOMPUTADORA. Utiliza solo un microprocesador. 1.4 COMPUTADORA. COMPUTADORA. Dispositivo electrónico para el tratamiento automático de la información, orientado a facilitar los trabajos repetitivos y voluminosos. Aunque no es estrictamente necesario conocer todo acerca del funcionamiento de una computadora para operarla, es importante, sin embargo, un poco de conocimiento acerca de la misma para utilizarlas más eficientemente. A continuación se da una introducción a lo que es el hardware y el software que constituyen todo sistema de computación. 1.4.1 HARDWARE. La componente llamada hardware es la parte física, tangible de un sistema de computadora. Consta de cuatro partes fundamentalmente: entrada, procesamiento, almacenamiento y salida. Casi todos los componentes del equipo incluyen un cierto número de circuitos integrados (chips). ENTRADA. El dispositivo estándar de entrada de una computadora es el teclado. la mayoría de los teclados de una computadora se basan en el de una máquina de escribir convencional, conocido como QWERTY. Además de las teclas normales, es común que en las computadoras incluyen teclas de funciones que ayudan al usuario a introducir un conjunto de instrucciones presionando únicamente una tecla. La cantidad y la posición de estas teclas varía de fabricante a fabricante. En el teclado de la IBM PC se tiene cuatro secciones: las teclas de funciones, las teclas alfanuméricas, las teclas de navegación y el teclado numérico. Aparte del teclado, se pueden incluir otros dispositivos de entrada, como el "ratón" o posicionador remoto. Otros dispositivos serían el tablero de contacto, pantalla de contacto, plumas luminosas, unidades que reconocen la voz y las unidades que reconocen la voz y las unidades para reconocer códigos de barras, entre otras. PROCESAMIENTO La componente procesamiento consiste en diferentes partes: Microprocesador, memoria Principal e Interfases. Microprocesador: el corazón de un sistema de computación es el microprocesador, que comúnmente se llama unidad central de procesamiento o CPU. El CPU es responsable de controlar el flujo de información y de ejecutar las instrucciones del programa sobre los datos. Este componente hace todas las sumas, restas, multiplicaciones y divisiones del sistema, así como las comparaciones entre números o entre caracteres. Una computadora desarrolla sus operaciones en un lenguaje de notación binaria. En este lenguaje, cada carácter (letra, número o símbolo) que se introduzca por el teclado se traduce inmediatamente en una combinación de unos (1) y ceros (0), que se llama "equivalente binario" o de "base dos". El código binario del sistema determina la representación de cualquier carácter específico en dígitos binarios. muchas computadoras usan el código estándar americano para intercambio de información (American Standard Code for Information Interchange), o ASCII, para representar los datos. La lista siguiente muestra sólo algunos caracteres. Observe que las letras minúsculas y mayúsculas les corresponden distintos códigos. Por esta razón, el usuario debe ser específico respecto a los caracteres que escribe en una computadora. BINARIO SÍMBOLO 0110001 1 0110010 2 1000001 A 1001010 J 1011010 Z 1100001 a 1101010 j 1111010 z La porción más pequeña de información que se puede manejar en una computadora se le denomina BIT (Abreviatura de Binary Digit); cada bit puede representar un 1 o un 0. Una computadora usa grupos de bits para almacenar datos y, combinando los bits en formas distintas, puede almacenar cantidades enormes de información. Como no se puede representar mucha información con uno o dos bits, se suelen formar grupos de ocho con los que la computadora puede trabajar. A esta agrupación se le conoce como BYTE. Cada byte almacena códigos binarios que representan un dígito numérico o un carácter específico. Cuando se habla acerca de la capacidad de memoria que tiene una computadora, la unidad es el byte. ¿Qué es un byte en términos humanos? La computadora utiliza un byte de memoria para almacenar cada carácter del teclado. Por ejemplo, la palabra "computadora" ocupa hasta once bytes de memoria (sin incluir las comillas). Por último, un K de almacenamiento representa 1024 bytes. Es común pensar en un K como algo aproximadamente igual a 1000 bytes, lo que hace fácil el cálculo mental requerido para determinar la cantidad involucrada de almacenamiento. Por ejemplo, la idea popular de un sistema de 256K es que contiene poco más de 256000 bytes, aunque en realidad contiene exactamente 262144 (1024 X 256) bytes. ALMACENAMIENTO Memoria principal: toda computadora contiene espacio de almacenamiento interno que puede usarse para varias funciones: para guardar datos, para almacenar instrucciones de programas y para contener el sistema operativo de la computadora. La cantidad de memoria de una computadora determina la longitud y, por lo tanto, la complejidad que puede tener un programa o de algún texto. Una computadora tiene dos tipos de memoria: RAM y ROM. La memoria RAM (Random Access Memory), en la memoria a la que el usuario tiene acceso. El usuario puede poner información ahí o puede cambiar o borrarla. Además, la memoria RAM contiene datos e instrucciones de programa vitales para el funcionamiento de la computadora; la cantidad de RAM total determina qué programas se pueden correr y cuánto procesamiento de datos se puede hacer. La memoria RAM por lo general consiste de “memoria volátil” o sea es una memoria que no conserva la información cuando se quita la corriente eléctrica a la computadora. La memoria ROM (Read Only Memory) contiene, en primera instancia, la información necesaria para inicializar a la computadora bajo cierto parámetro que el fabricante ha dispuesto de antemano, la información contenida en una ROM sólo se puede leer pero el usuario no la puede modificar. Contiene por lo general las instrucciones básicas para iniciar el funcionamiento de la computadora. Para programar a la memoria ROM, el fabricante utiliza un procedimiento especial, de tal forma que la información almacenada se graba en un chip en forma permanente. en este sentido, la ROM es una combinación de hardware y software, que algunas veces se le llama FIRMWARE. Memoria secundaria: Como se indicó antes, la memoria RAM es volátil por lo que es necesario contar con un medio que permita guardar información en forma confiable, para manejarla cuando el usuario así lo considere necesario. El medio de almacenamiento más usado en la actualidad son los discos. Existen los discos flexibles y los discos rígidos o duros. El disco flexible (diskettes) es un círculo cortado de una hoja de plástico de mylar que está recubierto de un óxido ferroso capaz de conservar puntos magnéticos. Los diskettes se encuentran en distintos tamaños, pero el más común es el de 5.25 pulgadas. Los discos flexibles se utilizan para almacenar datos, programas y textos que deben conservarse por cierto lapso. Sin este almacenamiento, el único medio para almacenar información es la RAM, pero su contenido, como ya se mencionó, desaparece cuando se apaga la computadora. Antes de que se pueda usar un diskette nuevo, se le debe someter a un proceso de formateo para que el sistema pueda reconocerlo y grabar datos en él. Los discos duros, por su parte, han adquirido una gran popularidad debido a su mayor capacidad de almacenamiento de información y a su mayor velocidad de accesamiento así como a su gran confiabilidad. Sin embargo, son más caros que los discos flexibles, pero en términos seguridad, siempre es más recomendable el disco duro. SALIDA El principal dispositivo de salida utilizado con el equipo de microcomputadoras es el monitor, que da información instantánea visual al usuario. La clasificación de los monitores, generalmente se da por el tipo de pantalla que presentan: Televisor, monocromático, Color, EGA, VGA, SVGA. Los monitores son ideales para mostrar la salida que no se necesita conservar. En muchas aplicaciones se requiere de información que debe mostrarse y guardarse por lo que es necesario un sistema de salida diferente: la impresora o su similar especializada conocida como graficador. En muchas aplicaciones se requiere de información que debe mostrarse y guardarse por lo que es necesario un sistema de salida diferente: la impresora o su similar especializada conocida como graficador. 1.4.2 SOFTWARE. SOFTWARE. Lo conforman todos los componentes no-físicos del sistema computacional, es la parte no-tangible del sistema. Cuando la mayoría de las personas piensa en una computadora, por lo general la visualiza como el hardware. Sin embargo, sin dirección humana el hardware es una amalgama inútil de metal y plásticos. El control de los humanos se da mediante lo que se llama programas de computadora. Un programa es un conjunto de instrucciones que le dicen a la computadora que hacer. A todos los programas necesarios para hacer funcionar a una computadora en particular se le conoce con el nombre de "software". Existen tres clases generales de programas; los sistemas operativos, los lenguajes de programación y los programas de aplicación. Sistema operativo: el sistema operativo es un grupo de programas que coordina y controla las actividades de la computadora. En particular, permite que el software de aplicación y lenguaje interacciones con el hardware de la computadora. Algunas de las funciones de los sistemas operativos son: - Asignación de recursos del sistema: Determina los recursos que se deben de disponer para algún trabajo. - Despachador de trabajos y recursos: el sistema operativo sólo debe decidir que recursos se deben de usar, sino también, cuándo se usarán. Es decir, determina el orden de prioridad de las tareas a realizarse en la computadora para optimizar precisamente sus recursos. - Actividades de inspección: Mantiene un conocimiento de todas las actividades que se realizan. Los sistemas operativos inicialmente (sobre todo en microcomputadoras) no sirvieron más que para el manejo de programas en disco, por lo que tradicionalmente se les ha llamado "sistemas operativos en disco" o DOS (Disk Operating Systems). Debido a que la mayoría de sistemas operativos se diseñan para microprocesadores específicos, los programas de aplicación que trabajan con él, regularmente no trabajan con otro. En consecuencia, el software de aplicación de una computadora no se puede ejecutar en una de diferente tipo, de modo que la elección de un sistema operativo es muy importante. La mayoría de las computadoras personales tienen sus propios sistemas operativos. Así, casi todas las Apple II tienen el APPLE-DOS, y las computadoras TRS-80 tienen el TRS-80, pero el sistema operativo de mayor importancia en la actualidad dada su comercialización es MS-DOS. Gracias a que este sistema se utiliza en las computadoras IBM-PC, algunas compañías han adaptado el MS-DOS como un sistema operativo. Lenguajes de programación: los lenguajes de programación le permiten al usuario escribir un conjunto de instrucciones para resolver un problema en particular. El lenguaje de programación más común en las microcomputadoras es el BASIC, aunque en la actualidad existe una gran variedad para una multitud de aplicaciones. Por ejemplo: en ingeniería se incluyen el FORTRAN y PASCAL; para el manejo administrativo, el COBOL, para enseñar a programar a niños u principiantes, el LOGO, etc. Pero, la gran mayoría de personas que utilizan una computadora no necesariamente deben saber programar. Cabe mencionar que un lenguaje de programación de alto nivel, como los mencionados anteriormente, no pueden usarse en una computadora sin un procesador de lenguaje. Los procesadores de lenguaje son programas que traducen las instrucciones de programación específico en un código binario. La traducción la hace ya sea un compilado o un intérprete. Un compilador es una pieza de software que traduce un programa completo, revisando al mismo tiempo la posible aparición de errores que pudo haber cometido el programador. Un interprete, en lugar de traducir de corrido todo el programa, traduce una instrucción cada vez durante la ejecución del programa. La diferencia principal entre uno y otro, es la velocidad. Un compilador traduce el programa una sola vez, y a partir de ahí lo ejecuta, mientras que un interprete debe traducir una instrucción de programa cada vez que esa instrucción ha de ejecutarse. Los compiladores ejecutan de tres a cinco veces más rápidamente los programas que un intérprete. Programas de aplicación: los programas de aplicación son conjuntos precodificados de instrucciones generalizadas para la computadora; cada programa está escrito para lograr cierto objetivo. Un paquete de registros de contabilidad, un programa de listados de correos y un PcMan son ejemplos de programas de aplicación. Para usar un paquete no se necesita saber nada de programación, porque quien lo escribió ya ha tenido el cuidado de observar las necesidades de programación requeridas para resolver el tipo de problema en cuestión. Estos programas se pueden dividir en seis aplicaciones principales de interés para la mayoría de los usuarios: hojas electrónicas, procesadores de palabras, procesadores de publicaciones, comunicaciones, administración de bases de datos y gráficas.