Saturday, September 11, 2010

HISTORIA DE LA COMPUTADORA

Desde la época primitiva los  hombres han tratado de usar fuerzas y artefactos de diferente tipo para realizar sus trabajos, para hacerlos más simples y rápidos. La historia conocida de los artefactos que calculan o computan, se remonta a muchos años antes de Jesucristo.


Dos principios han coexistido respecto a este tema. Uno es usar cosas para contar, ya sea los dedos, piedras, conchas, semillas. El otro es colocar esos objetos en posiciones determinadas. Estos principios se reunieron en el ábaco, instrumento que sirve hasta el día de hoy, para realizar complejos cálculos aritméticos con enorme rapidez y precisión.

La primera máquina de calcular mecánica, un precursor del ordenador digital, fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de tal manera que podían sumarse números haciéndolas avanzar el número de dientes correcto. En 1670 el filósofo y matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar.

La máquina analítica

También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage y a su socia, la matemática británica Augusta Ada Byron (1815-1852), hija del poeta inglés Lord Byron, como a los verdaderos inventores de la computadora digital moderna. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las caracteristicas de un ordenador moderno. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer permanente el registro.


La primera computadora electrónica fue terminada de construir en 1946, por J.P.Eckert y J.W.Mauchly en la Universidad de Pensilvania, U.S.A. y se le llamó ENIAC. Con ella se inicia una nueva era, en la cual la computadora pasa a ser el centro del desarrollo tecnológico, y de una profunda modificación en el comportamiento de las sociedades.


El ENIAC contenía 18.000 válvulas de vacío y tenía una velocidad de varios cientos de multiplicaciones por minuto, pero su programa estaba conectado al procesador y debía ser modificado manualmente. Se construyó un sucesor del ENIAC con un almacenamiento de programa que estaba basado en los conceptos del matemático húngaro-estadounidense John Von Neumann. Las instrucciones se almacenaban dentro de una llamada memoria, lo que liberaba al ordenador de las limitaciones de velocidad del lector de cinta de papel durante la ejecución y permitía resolver problemas sin necesidad de volver a conectarse al ordenador.


GENERACIONES

El avance de la tecnología empleada en la construcción de los Computadores y los métodos de explotación de los mismos ha variado notablemente. Esto ha dado lugar a que podamos distinguir hasta ahora cinco generaciones distintas. El paso de una generación a otra siempre ha venido marcado por las siguientes características:

PRIMERA GENERACION

Comprende desde 1951 hasta 1959. La compañía Sperry Rand Corporation construye la UNIVAC I, el primer Computador comercialmente disponible. Los componentes electrónicos usados fueron válvulas electrónicas, por este motivo su tamaño era muy grande y su mantenimiento complicado. Se calentaban rápidamente y esto obligaba a utilizar costosos sistemas de refrigeración.


SEGUNDA GENERACION

Comprende desde 1959 a 1964. Fueron diseñadas con orientación científico - administrativa. Las compañías NCR y RCA introducen las primeras computadoras construidas completamente a base de componentes denominados transistores que adoptan la forma de paralelepípedos de silicio, la velocidad de cálculo aumentó considerablemente. Los Computadores más populares de esta generación fueron el IBM-1401, IBM-1620, IBM-7090, IBM-7094.

TERCERA GENERACION

Comprende desde 1965. La compañía IBM produce las series 360 y 370, construidas con circuitos integrados de pequeña escala y de gran escala respectivamente, los cuales sustituyen, cada uno de ellos, a varios transistores, ocupando menor espacio y a menor costo. Estas series poseen memoria virtual que permite optimizar la memoria principal.

CUARTA GENERACION

Comprende desde 1970. Basados en circuitos integrados de alta y media escala de integración con la que se van consiguiendo mejoras en el tamaño físico, llegando a tener Computadores de bolsillo, aparecen los minicomputadores y los microcomputadores.

QUINTA GENERACION

Para algunos especialistas ya se inicio la quinta generación, en la cual se busca hacer más poderoso el Computador en el sentido que sea capaz de hacer inferencias sobre un problema específico. Se basa en la inteligencia artificial.

El Hardware de esta generación se debe caracterizar por circuitos de fibra óptica que le permita mayor rapidez e independencia de procesos, arquitectura de microcanal para mayor fluidez a los sistemas, esto provee mayor número de vías para ayudar a manejar rápido y efectivamente el flujo de información. Además se están buscando soluciones para resolver los problemas de la independencia de las soluciones y los procesos basándose para ello en Sistemas Expertos (de inteligencia artificial) capaces de resolver múltiples problemas no estructurados. 







 



Friday, September 10, 2010

HARDWARE

El término es propio del idioma inglés (literalmente traducido: partes duras), su traducción al español no tiene un significado acorde, por tal motivo se la ha adoptado tal cual es y suena; la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora». El término, aunque es lo más común, no necesariamente se aplica a una computadora tal como se la conoce, así por ejemplo, un robot también posee hardware (y software).


Hardware típico de una computadora personal.
1. Monitor
2. Placa base
3. CPU
4. Memoria RAM
5. Tarjeta de expansión
6. Fuente de alimentación
7. Disco óptico
8. Disco duro
9. Teclado
10. Mouse

Memoria RAM

Del inglés Random Access Memory, literalmente significa "memoria de acceso aleatorio". El término tiene relación con la característica de presentar iguales tiempos de acceso a cualquiera de sus posiciones (ya sea para lectura o para escritura). Esta particularidad también se conoce como "acceso directo".

La RAM es la memoria utilizada en una computadora para el almacenamiento transitorio y de trabajo (no masivo). En la RAM se almacena temporalmente la información, datos y programas que la Unidad de Procesamiento (CPU) lee, procesa y ejecuta. La memoria RAM es conocida como Memoria principal de la computadora, también como "Central o de Trabajo"; a diferencia de las llamadas memorias auxiliares y de almacenamiento masivo (como discos duros, cintas magnéticas u otras memorias).

Las memorias RAM son, comúnmente, volátiles; lo cual significa que pierden rápidamente su contenido al interrumpir su alimentación eléctrica.

Memoria RAM dinámica

Es la presentación más común en computadores modernos (computador personal, servidor); son tarjetas de circuito impreso que tienen soldados circuitos integrados de memoria por una o ambas caras, además de otros elementos, tales como resistencias y capacitores. Esta tarjeta posee una serie de contactos metálicos (con un recubrimiento de oro) que permite hacer la conexión eléctrica con el bus de memoria del controlador de memoria en la placa base.

Los integrados son de tipo DRAM, memoria denominada "dinámica", en la cual las celdas de memoria son muy sencillas (un transistor y un condensador), permitiendo la fabricación de memorias con gran capacidad (algunos cientos de Megabytes) a un costo relativamente bajo. 

Las posiciones de memoria o celdas, están organizadas en matrices y almacenan cada una un bit. Para acceder a ellas se han ideado varios métodos y protocolos cada uno mejorado con el objetivo de acceder a las celdas requeridas de la manera más veloz posible.
Entre las tecnologías recientes para integrados de memoria DRAM usados en los módulos RAM se encuentran:
  • SDR SDRAM Memoria con un ciclo sencillo de acceso por ciclo de reloj. Actualmente en desuso, fue popular en los equipos basados en el Pentium III y los primeros Pentium 4.
  • DDR SDRAM Memoria con un ciclo doble y acceso anticipado a dos posiciones de memoria consecutivas. Fue popular en equipos basados en los procesadores Pentium 4 y Athlon 64.
  • DDR2 SDRAM Memoria con un ciclo doble y acceso anticipado a cuatro posiciones de memoria consecutivas. Es la memoria más usada actualmente.
  • DDR3 SDRAM Memoria con un ciclo doble y acceso anticipado a ocho posiciones de memoria consecutivas. Es un tipo de memoria en auge, pero por su costo sólo es utilizada en equipos de gama alta.
Los estándares JEDEC, establecen las características eléctricas y las físicas de los módulos, incluyendo las dimensiones del circuito impreso.
Los estándares usados actualmente son:
  • DIMM Con presentaciones de 168 pines (usadas con SDR y otras tecnologías antiguas), 184 pines (usadas con DDR y el obsoleto SIMM) y 240 (para las tecnologías de memoria DDR2 y DDR3).
  • SO-DIMM Para computadores portátiles, es una miniaturización de la versión DIMM en cada tecnología. Existen de 144 pines (usadas con SDR), 200 pines (usadas con DDR y DDR2) y 240 pines (para DDR3).




SOFTWARE


Se conoce como software al equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos del sistema, llamados hardware.

Tales componentes lógicos incluyen, entre muchos otros, aplicaciones informáticas como el procesador de textos, que permite al usuario realizar todas las tareas concernientes a la edición de textos o el software de sistema tal como el sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de las aplicaciones, proporcionando también una interfaz para el usuario.



Probablemente la definición más formal de software sea la siguiente:

Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación.

Considerando esta definición, el concepto de software va más allá de los programas de cómputo en sus distintos estados: código fuente, binario o ejecutable; también su documentación, datos a procesar e información de usuario forman parte del software: es decir, abarca todo lo intangible, todo lo "no físico" relacionado.

El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1957. En las ciencias de la computación y la ingeniería de software, el software es toda la información procesada por los sistemas informáticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones desde la memoria Charles Babbage como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por primera vez por Alan Turing en su ensayo de 1936, "Los números computables", con una aplicación al problema de decisión.

Clasificación del software

Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:
Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
Sistemas operativos
Controladores de dispositivos
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros:
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). de un dispositivo para controlar los cálculos fue introducido por

Proceso de creación del software

Se define como Proceso al conjunto ordenado de pasos a seguir para llegar a la solución de un problema u obtención de un producto, en este caso particular, para lograr la obtención de un producto software que resuelva un problema.

El proceso de creación de software puede llegar a ser muy complejo, dependiendo de su porte, características y criticidad del mismo. Por ejemplo la creación de un sistema operativo es una tarea que requiere proyecto, gestión, numerosos recursos y todo un equipo disciplinado de trabajo. En el otro extremo, si se trata de un sencillo programa (por ejemplo, la resolución de una ecuación de segundo orden), éste puede ser realizado por un solo programador (incluso aficionado) fácilmente. Es así que normalmente se dividen en tres categorías según su tamaño (líneas de código) o costo: de Pequeño, Mediano y Gran porte. Existen varias metodologías para estimarlo, una de las más populares es el sistema COCOMO que provee métodos y un software (programa) que calcula y provee una estimación de todos los costos de producción en un "proyecto software" (relación horas/hombre, costo monetario, cantidad de líneas fuente de acuerdo a lenguaje usado, etc.).