Introducción
Algunas veces se ha preguntado, ¿cuál fue
uno de los primeros procesadores de
Intel, siempre han sido ha si de poderosos? O puede ser que
alguna vez le halla surgido la duda de donde vienen las computadoras.
En éste trabajo se da un breve relato de
la historia de las
computadoras así también como las historias de
los lenguajes de
programación y de los microprocesadores.
A mi criterio a éste trabajo le puede
llamar como una referencia rápida de los temas más
comunes en el mundo de la informática y de las computadoras.
Esta es una buena oportunidad para que usted de un vistazo
rápido de lo que tratan las ciencias de la
computación y sistemas. Insisto
en que usted lea esta breve referencia de el mundo de las
computadoras,
y usted vera que la próxima vez que le hablen del tema
usted se sentirá familiarizado con el
mismo.
Historia de la
Computación
Del Abaco a la tarjeta
perforada
EL ABACO; quizá fue el
primer dispositivo mecánico de contabilidad
que existió. Se ha calculado que tuvo su origen hace al
menos 5000 años y su efectividad ha soportado la prueba
del tiempo.
LA PASCALINA; El inventor y pintor
Leonardo Da
Vinci (1452-1519) trazó las ideas para una sumadora
mecánica. Siglo y medio después, el
filósofo y matemático francés Blaise
Pascal
(1623-1662) por fin inventó y construyó la primera
sumadora mecánica. Se le llamo Pascalina y
funcionaba como maquinaria a base de engranes y ruedas. A pesar
de que Pascal fue
enaltecido por toda Europa debido a
sus logros, la Pascalina, resultó un desconsolador fallo
financiero, pues para esos momentos, resultaba más costosa
que la labor humana para los cálculos
aritméticos.
LA LOCURA DE BABBAGE, Charles
Babbage (1793-1871), visionario inglés
y catedrático de Cambridge, hubiera podido acelerar el
desarrollo de
las computadoras
si él y su mente inventiva hubieran nacido 100 años
después. Adelantó la situación del hardware computacional al
inventar la "máquina de diferencias", capaz de calcular
tablas matemáticas. En 1834, cuando trabajaba en
los avances de la máquina de diferencias Babbage
concibió la idea de una "máquina analítica".
En esencia, ésta era una computadora de
propósitos generales. Conforme con su diseño,
la máquina analítica de Babbage podía suma
r, substraer, multiplicar y dividir en secuencia
automática a una velocidad de
60 sumas por minuto. El diseño
requería miles de engranes y mecanismos que
cubrirían el área de un campo de fútbol y
necesitaría accionarse por una locomotora. Los
escépticos le pusieron el sobrenombre de "la locura de
Babbage". Charles Babbage trabajó en su máquina
analítica hasta su muerte. Los
trazos detallados de Babbage describían las características incorporadas ahora en la
moderna computadora
electrónica. Si Babbage hubiera vivido en
la era de la tecnología electrónica y las partes de
precisión, hubiera adelantado el nacimiento de la computadora
electrónica por varías
décadas. Irónicamente, su obra se olvidó a
tal grado, que algunos pioneros en el desarrollo de
la computadora
electrónica ignoraron por completo sus
conceptos sobre memoria, impresoras,
tarjetas
perforadas y control de
programa
secuencial.
LA PRIMERA TARJETA PERFORADA; El
telar de tejido, inventado en 1801 por el Francés
Joseph-Marie Jackard (1753-1834), usado todavía en la
actualidad, se controla por medio de tarjetas
perforadas. El telar de Jackard opera de la manera siguiente: las
tarjetas se
perforan estratégicamente y se acomodan en cierta
secuencia para indicar un diseño
de tejido en particular. Charles Babbage quiso aplicar el
concepto de
las tarjetas
perforadas del telar de Jackard en su motor
analítico. En 1843 Lady Ada Augusta Lovelace
sugirió la idea de que las tarjetas
perforadas pudieran adaptarse de manera que propiciaran que el
motor de Babbage
repitiera ciertas operaciones.
Debido a esta sugerencia algunas personas consideran a Lady
Lovelace la primera programadora.
Herman Hollerit (1860-1929) La oficina de censos
estadounidense no terminó el censo de 1880 sino hasta
1888. La dirección de la oficina ya
había llegado a la conclusión de que el censo de
cada diez años tardaría mas que los mismo 10
años para terminarlo. La oficina de censos
comisionó al estadístico Herman Hollerit para que
aplicara su experiencia en tarjetas perforadas y llevara a cabo
el censo de 1890. Con el procesamiento de las tarjetas perforadas
y el tabulador de tarjetas perforadas de Hollerit, el censo se
terminó en sólo 3 años y la oficina se
ahorró alrededor de $5,000,000 de dólares.
Así empezó el procesamiento automatizado de
datos.
Hollerit no tomó la idea de las tarjetas perforadas del
invento de Jackard, sino de la "fotografía
de perforación" Algunas líneas ferroviarias de la
época expedían boletos con descripciones
físicas del pasajero; los conductores hacían
orificios en los boletos que describían el color de cabello,
de ojos y la forma de nariz del pasajero. Eso le dio a Hollerit
la idea para hacer la fotografía
perforada de cada persona que se
iba a tabular. Hollertih fundó la Tabulating Machine
Company y vendió sus productos en
todo el mundo. La demanda de sus
máquinas se extendió incluso hasta Rusia. El primer
censo llevado a cabo en Rusia en 1897, se registró con el
Tabulador de Hollerith. En 1911, la Tabulating Machine Company,
al unirse con otras Compañías, formó la
Computing-Tabulating-Recording-Company.
LAS MAQUINAS
ELECTROMECANICAS DE CONTABILIDAD (MEC) Los resultados de las
máquinas tabuladoras tenían que llevarse al
corriente por medios
manuales,
hasta que en 1919 la Computing-Tabulating-Recording-Company.
Anunció la aparición de la impresora/listadora. Esta innovación revolucionó la manera en
que las Compañías efectuaban sus operaciones. Para
reflejar mejor el alcance de sus intereses comerciales, en 1924
la Compañía cambió el nombre por el de
international Bussines Machines Corporation (IBM) Durante
décadas, desde mediados de los cincuentas la tecnología de las
tarjetas perforadas se perfeccionó con la
implantación de más dispositivos con capacidades
más complejas. Dado que cada tarjeta contenía en
general un registro (Un
nombre, dirección, etc.) el procesamiento de la
tarjeta perforada se conoció también como
procesamiento de registro
unitario.
La familia de las
máquinas electromecánicas de contabilidad
(EAM) eloctromechanical accounting machine de dispositivos de
tarjeta perforada comprende: la perforadora de tarjetas, el
verificador, el reproductor, la perforación sumaria, el
intérprete, el clasificador, el cotejador, el calculador y
la máquina de contabilidad.
El operador de un cuarto de máquinas en una
instalación de tarjetas perforadas tenía un trabajo
que demandaba mucho esfuerzo físico. Algunos cuartos de
máquinas asemejaban la actividad de una fábrica;
las tarjetas perforadas y las salidas impresas se cambiaban de un
dispositivo a otro en carros manuales, el
ruido que
producía eran tan intenso como el de una planta
ensambladora de automóviles.
Pioneros de la
computación
ATANASOFF Y BERRY Una antigua patente de
un dispositivo que mucha gente creyó que era la primera
computadora
digital electrónica, se invalidó en 1973 por
orden de un tribunal federal, y oficialmente se le dio el
crédito
a John V. Atanasoff como el inventor de la computadora
digital electrónica. El Dr. Atanasoff, catedrático
de la Universidad
Estatal de Iowa, desarrolló la primera computadora
digital electrónica entre los años de 1937 a 1942.
Llamó a su invento la computadora
Atanasoff-Berry, ó solo ABC (Atanasoff Berry Computer). Un
estudiante graduado, Clifford Berry, fue una útil ayuda en
la construcción de la computadora
ABC.
Algunos autores consideran que no hay una
sola persona a la que
se le pueda atribuir el haber inventado la computadora,
sino que fue el esfuerzo de muchas personas. Sin embargo en el
antiguo edificio de Física de la Universidad de
Iowa aparece una placa con la siguiente leyenda: "La primera
computadora digital electrónica de operación
automática del mundo, fue construida en este edificio en
1939 por John Vincent Atanasoff, matemático y
físico de la Facultad de la Universidad,
quien concibió la idea, y por Clifford Edward Berry,
estudiante graduado de física."
Mauchly y Eckert, después de
varias conversaciones con el Dr. Atanasoff, leer apuntes que
describían los principios de la
computadora ABC y verla en persona, el Dr.
John W. Mauchly colaboró con J.Presper Eckert, Jr. para
desarrollar una máquina que calculara tablas de
trayectoria para el ejército estadounidense. El producto
final, una computadora electrónica completamente
operacional a gran escala, se
terminó en 1946 y se llamó ENIAC (Electronic
Numerical Integrator And Computer), ó Integrador
numérico y calculador electrónico. La ENIAC
construida para aplicaciones de la Segunda Guerra
mundial, se terminó en 30 meses por un equipo de
científicos que trabajan bajo reloj.
La ENIAC, mil veces más veloz que
sus predecesoras electromecánicas, irrumpió como un
importante descubrimiento en la tecnología de la
computación. Pesaba 30 toneladas y ocupaba
un espacio de 450 mts cuadrados, llenaba un cuarto de 6 m x 12 m
y contenía 18,000 bulbos, tenía que programarse
manualmente conectándola a 3 tableros que contenían
más de 6000 interruptores. Ingresar un nuevo programa era un
proceso muy
tedioso que requería días o incluso semanas. A
diferencia de las computadoras
actuales que operan con un sistema
binario (0,1) la ENIAC operaba con uno decimal
(0,1,2..9).
La ENIAC requería una gran
cantidad de electricidad. La
leyenda cuenta que la ENIAC, construida en la Universidad de
Pensilvania, bajaba las luces de Filadelfia siempre que se
activaba. La imponente escala y las
numerosas aplicaciones generales de la ENIAC señalaron el
comienzo de la primera generación de
computadoras.
En 1945, John von Neumann, que
había trabajado con Eckert y Mauchly en la Universidad de
Pensilvania, publicó un artículo acerca del
almacenamiento
de programas. El
concepto de
programa
almacenado permitió la lectura de
un programa
dentro de la memoria de
la computadora, y después la ejecución de las
instrucciones del mismo sin tener que volverlas a escribir. La
primera computadora en usar el citado concepto fue la
la llamada EDVAC (Eletronic Discrete-Variable Automatic Computer,
es decir computadora automática electrónica de
variable discreta), desarrollada por Von Neumann, Eckert y
Mauchly.
Los programas
almacenados dieron a las computadoras una flexibilidad y
confiabilidad tremendas, haciéndolas más
rápidas y menos sujetas a errores que los programas
mecánicos. Una computadora con capacidad de programa
almacenado podría ser utilizada para varias aplicaciones
cargando y ejecutando el programa apropiado.
Hasta este punto, los programas y
datos
podría ser ingresados en la computadora sólo con la
notación binaria, que es el único código que
las computadoras "entienden". El siguiente desarrollo
importante en el diseño
de las computadoras fueron los programas
intérpretes, que permitían a las personas
comunicarse con las computadoras utilizando medios
distintos a los números binarios.
En 1952 Grace Murray Hoper una oficial de
la Marina de E.U., desarrolló el primer compilador, un
programa que puede traducir enunciados parecidos al inglés
en un código binario comprensible para la maquina llamado
COBOL (Common
Business-Oriented Languaje).
Generaciones de
computadoras
Primera Generación de
Computadoras
(de 1951 a 1958)
Las computadoras de la primera
Generación emplearon bulbos para procesar información. Los operadores ingresaban los
datos y
programas en código especial por medio de tarjetas
perforadas. El almacenamiento
interno se lograba con un tambor que giraba rápidamente,
sobre el cual un dispositivo de lectura/escritura
colocaba marcas
magnéticas. Esas computadoras de bulbos eran mucho
más grandes y generaban más calor que los
modelos
contemporáneos. Eckert y Mauchly contribuyeron al desarrollo de
computadoras de la 1era Generación formando una Cia.
privada y construyendo UNIVAC I, que el Comité del
censó utilizó para evaluar el de 1950. La IBM
tenía el monopolio de
los equipos de procesamiento de
datos basándose en tarjetas perforadas y estaba
teniendo un gran auge en productos como
rebanadores de carne, básculas para comestibles, relojes y
otros artículos; sin embargo no había logrado el
contrato para
el Censo de 1950.
Comenzó entonces a construir
computadoras electrónicas y su primera entrada fue con la
IBM 701 en 1953. Después de un lento pero excitante
comienzo la IBM 701 se convirtió en un producto
comercialmente viable. Sin embargo en 1954 fue introducido el
modelo IBM
650, el cual es la razón por la que IBM disfruta hoy de
una gran parte del mercado de las
computadoras. La administración de la IBM asumió un
gran riesgo y
estimó una venta de 50
computadoras. Este número era mayor que la cantidad de
computadoras instaladas en esa época en E.U. De hecho la
IBM instaló 1000 computadoras. El resto es historia. Aunque caras y de
uso limitado las computadoras fueron aceptadas rápidamente
por las Compañías privadas y de Gobierno. A la
mitad de los años 50 IBM y Remington Rand se consolidaban
como líderes en la fabricación de
computadoras.
– Segunda
Generación
(1959-1964)
Transistor
Compatibilidad limitada
El invento del transistor hizo
posible una nueva generación de computadoras, más
rápidas, más pequeñas y con menores
necesidades de ventilación. Sin embargo el costo seguia
siendo una porción significativa del presupuesto de
una Compañía. Las computadoras de la segunda
generación también utilizaban redes de núcleos
magnéticos en lugar de tambores giratorios para el
almacenamiento
primario. Estos núcleos contenían pequeños
anillos de material magnético, enlazados entre sí,
en los cuales podían almacenarse datos e
instrucciones.
Los programas de computadoras
también mejoraron. El COBOL
desarrollado durante la 1era generación estaba ya
disponible comercialmente. Los programas escritos para una
computadora podían transferirse a otra con un
mínimo esfuerzo. El escribir un programa ya no
requería entender plenamente el hardware de la computación. Las computadoras de la 2da
Generación eran sustancialmente más pequeñas
y rápidas que las de bulbos, y se usaban para nuevas
aplicaciones, como en los sistemas para
reservación en líneas aéreas, control de
tráfico aéreo y simulaciones para uso general. Las
empresas
comenzaron a aplicar las computadoras a tareas de almacenamiento de
registros,
como manejo de inventarios,
nómina
y contabilidad.
La marina de E.U. utilizó las
computadoras de la Segunda Generación para crear el primer
simulador de vuelo. (Whirlwind I). HoneyWell se colocó
como el primer competidor durante la segunda generación de
computadoras. Burroughs, Univac, NCR, CDC, HoneyWell, los
más grandes competidores de IBM durante los 60s se
conocieron como el grupo BUNCH
(siglas).
Tercera
Generación
(1964-1971)
circuitos integrados
Compatibilidad con equipo
mayor
Multiprogramación
Minicomputadora
Las computadoras de la tercera
generación emergieron con el desarrollo de
los circuitos
integrados (pastillas de silicio) en las cuales se colocan
miles de componentes electrónicos, en una integración en miniatura. Las computadoras
nuevamente se hicieron más pequeñas, más
rápidas, desprendían menos calor y eran
energéticamente más eficientes.
Antes del advenimiento de los circuitos
integrados, las computadoras estaban diseñadas para
aplicaciones matemáticas o de negocios, pero
no para las dos cosas. Los circuitos
integrados permitieron a los fabricantes de computadoras
incrementar la flexibilidad de los programas, y estandarizar sus
modelos. La
IBM 360 una de las primeras computadoras comerciales que
usó circuitos
integrados, podía realizar tanto análisis numéricos como administración ó procesamiento de
archivos.
Los clientes
podían escalar sus sistemas 360 a
modelos IBM de
mayor tamaño y podían todavía correr sus
programas actuales. Las computadoras trabajaban a tal velocidad que
proporcionaban la capacidad de correr más de un programa
de manera simultánea
(multiprogramación).
Por ejemplo la computadora podia estar
calculando la nomina y aceptando pedidos al mismo tiempo.
Minicomputadoras, Con la
introducción del modelo 360 IBM
acaparó el 70% del mercado, para
evitar competir directamente con IBM la empresa
Digital Equipment Corporation DEC redirigió sus esfuerzos
hacia computadoras pequeñas. Mucho menos costosas de
comprar y de operar que las computadoras grandes, las
minicomputadoras se desarrollaron durante la segunda
generación pero alcanzaron su mayor auge entre 1960 y
70.
– La cuarta
Generación
(1971 a la fecha)
– Microprocesador
– Chips de memoria.
–
Microminiaturización
Dos mejoras en la tecnología de las
computadoras marcan el inicio de la cuarta generación: el
reemplazo de las memorias con
núcleos magnéticos, por las de chips de silicio y
la colocación de muchos más componentes en un Chip:
producto de la
microminiaturización de los circuitos
electrónicos. El tamaño reducido del microprocesador
de chips hizo posible la creación de las computadoras
personales. (PC)
Hoy en día las tecnologías
LSI (Integración a gran escala) y VLSI
(integración a muy gran escala) permiten
que cientos de miles de componentes electrónicos se
almacenan en un chip. Usando VLSI, un fabricante puede hacer que
una computadora pequeña rivalice con una computadora de la
primera generación que ocupara un cuarto
completo.
Lenguajes de
Programación
a.) Historia de los
lenguajes; Los lenguajes de
programación cierran el abismo entre las computadoras,
que sólo trabajan con números binarios, y los
humanos, que preferimos utilizar palabras y otros sistemas de
numeración.
Mediante los programas se indica a la
computadora qué tarea debe realizar y como efectuarla,
pero para ello es preciso introducir estas ordenes en un lenguaje que
el sistema pueda
entender. En principio, el ordenador sólo entiende las
instrucciones en código máquina, es decir, el
especifico de la computadora. Sin embargo, a partir de
éstos se elaboran los llamados lenguajes de alto y bajo
nivel.
- Generaciones de los
lenguajes
LENGUAJES DE BAJO
NIVEL:
Utilizan códigos muy cercanos a
los de la máquina, lo que hace posible la
elaboración de programas muy potentes y rápidos,
pero son de difícil aprendizaje.
LENGUAJES DE ALTO
NIVEL:
Por el contrario, son de uso mucho
más fácil, ya que en ellos un solo comando o
instrucción puede equivaler a millares es código
máquina. El programador escribe su programa en alguno de
estos lenguajes mediante secuencias de instrucciones. Antes de
ejecutar el programa la computadora lo traduce a código
máquina de una sola vez (lenguajes compiladores) o
interpretándolo instrucción por instrucción
(lenguajes intérpretes). Ejemplos de lenguajes de alto
nivel: Pascal, Cobol, Basic,
Fortran, C++ Un Programa de computadora, es una colección
de instrucciones que, al ser ejecutadas por el CPU de una
máquina, llevan a cabo una tarea ó función
específica. Este conjunto de instrucciones que forman los
programas son almacenados en archivos denomina
dos archivos
ejecutables puesto que, al teclear su nombre (o hacer clic sobre
el icono que los identifica) logras que la computadora los cargue
y corra, o ejecute las instrucciones del archivo. El
contenido de un archivo
ejecutable no puede ser entendido por el usuario, ya que no
está hecho para que la gente lo lea, sino para que la
computadora sea quien lo lea.
Los archivos de
programas ejecutables contienen el código máquina,
que la CPU identifica
como sus instrucciones. Son lo que conocemos como Programas
Objeto. Dado que sería muy difícil que los
programadores crearan programas directamente en código de
máquina, usan lenguajes más fáciles de leer,
escribir y entender para la gente.
El programador teclea instrucciones en un
editor, que es un programa parecido a un simple procesador de
palabras, estas instrucciones son almacenadas en archivos
denominados programas fuentes
(código fuente). Si los programadores necesitan hacer
cambios al programa posteriormente vuelven a correr el editor y
cargan el programa fuente para modificarlo.
El proceso de
conversión de programas fuente a programas objeto se
realiza mediante un programa denominado compilador. El compilador
toma un programa fuente y lo traduce a programa objeto y almacena
este último en otro archivo.
PROGRAMA FUENTE:
Es el programa escrito en alguno de los
lenguajes y que no ha sido traducido al lenguaje de la
maquina, es decir el programa que no está en código
de máquina y que por lo tanto no puede ser
ejecutable.
PROGRAMA OBJETO:
s aquel programa que se encuentra en lenguaje
máquina y que ya es ejecutable por esta.
C.) Programación
Orientada a Objetos: La programación
orientada a objetos no es un concepto nuevo,
sus inicios y técnicas de programación se iniciaron a principios de los
70. Se puede definir programación
orientada a objetos (OOPS) como una técnica de
programación que utiliza objetos como
bloque esencial de construcción. La OOPS, es un tipo de
programación más cercana al
razonamiento humano. La OOPS surge como una solución a la
programación de grandes programas, y para
solventar el mantenimiento
de dichas aplicaciones, ya que en la programación estructura el
más mínimo cambio supone
la modificación de muchas funciones
relacionadas, en cambio con la
OOPS solo es cuestión de añadir o modificar
métodos
de una clase o mejor, crear una nueva clase a partir de otra
(Herencia). Dos
lenguajes destacan sobre el resto para programar de esta forma,
Smalltalk y C++.
Concepto de Objeto: Desde un punto
de vista general un Objeto es una estructura de
datos de mayor o menor complejidad con las funciones que
procesan estos datos. Dicho de
otra forma, sería Datos más un Código que
procesa estos datos. A los datos se les denomina miembros dato y
a las funciones miembro
o miembro funciones. Los
datos están ocultos y sólo se puede acceder a ellos
mediante las funciones
miembro.
Clases: Las Clases son como
plantillas o modelos que
describen como se construyen ciertos tipos de Objeto. Cada vez
que se construye un Objeto de una Clase, se crea una instancia de
esa Clase("instance"). Una Clase es una colección de
Objetos similares y un Objeto es una instancia de una Clase. Se
puede definir una Clase como un modelo que se
utiliza para describir uno o más Objetos del mismo
tipo.
Herencia: Una característica muy importante de los
Objetos y las Clases es la Herencia, una
propiedad que
permite construir nuevos Objetos (Clases) a partir de unos ya
existentes. Esto permite crear "Sub-Clases" denominadas Clases
Derivadas que
comparten las propiedades de la Clase de la cual derivan (Clase
base). Las Clases derivadas heredan
código y datos de la clase base, asimismo incorporan su
propio código y datos especiales. Se puede decir que la
herencia
permite definir nuevas Clases a partir de las Clases ya
existentes.
Polimorfismo: En un sentido
literal, Polimorfismo significa la cualidad de tener más
de una forma. En el contexto de POO, el Polimorfismo se refiere
al hecho de que una simple operación puede tener diferente
comportamiento
en diferentes objetos. En otras palabras, diferentes objetos
reaccionan al mismo mensaje de modo diferente. Los primeros
lenguajes de POO fueron interpretados, de forma que el
Polimorfismo se contemplaba en tiempo de
ejecución. Por ejemplo, en C++, al ser un lenguaje
compilado, el Polimorfismo se admite tanto en tiempo de
ejecución como en tiempo de
compilación
Decimos entonces que:
El tema de la Programación
Orientada a Objetos (Object Oriented Programming O-O-P) sigue
siendo para el que escribe un territorio inquietante, interesante
y en gran medida desconocido, como parece ser también para
la gran mayoría de los que estamos en el campo de la
programación. Sin tratar de excluir a aquellos que han
afrontado este desarrollo desde el punto de vista
académico y formal (maestrías y doctorados) el tema
se antoja difícil para los no iniciados. Con este breve
artículo me dirigiré en particular a la gran base
de programadores prácticos que andamos en búsqueda
de mejores herramientas
de desarrollo de programas, que faciliten el trabajo de
nuestros usuarios y a la vez disminuyan la gran cantidad de
considerandos que aparecen al empeñarnos en un proyecto de
cómputo.
Como muchos de ustedes, me topé
con el concepto de O-O-P
como parte de esa búsqueda y al explorarlo apareció
el gusanillo de la curiosidad. A lo largo de mi actividad como
programador, y cuando se dio la necesidad, no tuve ningún
problema en convertir mis habilidades de programación en
FORTRAN de IBM 1130 al BASIC de la PDP, pues sólo era
cuestión de aprender la sintaxis del lenguaje, ya
que las estrategias de
programación y los algoritmos
eran iguales. Posteriormente, al manejar el PASCAL se
requirió un importante esfuerzo en entender la
filosofía de las estructuras,
lo cual modificaba la manera de ver (conceptualizar) a los datos
y a las partes constitutivas de un programa.
Posteriormente aparece el QuickBasic, que
adopté inmediatamente por la familiaridad con el BASIC
(ley del menor
esfuerzo). Ofrecía estructuras de
datos (tipos y registros
complejos), además de estructuras de
instrucciones en procedimientos y
módulos; editor "inteligente" que revisa la sintaxis y
ejecución de las instrucciones mientras se edita el
programa, generación de ejecutable una vez terminado
(.EXE), existencia de bibliotecas
externas y enlace con módulos objeto generados en otro
lenguaje. ¿Qué más podía yo
pedir?
Pero la necesidad de estar en la ola de
moda es
más fuerte que el sentido común. Las aplicaciones
en Windows
siempre han despertado la envidia de los programadores, al hacer
ver sus programas pálidos e insulsos por
comparación. Solución: programar en Windows.
Originalmente programar en Windows
representaba un largo y tedioso camino para dominar las complejas
herramientas
de desarrollo. Sólo recientemente han aparecido
desarrolladores de aplicaciones para Windows que le
permiten al programador pintar sus ventanas y realizar los
enlaces entre los objetos con programación tradicional,
evitando en gran medida involucrarse con los conceptos
complicados de los objetos. Sin embargo no dejaron de inquietarme
algunos conceptos marcados por O-O-P, según los cuales
serán los pilares del futuro de la programación de
componentes y de objetos distribuidos en redes, en donde la actual
programación cliente/servidor
pareciera por comparación el FORTRAN o el COBOL de
ahora.
Pidiendo perdón de antemano a los
puristas de las definiciones y conceptos de O-O-P,
expondré el resultado de mis propias indagaciones sobre
este campo, esperando que al paciente lector y posible
programador le resulte menos complicado que a mí asimilar
los elementos básicos de O-O-P.
Los principales conceptos que se manejan
en la Programación
Orientada a Objetos son: 1. encapsulado, 2. herencia y 3.
Polimorfismo.
Según esto, la
encapsulación es la creación de módulos
autosuficientes que contienen los datos y las funciones que
manipulan dichos datos. Se aplica la idea de la caja negra y un
letrero de "prohibido mirar adentro". Los objetos se comunican
entre sí intercambiando mensajes. De esta manera, para
armar aplicaciones se utilizan los objetos cuyo funcionamiento
está perfectamente definido a través de los
mensajes que es capaz de recibir o mandar. Todo lo que un objeto
puede hacer está representado por su interfase de
mensajes. Para crear objetos, el programador puede recurrir a
diversos lenguajes como el C++, el Smalltalk, el Visual Objects y
otros. Si se desea solamente utilizar los objetos y enlazarlos en
una aplicación por medio de la programación
tradicional se puede recurrir al Visual Basic, al
CA-Realizer, al Power Builder, etc.
El concepto de herencia me
pareció sencillo de entender una vez que capté otro
concepto de O-O-P: las clases. En O-O-P se acostumbra agrupar a
los objetos en clases. Esto es muy común en la vida
diaria. Todos nosotros tendemos a clasificar los objetos comunes
por clases. Manejamos la clase mueble, la clase mascota, la clase
alimento, etc. Obviamente en el campo de la programación
esta clasificación es más estricta.
¿Cuál es el sentido de las clases? Fundamentalmente
evitar definir los objetos desde cero y facilitar su rehuso. Si
trabajamos con clases, al querer definir un nuevo objeto,
partimos de alguna clase definida anteriormente, con lo que el
objeto en cuestión hereda las características de los objetos de su clase.
Imaginemos que creamos una clase "aves" y
describimos las características de las aves (plumas,
pico, nacen de huevo, etc.). Más adelante necesitamos una
clase "pingüino". Como pertenece a "aves" no
requerimos volver a declarar lo descrito sino marcamos que
"pingüino" es una subclase de "aves" con lo
que "pingüino" hereda todas sus características. A continuación
sólo declaramos los detalles que determinan lo que
distingue a "pingüino" de "aves".
Asimismo podemos declarar "emperador" como una subclase de
"pingüino", con lo que "emperador" heredará todas las
características de las superclases "pingüino" y
"aves" más las características que nosotros
declaremos en particular para "emperador". En un programa
(imaginario por supuesto) yo puedo utilizar estas clases (aves,
pingüino y emperador). El hecho de colocar a un individuo en
particular en estas clases es lo que se llama objeto y se dice
que es una instancia de una clase. Así, si yo coloco a
Fredy (un pingüino emperador) en mi programa, se dice que el
objeto Fredy es una instancia de la clase emperador. Fredy
aparecerá en mi programa con todas las
características (herencia) de aves, de pingüino y de
emperador.
Por otra parte, entender el concepto de
Polimorfismo implicó un buen número de horas de
indagación y búsqueda de ejemplos. Espero que
éste resulte claro: supóngase que declaramos un
objeto llamado Suma. Este objeto requiere dos parámetros
(o datos) como mensaje para operar. En la programación
tradicional tendríamos que definir el tipo de datos que le
enviamos, como por ejemplo dos números enteros, dos
números reales, etc. En O-O-P el tipo de dato se conoce
hasta que se ejecuta el programa.
E.) COMPILADOR: Es un programa que traduce
un lenguaje de alto nivel al lenguaje máquina. Un programa
compilado indica que ha sido traducido y está listo para
ser ejecutado. La ejecución de los programas compilados es
más rápida que la de los interpretados, ya que el
interprete debe traducir mientras está en la fase de
ejecución (saca todos los errores). Un compilador es un
programa que traduce el programa fuente (conjunto de
instrucciones de un lenguaje de alto nivel, por ejemplo BASIC o
Pascal) a
programa objeto (instrucciones en lenguaje máquina que la
computadora puede interpretar y ejecutar). Se requiere un
compilador para cada lenguaje de
programación. Un compilador efectúa la
traducción, no ejecuta el programa. Una vez compilado el
programa, el resultado en forma de programa objeto será
directamente ejecutable. Presentan la ventaja considerable frente
a los intérpretes de la velocidad de
ejecución, por lo que su uso será mejor en aquellos
programas probados en los que no se esperan cambios y que deban
ejecutarse muchas veces. En caso de que se opte por un
interpretador se debe considerar que el intérprete resida
siempre en memoria.
INTERPRETE: Traductor de lenguajes de
programación de alto nivel, los interpretes ejecutan
un programa línea por línea. El programa siempre
permanece en su forma original(programa fuente) y el interprete
proporciona la traducción al momento de ejecutar cada una
de la s instrucciones. Un intérprete es un programa que
procesa los programas escritos en un lenguaje de alto nivel, sin
embargo, está diseñado de modo que no existe
independencia
entre la etapa de traducción y la etapa de
ejecución. Un intérprete traduce cada
instrucción o sentencia del programa escrito a un lenguaje
máquina e inmediatamente se ejecuta. Encuentran su mayor
ventaja en la interacción con el usuario, al facilitar el
desarrollo y puesta a punto de programas, ya que los errores son
fáciles de detectar y sobre todo de corregir.
LENGUAJE MÁQUINA: Lenguaje original de la
computadora, un programa debe estar escrito en el lenguaje de
la máquina para poder ser
ejecutado. Este es generado por software y no por el
programador. El programador escribe en un lenguaje de
programación, el cual es traducido al lenguaje de
máquina mediante interpretes y compiladores.
E.) Case: (Computer-Aided
Software
Engineering o Computer- Aided Systems Engineering) Ingeniería de
Software Asistida por Computadora o Ingeniería de Sistemas Asistida
por computadora Software que se utiliza en
una cualquiera o en todas las fases del desarrollo de un sistema de
información, incluyendo análisis, diseño
y programación. Por ejemplo, los diccionarios
de datos y herramientas
de diagramación ayudan en las fases de análisis y diseño, mientras que los
generadores de aplicaciones aceleran la fase de
programación.
Las herramientas
CASE proporcionan métodos
automáticos para diseñar y documentar las
técnicas tradicionales de programación
estructurada. La meta
última de CASE es proveer un lenguaje para describir el
sistema completo,
que sea suficiente para generar todos los programas
necesarios.
Sistemas
Operativos
Un sistema Operativo
(SO) es en sí mismo un programa de computadora. Sin
embargo, es un programa muy especial, quizá el más
complejo e importante en una computadora. El SO despierta a la
computadora y hace que reconozca a la CPU, la memoria, el
tecla do, el sistema de
vídeo y las unidades de disco. Además, proporciona
la facilidad para que los usuarios se comuniquen con la
computadora y sirve de plataforma a partir de la cual se corran
programas de aplicación.
Cuando enciendes una computadora, lo
primero que ésta hace es llevar a cabo un
autodiagnóstico llamado autoprueba de encendido (Power On
Self Test, POST).
Durante la POST, la computadora identifica su memoria, sus
discos, su teclado, su
sistema de
vídeo y cualquier otro dispositivo conectado a ella. Lo
siguiente que la computadora hace es buscar un SO para arrancar
(boot).
Una vez que la computadora ha puesto en
marcha su SO, mantiene al menos parte de éste en su
memoria en
todo momento. Mientras la computadora esté encendida, el
SO tiene 4 tareas principales:
- Proporcionar ya sea una interfaz de
línea de comando o una interfaz gráfica al
usuario, para que este último se pueda comunicar con la
computadora. Interfaz de línea de comando: tú
introduces palabras y símbolos desde el teclado de
la computadora, ejemplo, el MS-DOS.
Interfaz gráfica del Usuario (GUI), seleccionas las
acciones
mediante el uso de un Mouse para
pulsar sobre figuras llamadas iconos o seleccionar opciones de
los menús. - Administrar los dispositivos de
hardware en la
computadora · Cuando corren los programas, necesitan
utilizar la memoria,
el monitor, las
unidades de disco, los puertos de Entrada/Salida (impresoras,
módems, etc). El SO sirve de intermediario entre los
programas y el hardware.
- Administrar y mantener los sistemas de
archivo de
disco · Los SO agrupan la información dentro de compartimientos
lógicos para almacenarlos en el disco. Estos grupos de
información son llamados archivos. Los
archivos pueden contener instrucciones de programas o información creada por el usuario. El SO
mantiene una lista de los archivos en un disco, y nos
proporciona las herramientas
necesarias para organizar y manipular estos
archivos.
- Apoyar a otros programas. Otra de las
funciones importantes del SO es proporcionar servicios a
otros programas. Estos servicios
son similares a aquellos que el SO proporciona directamente a
los usuarios. Por ejemplo, listar los archivos, grabarlos a
disco, eliminar archivos, revisar espacio disponible, etc.
Cuando los programadores escriben programas de computadora,
incluyen en sus programas instrucciones que solicitan los
servicios
del SO. Estas instrucciones son conocidas como "llamadas del
sistema"
El Kernel y el
Shell.
Las funciones centrales de un SO son
controladas por el núcleo (kernel) mientras que la
interfaz del usuario es controlada por el entorno (shell). Por
ejemplo, la parte más importante del DOS es un programa
con el nombre "COMMAND.COM" Este programa ti ene dos partes. El
kernel, que se mantiene en memoria en todo momento, contiene el
código máquina de bajo nivel para manejar la
administración de hardware para otros
programas que necesitan estos servicios, y
para la segunda parte del COMMAND.COM el shell, el cual es el
interprete de comandos.
Las funciones de bajo nivel del SO y las
funciones de interpretación de comandos
están separadas, de tal forma que puedes mantener el
kernel DOS corriendo, pero utilizar una interfaz de usuario
diferente. Esto es exactamente lo que sucede cuando carga s
Microsoft
Windows, el
cual toma el lugar del shell, reemplazando la interfaz de
línea de comandos con una
interfaz gráfica del usuario. Existen muchos shells
diferentes en el mercado, ejemplo:
NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a
partir de la versión 5.0 incluyó un Shell llamado
DOS SHELL.
A.) Categorías de Sistemas
Operativos
A.1) MULTITAREA: El
término multitarea se refiere a la capacidad del SO para
correr mas de un programa al mismo tiempo. Existen dos esquemas
que los programas de sistemas
operativos utilizan para desarrollar SO multitarea, el
primero requiere de la cooperación entre el SO y los
programas de aplicación.
Los programas son escritos de tal manera
que periódicamente inspeccionan con el SO para ver si
cualquier otro programa necesita a la CPU, si este
es el caso, entonces dejan el control del
CPU al
siguiente programa, a este método se
le llama multitarea cooperativa y
es el método
utilizado por el SO de las computadoras de Machintosh y DOS
corriendo Windows de Microsoft. El
segundo método es
el llamada multitarea con asignación de prioridades. Con
este esquema el SO mantiene una lista de procesos
(programas) que están corriendo. Cuando se inicia cada
proceso en la
lista el SO le asigna una prioridad. En cualquier momento el SO
puede intervenir y modificar la prioridad de un proceso
organizando en forma efectiva la lista de prioridad, el SO
también mantiene el control de la
cantidad de tiempo que utiliza con cualquier proceso antes
de ir al siguiente. Con multitarea de asignación de
prioridades el SO puede sustituir en cualquier momento el proceso
que esta corriendo y reasignar el tiempo a una tarea de mas
prioridad. Unix OS-2 y
Windows NT
emplean este tipo de multitarea.
A.2) MULTIUSUARIO: Un SO
multiusuario permite a mas de un solo usuario accesar una
computadora. Claro que, para llevarse esto a cabo, el SO
también debe ser capaz de efectuar multitareas. Unix es el
Sistema Operativo
Multiusuario más utilizado. Debido a que Unix fue
originalmente diseñado para correr en una minicomputadora,
era multiusuario y multitarea desde su
concepción.
Actualmente se producen versiones de
Unix para PC
tales como The Santa Cruz Corporation Microport, Esix, IBM,y
Sunsoft. Apple también produce una versión de
Unix para la
Machintosh llamada: A/UX.Unix
Unix proporciona tres maneras de permitir
a múltiples personas utilizar la misma PC al mismo
tiempo.
1.) Mediante
Módems.
- Mediante conexión de
terminales a través de puertos
seriales
3.) Mediante Redes.
A.3) MULTIPROCESO: Las
computadoras que tienen mas de un CPU son llamadas multiproceso.
Un sistema operativo
multiproceso coordina las operaciones de la
computadoras multiprocesadoras. Ya que cada CPU en una
computadora de multiproceso puede estar ejecutando una
instrucción, el otro procesador queda
liberado para procesar otras instrucciones
simultáneamente.
Al usar una computadora con capacidades
de multiproceso incrementamos su velocidad de
respuesta y procesos. Casi
todas las computadoras que tienen capacidad de multiproceso
ofrecen una gran ventaja.
Los primeros Sistemas
Operativos Multiproceso realizaban lo que se conoce
como:
- Multiproceso asimétrico: Una
CPU principal retiene el control
global de la computadora, así como el de los otros
procesadores.
Esto fue un primer paso hacia el multiproceso pero no fue la
dirección ideal a seguir ya que la CPU
principal podía convertirse en un cuello de
botella. - Multiproceso simétrico: En un
sistema multiproceso simétrico, no existe una CPU
controladora única. La barrera a vencer al implementar
el multiproceso simétrico es que los SO tienen que ser
rediseñados o diseñados desde el principio para
trabajar en u n ambiente
multiproceso. Las extensiones de Unix, que soportan
multiproceso asimétrico ya están disponibles y
las extensiones simétricas se están haciendo
disponibles. Windows NT
de Microsoft
soporta multiproceso simétrico.
B.) Lista de los Sistemas
Operativos más comunes.
B.1) MS-DOS: Es el más común y
popular de todos los Sistemas
Operativos para PC. La razón de su continua
popularidad se debe al aplastante volumen de
software
disponible y a la base instalada de computadoras con procesador
Intel.
Cuando Intel liberó el 80286, D OS
se hizo tan popular y firme en el mercado que DOS y
las aplicaciones DOS representaron la mayoría del mercado de
software para PC.
En aquel tiempo, la compatibilidad IBM, fue una necesidad para
que los productos
tuvieran éxito, y la "compatibilidad IBM" significaba
computadoras que corrieran DOS tan bien como las computadoras IBM
lo hacían.
B.2) OS/2: Después
de la introducción del procesador Intel
80286, IBM y Microsoft
reconocieron la necesidad de tomar ventaja de las capacidades
multitarea de esta CPU. Se unieron para desarrollar el OS/2, un
moderno SO multitarea para los microprocesadores
Intel. < BR>Sin embargo, la sociedad no
duró mucho. Las diferencias en opiniones técnicas y
la percepción de IBM al ver a Windows como una
amenaza para el OS/2 causó una desavenencia entre las
Compañías que al final las llevó a la
disolución de la sociedad.
IBM continuó el desarrollo y
promoción del OS/2.
Es un sistema operativo
de multitarea para un solo usuario que requiere un microprocesador
Intel 286 o mejor. Además de la multitarea, la gran
ventaja de la plataforma OS/2 es que permite manejar directamente
hasta 16 MB de la RAM ( en
comparación con 1 MB en el caso del MS-DOS ). Por
otra parte, el OS/2 es un entorno muy complejo que requiere hasta
4 MB de la RAM. Los usuarios
del OS/2 interactuan con el sistema mediante una interfaz
gráfica para usuario llamada Administrador de
presentaciones. A pesar de que el OS/2 rompe la barrera de 1 MB
del MS-DOS, le
llevo tiempo volverse popular. Los vendedores de software se
muestran renuentes a destinar recursos a la
creación de un software con base en el OS/2 para un
mercado dominado por el MS-DOS. Los usuarios se rehusan a cambiar
al OS/2 debido a la falta de software que funcione en la plata
forma del OS/2 y a que muchos tendrían que mejorar la
configuración de su PC para que opere con el
OS/2.
B.3) UNIX: Unix es un SO
multiusuario y multitarea, que corre en diferentes computadoras,
desde supercomputadoras, Mainframes, Minicomputadoras,
computadoras personales y estaciones de
trabajo.
Es un sistema operativo
que fue creado a principios de los
setentas por los científicos en los laboratorios Bell. Fue
específicamente diseñado para proveer una manera de
manejar científica y especializadamente las aplicaciones
computacionales. Este SO se adapto a los sistemas de computo
personales así que esta aceptación reciente lo
convierte en un sistema popular.
. Unix es más antiguo que todos
los demás SO de PC y de muchas maneras sirvió como
modelo para
éstos. Aun cuando es un SO extremadamente sólido y
capaz, la línea de comandos Unix, no
es apta para cardiacos, debido a que ofrece demasiados comandos.
B.4) SISTEMA OPERATIVO DE
MACINTOSH: La Macintosh es una máquina netamente
gráfica. De hecho, no existe una interfaz de línea
de comando equivalente para ésta. Su estrecha integración de SO, GUI y área de
trabajo la hacen la favorita de la gente que no quiere saber nada
de interfaces de línea de comando.
Las capacidades gráficas de la
Macintosh hicieron de esa máquina la primera precursora en
los campos gráficos computarizados como la
autoedición por computadora.
La familia de
microcomputadoras de Apple Macintosh y su sistema operativo
define otra plataforma importante. Las PC de Macintosh, que se
basan en la familia de
microprocesadores de Motorola, usan la arquitectura de
Bus de 32 bits.
La plataforma para Macintosh incluye muchas capacidades
sofisticadas que comprende la multitarea, una GUI, la memoria
virtual y la capacidad para emular la plataforma MS-DOS. Las
PC de Macintosh también tiene la capacidad integrada de
compartir archivos y comunicarse con o tras PC de Macintosh en
una red.
B.5) WINDOWS NT DE
MICROSOFT: Con Windows NT,
Microsoft ha expresado su dedicación a escribir software
no sólo para PC de escritorio sino también para
poderosas estaciones de trabajo y servidores de
red y bases de datos.
Microsoft Windows NT no
es necesariamente un sustituto de DOS ni una nueva versión
de éste; es, en conjunto, un nuevo SO diseñado
desde sus bases para las máquinas más modernas y
capaces disponibles.
Windows NT de Microsoft ofrece
características interconstruidas que ningún otro SO
para PC ofrece, con excepción de Unix.
Además de las
características tradicionales de estricta seguridad de
sistema, red
interconstruida, servicios de
comunicación y correo
electrónico interconstruidos, herramientas
de administración y desarrollo de sistema y
una GUI, Windows NT puede correr directamente aplicaciones de
Windows de Microsoft y de Unix.
Windows NT, al igual que el OS/2 ver 2.0
y algunas versiones de Unix, es un SO de 32 bits, que puede hacer
completo uso de los procesadores de
estas características.
Además de ser multitarea,
está diseñado para tomar ventaja del multiproceso
simétrico.
Bases de Datos
La DBMS (Data Base Management System) es la herramienta
que las computadoras utilizan para realizar el procesamiento y
almacenamiento
ordenado de los datos. Una base de datos es
un recipiente para colecciones relacionadas de datos. Cualquier
conjunto de datos organizados para su almacenamiento en la memoria de
un ordenador o
computadora, diseñado para facilitar su
mantenimiento
y acceso de una forma estándar. Los datos suelen aparecer
en forma de texto,
números o gráficos. Desde su aparición en la
década de 1950, se han hecho imprescindibles para las
sociedades
industriales. Hay cuatro modelos
principales de bases de datos:
el modelo
jerárquico, el modelo en red, el modelo relacional (el más extendido
hoy en día; los datos se almacenan en tablas a los que se
accede mediante consultas escritas en SQL) y el modelo de bases de datos
deductivas. Otra línea de investigación en este campo son las
bases de datos
orientadas a objeto, o de objetos persistentes. Por ejemplo, un a
agenda puede ser una base de datos
donde se almacenan los nombres, direcciones y números
telefónicos de amigos y contactos de negocios. La
Base de Datos
de una Compañía puede contener información acerca de los consumidores,
vendedores, empleados, venta s en
inventario.
Ejemplos de Bases de Datos:
Access, FoxPro,
Approach.
- Base de datos relacional, en informática, tipo de base de datos o sistema de administración de bases de datos, que
almacena información en tablas (filas y columnas de
datos) y realiza búsquedas utilizando los datos de
columnas especificadas de una tabla para encontrar datos
adicionales en otra tabla. En una base de datos
relacional, las filas representan registros
(conjuntos de
datos acerca de elementos separados) y las columnas representan
campos (atributos particulares de un registro). Al
realizar las búsquedas, una base de datos
relacional hace coincidir la información de un campo de
una tabla con información en el campo correspondiente de
otra tabla y con ello produce una tercera tabla que combina los
datos solicitados de ambas tablas. Por ejemplo, si una tabla
contiene los campos NÚM-EMPLEADO, APELLIDO, NOMBRE y
ANTIGÜEDAD y otra tabla contiene los campos DEPARTAMENTO,
NÚM-EMPLEADO y SALARIO, una
base de datos relacional hace coincidir el campo
NÚM-EMPLEADO de las dos tablas para encontrar
información, como por ejemplo los nombres de los
empleados que ganan un cierto salario o
los departamentos de todos los empleados contratados a partir
de un día determinado. En otras palabras, una base de
datos relacional utiliza los valores
coincidentes de dos tablas para relacionar información
de ambas. Por lo general, los productos de
bases de datos para microcomputadoras o microordenadores son
bases de datos relacionales. - Cliente/servidor: En vez de construir sistemas
informáticos como elementos monolíticos, existe
el acuerdo general de construirlos como sistemas cliente/servidor. El
cliente (un
usuario de PC) solicita un servicio
(como imprimir) que un servidor le
proporciona (un procesador
conectado a la LAN). Este
enfoque común de la estructura
de los sistemas informáticos se traduce en una
separación de las funciones que anteriormente forman un
todo. Los detalles de la realización van desde los
planteamientos sencillos hasta la posibilidad real de manejar
todos los ordenadores de modo uniforme.
Redes
Una Red es una manera de
conectar varias computadoras entre sí, compartiendo sus
recursos e
información y estando conscientes una de otra. Cuando las
PC´s comenzaron a entrar en el área de los negocios, el
conectar dos PC´s no traía ventajas, pero esto
desapareció cuando se empezó a crear los sistemas
operativos y el Software multiusuario.
- Topología de redes: La
topología de una red , es el patrón de
interconexión entre nodos y servidor,
existe tanto la topología lógica (la forma en que es regulado el
flujo de los datos) ,como la topología física ( la
distribución física del cableado
de la red).
Las topologías físicas de
red más comunes son:
- Estrella.
- Bus lineal
- Anillo.
A.1) Topología de
estrella: Red de comunicaciones
en que la que todas las terminales están conectadas a un
núcleo central, si una de las computadoras no funciona,
ésto no afecta a las demás, siempre y cuando el
"servidor" no esté caído.
A.2) Topología Bus lineal: Todas
las computadoras están conectadas a un cable central,
llamado el "bus" o "backbone". Las
redes de bus lineal son de
las
más fáciles de instalar y son relativamente
baratas.
A.3) Topología de
anillo: Todas las computadoras o nodos están
conectados el uno con el otro, formando una cadena o
círculo cerrado.
- Protocolos de intercambio, en
informática, como en las relaciones
humanas, señal mediante la cual se reconoce que
puede tener lugar la
comunicación o la transferencia de
información. Los protocolos
de intercambio se pueden controlar tanto con hardware como con software. Un protocolo de
intercambio de hardware, como el existente entre
un ordenador o computadora
con una impresora o
con un módem,
es un intercambio de señales, a través de cables
específicos, en el que cada dispositivo señala su
disposición para enviar o recibir datos. Un protocolo de
software, normalmente el que se intercambia durante las
comunicaciones del tipo módem a
módem, consiste en una determinada información
transmitida entre los dispositivos de envío y de
recepción. Un protocolo de
intercambio de software establece un acuerdo entre los
dispositivos sobre los protocolos
que ambos utilizarán al comunicarse. Un protocolo de
intercambio de hardware es por tanto similar a dos
personas que físicamente estrechan sus manos, mientras
que un protocolo de
intercambio de software es más parecido a dos
grupos que
deciden conversar en un lenguaje particular. En el siguiente diagrama
se muestran TCP/IP, junto
con los modelos DOD y OSI.- TCP/IP:
(Transmission Control Protocol/Internet
Protocol) Protocolo de control de transmisiones/protocolo
Internet.
Conjunto de protocolos
de comunicaciones desarrollado por la Defense
Advanced Research Projects Agency (DARPA – Agencia de proyectos de
investigación avanzada de defensa) para
intercomunicar sistemas diferentes. Se ejecuta en un gran
número de computadoras VAX y basadas en UNIX, y es
utilizado por muchos fabricantes de hardware, desde los de
computadoras personales hasta los de macrocomputadoras. Es
empleado por numerosas corporaciones y por casi todas las
universidades y organizaciones
federales de los Estados Unidos.
El File Transfer Protocol (FTP –
Protocolo detransferencia de archivos) y el Simple Mail
Transfer Protocol (SMTP -Protocolo simple de transferencia de
correspondencia) brindan capacidades de transferencia de
archivos y de correo
electrónico. El protocolo TELNET
proporciona una capacidad de emulación de terminal que
permite al usuario interactuar con cualquier otro tipo de
computadora de la red. El protocolo TCP controla la
transferencia de los datos, y el IP brinda el
mecanismo para encaminarla. - IPX: (Internet Packet
EXchange) intercambio de paquetes entre redes Un protocolo de
comunicaciones del NetWare de Novell que
se utiliza para encaminar mensajes de un nodo a otro. Los
programas de aplicación que manipulan sus propias
comunicaciones cliente/servidor o de igual a igual en una red
Novell
pueden acceder directamente al IPX o al protocolo SPX de
NetWare. El IPX no garantiza la entrega del mensaje como lo
hace el SPX. - NETBEUI: NetBEUI
(NETBIOS Extended User Interface) Interfaz de usuario extendido
de NetBIOS La realización del protocolo de transporte
NetBIOS en LAN Manager
y LAN Server.
Se comunica con las tarjetas de interfaz de red (NICs)
vía NDIS (Network Driver Interface Specification). El
término fue originalmente usado para definir el
protocolo NetBIOS después que éste fue mejorado
para soportar la Token Ring Network. - Tipos de Redes:
Según el lugar y el espacio que ocupen, las redes, se
pueden clasificar en dos tipos:
1.Redes LAN
(Local Area Network) o Redes de área
local
2.Redes WAN (Wide Area Network) o Redes
de área amplia
1.- LAN – Redes de
Área Local:
Es una red que se expande en un
área relativamente pequeña. Éstas se
encuentran comúnmente dentro de una edificación o
un conjunto de edificaciones que estén contiguos.
Así mismo, una LAN puede
estar conectada con otras LANs a cualquier distancia por medio de
línea telefónica y ondas de radio.
Pueden ser desde 2 computadoras, hasta
cientos de ellas. Todas se conectan entre sí por varios
medios y
topología, a la computadora(s) que se encarga de llevar el
control de la red es llamada "servidor" y a las computadoras que
dependen del servidor, se les llama "nodos" o "estaciones de
trabajo".
Los nodos de una red pueden ser
PC´s que cuentan con su propio CPU, disco duro y
software y tienen la capacidad de conectarse a la red en un
momento dado; o pueden ser PC´s sin CPU o disco duro y
son llamadas "terminales tontas", las cuales tienen que estar
conectadas a la red para su funcionamiento.
Las LANs son capaces de transmitir datos
a velocidades muy rápidas, algunas inclusive más
rápido que por línea telefónica; pero las
distancias son limitadas.
2. – WAN – Redes de Área
Amplia:
Es una red comúnmente compuesta
por varias LANs interconectadas y se encuentran en una amplia
área geográfica. Estas LANs que componen la WAN se
encuentran interconectadas por medio de líneas de
teléfono, fibra
óptica o por enlaces aéreos como satélites.
Entre las WANs mas grandes se encuentran:
la ARPANET, que fue creada por la Secretaría de Defensa de
los Estados Unidos y
se convirtió en lo que es actualmente la WAN mundial:
INTERNET, a la
cual se conectan actualmente miles de redes universitarias, de
gobierno,
corporativas y de investigación.
G.) Componentes de una
red:
De lo que se compone una red en forma
básica es lo siguiente:
1.-Servidor
(server):
El servidor es la máquina
principal de la red, la que se encarga de administrar los
recursos de la
red y el flujo de la información. Muchos de los servidores son
"dedicados" , es decir, están realizando tareas
específicas, por ejemplo , un servidor de impresión
solo para imprimir; un servidor de comunicaciones, sólo
para controlar el flujo de los datos…etc. Para que una
máquina sea un servidor, es necesario que sea una
computadora de alto rendimiento en cuanto a velocidad y
procesamiento, y gran capacidad en disco duro u
otros medios de
almacenamiento.
2.- Estación de trabajo
(Workstation):
Es una computadora que se encuentra
conectada físicamente al servidor por medio de
algún tipo de cable. Muchas de las veces esta computadora
ejecuta su propio sistema operativo y ya dentro, se añade
al ambiente de la
red.
3. – Sistema Operativo de
Red:
Es el sistema (Software) que se encarga
de administrar y controlar en forma general la red. Para
ésto tiene que ser un Sistema Operativo Multiusuario, como
por ejemplo: Unix, Netware de Novell,
Windows NT, etc.
4. – Recursos a
compartir:
Al hablar de los recursos a
compartir, estamos hablando de todos aquellos dispositivos de
Hardware que tienen un alto costo y que son
de alta tecnología. En
éstos casos los más comunes son las impresoras, en
sus diferentes tipos: Láser, de color, plotters,
etc.
5. – Hardware de
Red
Son aquellos dispositivos que se utilizan
para interconectar a los componentes de la red, serían
básicamente las tarjetas de red
(NIC-> Network
Interface Cards) y el cableado entre servidores y
estaciones de trabajo, así como los cables para conectar
los periféricos.
- Routers y bridges: Los servicios en
la mayoría de las LAN son muy potentes. La
mayoría de las organizaciones no desean encontrarse con
núcleos aislados de utilidades informáticas.
Por lo general prefieren difundir dichos servicios por una
zona más amplia, de manera que los grupos puedan
trabajar independientemente de su ubicación. Los
routers y los bridges son equipos especiales
que permiten conectar dos o más LAN. El bridge
es el equipo más elemental y sólo permite
conectar varias LAN de un mismo tipo. El router es un
elemento más inteligente y posibilita la
interconexión de diferentes tipos de
redes de ordenadores. Las grandes empresas
disponen de redes corporativas de datos basadas en una serie
de redes LAN
y routers. Desde el punto de vista del usuario, este
enfoque proporciona una red físicamente
heterogénea con aspecto de un recurso
homogéneo. - Brouters: Un disco dispositivo de
comunicaciones que realiza funciones de puente (bridge) y de
encaminador (router).
Como puente, las funciones del "brouter" son al nivel de
enlace de datos (estrato 2), independientemente de protocolos
más altos, pero como encaminador, administra
líneas múltiples y encamina los mensajes como
corresponde. - Gateway: pasarela, puerta de acceso
Una computadora que conecta dos tipos diferentes de redes de
comunicaciones. Realiza la conversión de protocolos
de una red a otra. Por ejemplo, una puerta de acceso
podría conectar una red LAN de
computadoras. Nótese la diferencia con bridge, el cual
conecta redes similares.
H.) Transmisión de datos en
las redes:
La transmisión de datos en las
redes, puede ser por dos medios:
1. – Terrestres: Son limitados y
transmiten la señal por un conductor
físico.
2. – Aéreos: Son "ilimitados" en
cierta forma y transmiten y reciben las señales
electromagnéticas por microondas o
rayo láser.
1.- Terrestres:
- Cable par trenzado: Es el que
comúnmente se utiliza para los cables de
teléfonos, consta de 2 filamentos de cobre,
cubiertos cada uno por plástico aislante y entrelazados
el uno con el otro, existen dos tipos de cable par trenzado: el
"blindado", que se utiliza en conexiones de redes y estaciones
de trabajo y el "no blindado", que se utiliza en las
líneas telefónicas y protege muy poco o casi nada
de las interferencias. - Cable coaxial: Este tipo de cable es
muy popular en las redes, debido a su poca susceptibilidad de
interferencia y por su gran ancho de banda, los datos son
transmitidos por dentro del cable en un ambiente
completamente cerrado, una pantalla sólida, bajo una
cubierta exterior. Existen varios tipos de cables coaxiales,
cada uno para un propósito diferente. - Fibra óptica: Es un filamento de vidrio
sumamente delgado diseñado para la transmisión de
la luz. Las fibras
ópticas poseen enormes capacidades de
transmisión, del orden de miles de millones de bits por
segundo. Además de que los impulsos luminosos no son
afectados por interferencias causadas por la radiación
aleatoria del ambiente.
Actualmente la fibra
óptica está remplazando en grandes cantidades
a los cables comunes de cobre.
Herramientas de Software para
la
Automatización de
Oficinas
Definición de
Software:
El software es el conjunto de
instrucciones que las computadoras emplean para manipular datos.
Sin el software, la computadora sería un conjunto de
medios sin utilizar. Al cargar los programas en una computadora,
la máquina actuará como si recibiera una educación
instantánea; de pronto "sabe" cómo pensar y
cómo operar.
El Software es un conjunto de programas,
documentos,
procedimientos, y rutinas asociados con la
operación de un sistema de computo. Distinguiéndose
de los componentes físicos llamados hardware.
Comúnmente a los programas de computación se les llama software; el
software asegura que el programa o sistema cumpla por completo
con sus objetivos,
opera con eficiencia, esta
adecuadamente documentado, y suficientemente sencillo de
operar.
Es simplemente el conjunto de
instrucciones individuales que se le proporciona al microprocesador
para que pueda procesar los datos y generar los resultados
esperados.
El hardware por si solo no puede hacer
nada, pues es necesario que exista el software, que es el
conjunto de instrucciones que hacen funcionar al
hardware.
Clasificaciones del
Software
El software se clasifica en 4 diferentes
Categorías: Sistemas
Operativos, Lenguajes de
Programación, Software de uso general, Software de
Aplicación. (Algunos autores consideran la 3era y 4 ta
clasificación como una sola).
Lenguajes de
Programación
Mediante los programas se indica a la
computadora que tarea debe realizar y cómo efectuarla,
pero para ello es preciso introducir estas órdenes en un
lenguaje que el sistema pueda entender. En principio, el
ordenador sólo entiende las instrucciones en código
máquina, es decir, el específico de la computadora.
Sin embargo, a partir de éstos se elaboran los llamados
lenguajes de alto y bajo nivel.
Software de Uso
General
El software para uso general ofrece la
estructura
para un gran número de aplicaciones empresariales,
científicas y personales. El software de hoja de
cálculo, de diseño asistido por computadoras
(CAD), de procesamiento de texto, de
manejo de Bases de Datos, pertenece a esta categoría. La
mayoría de software para uso general se vende como
paquete; es decir, con software y documentación orientada
al usuario (manuales de
referencia, plantillas de teclado y
demás).
Software de
aplicaciones
El software de aplicación esta
diseñado y escrito para realizar tareas específicas
personales, empresariales o científicas como el
procesamiento de nóminas, la administración de los
recursos
humanos o el control de
inventarios. Todas éstas aplicaciones procesan datos
(recepción de materiales) y
generan información (registros de
nómina)
para el usuario.
- Procesadores de
Palabras: Son utilizados para escribir cartas,
memorándums y otros documentos, El
usuario teclea una serie de letras o párrafos, y son
mostradas en la pantalla. El usuario puede fácilmente
adherir, borrar y cambiar el texto hasta
que el documento quede exactamente como se desea. Algunas
características avanzadas que encontramos en la
actualidad en los procesadores de
texto son: corrector de ortografía, diccionario
de sinónimos, presentación preliminar del
texto antes
de imprimir. Ejemplos de procesadores de
texto: Word,
AmiPro, Wordperfect. - Hojas de Cálculo: Una Hoja de
Cálculo es una herramienta para calcular y evaluar
números. También ofrece capacidades para crear
informes y
presentaciones para comunicar lo que revelan los análisis; el usuario teclea los datos y
las fórmulas que serán usadas para obtener los
resultados; después el programa aplica las
fórmulas a los datos y así obtiene los
resultados; una de sus características mas importantes
es la habilidad de preguntar (Condicionales)"what IF" "QUE
PASARÍA SI?", cambiando los datos y rápidamente
re- calculando los nuevos resultados. La mayoría de las
Hojas de Cálculo
cuentan también con la posibilidad de graficar estos
resultados en diferentes estilos de gráficas (Barras,
Líneas, Pastel, etc.). Ejemplos de Hojas de Cálculo:
Excel, Lotus
123, Quatro. - Paquetes de
Presentación: Software que permite al usuario
diseñar presentaciones para desplegarlas a través
de la misma computadora o imprimir diapositivas y acetatos.
Contienen opciones avanzadas para integrar efectos en cada
cambio de
diapositiva. Ejemplos: Presentation, Power
Point. - Shareware y
Freeware:
- Shareware: Software distribuido de
forma gratuita para ser probado. Si el usuario decide quedarse
con el programa y seguir usándolo, debe pagar al
desarrollador. Normalmente, el shareware es desarrollado por
compañías relativamente pequeñas o
inclusive por programadores individuales, y generalmente es
barato. - Freeware: Programas
gratuitos que los desarrolladores ponen a disposición de
otros usuarios sin ningún costo. En
algunos casos el desarrollador no reclama derechos de
autor y el programa se convierte en software del dominio
público. En otros casos, el software tiene derechos de
autor pero el desarrollador ha permitido a otra gente
usarlos y copiarlo gratuitamente.
- Aplicación
Vertical: Las aplicaciones verticales son programas que
realizan todas las fases de una función crítica
del negocio. Estos programas, que muchas veces corren en una
combinación de Mainframes, minis y computadoras
personales, se denominan algunas veces aplicaciones de misión
crítica. Generalmente son desarrollados a la medida por
cada compañía que los tiene y son usados por
muchos individuos dentro de una Organización.
Sistemas de
Información
Una aplicación comercial de la
computadora. Está constituido por las bases de datos, los
programas de aplicación, los procedimientos
manuales y
automatizados, y abarca los sistemas informáticos que
llevan a cabo el procesamiento.
Las bases de datos almacenan los asuntos
de los negocios
(archivos maestros) y sus actividades (archivos de
transacciones). Los programas de aplicación proveen la
entrada de datos, la actualización, consulta y
procesamiento de informes. Los
procedimientos
manuales
documentan la forma en que se obtienen los datos para su
introducción, y la forma en que se distribuyen las salidas
del sistema. Los procedimientos
automáticos instruyen a la computadora acerca de
cómo ejecutar las actividades de procesamiento por lotes,
en las cuales la salida de un programa es automáticamente
transferida a la entrada de otro programa.
El procesamiento diario es el
procesamiento interactivo y en tiempo real de las transacciones.
Al final del día o de algún otro período,
los programas de procesamiento por lotes actualizan los archivos
maestros que no fueron actualizados desde el período
anterior. Se imprimen los informes de
las actividades de ciclo. El procedimiento
periódico de un sistema de
información es la actualización de los archivos
maestros, en la cual se agrega, borra y modifica la
información sobre clientes,
empleados, proveedores y
productos.
Cada sistema abarca a los que lo
suceden:
Equipo de
Computación
- Historia de las Computadoras
Personales: Las microcomputadoras o Computadoras
Personales (PC´s) tuvieron su origen con la
creación de los microprocesadores. Un microprocesador es "una computadora en un chip",
o sea un circuito integrado independiente. Las PC´s son
computadoras para uso personal y
relativamente son baratas y actualmente se encuentran en las
oficinas, escuelas y hogares.
El término PC se deriva de que
para el año de 1981, IBM®, sacó a la venta su modelo
"IBM PC", la cual se convirtió en un tipo de computadora
ideal para uso "personal", de
ahí que el término "PC" se estandarizó y los
clones que sacaron posteriormente otras empresas fueron
llamados "PC y compatibles", usando procesadores del
mismo tipo que las IBM, pero a un costo menor y
pudiendo ejecutar el mismo tipo de programas.
Existen otros tipos de microcomputadoras,
como la Macintosh®, que no son compatibles con la IBM, pero
que en muchos de los casos se les llaman también
"PC´s", por ser de uso personal.
En la actualidad existen variados tipos
en el diseño de PC´s:
- Computadoras personales, con el
gabinete tipo minitorre, separado del monitor. - Computadoras personales
portátiles "Laptop" o "Notebook". - Computadoras personales más
comunes, con el gabinete horizontal, separado del monitor. - Computadoras personales que
están en una sola unidad compacta el monitor y el
CPU.
Las computadoras "laptops" son aquellas
computadoras que están diseñadas para poder ser
transportadas de un lugar a otro. Se alimentan por medio de
baterías recargables, pesan entre 2 y 5 kilos y la
mayoría trae integrado una pantalla de LCD (Liquid Crys
tal Display).
A.1) Supercomputadoras: Una
supercomputadora es el tipo de computadora más potente y
más rápido que existe en un momento dado. Estas
máquinas están diseñadas para procesar
enormes cantidades de información en poco tiempo y son
dedicadas a una tarea específica.
Así mismas son las más
caras, sus precios
alcanzan los 30 MILLONES de dólares y más; y
cuentan con un control de temperatura
especial, ésto para disipar el calor que
algunos componentes alcanzan a tener.
Unos ejemplos de tareas a las que son
expuestas las supercomputadoras son los
siguientes:
- Búsqueda y estudio de la
energía y armas
nucleares. - Búsqueda de yacimientos
petrolíferos con grandes bases de datos
sísmicos. - El estudio y predicción de
tornados. - El estudio y predicción del
clima de
cualquier parte del mundo. - La elaboración de maquetas y
proyectos de la
creación de aviones, simuladores de
vuelo. - Etc.
Debido a su precio, son
muy pocas las supercomputadoras que se construyen en un
año.
A.2) Minicomputadoras: En
1960 surgió la minicomputadora, una versión
más pequeña de la Macrocomputadora. Al ser
orientada a tareas específicas, no necesitaba de todos los
periféricos que necesita un Mainframe, y
ésto ayudo a reducir el precio y
costos de
mantenimiento.
Las minicomputadoras, en tamaño y
poder de
procesamiento, se encuentran entre los mainframes y las
estaciones de trabajo.
En general, una minicomputadora, es un
sistema multiproceso (varios procesos en
paralelo) capaz de soportar de 10 hasta 200 usuarios
simultáneamente. Actualmente se usan para almacenar
grandes bases de datos, automatización industrial y aplicaciones
multiusuario.
A.3) Estaciones de trabajo o
Workstations: Las estaciones de trabajo se encuentran
entre las minicomputadoras y las macrocomputadoras (por el
procesamiento). Las estaciones de trabajo son un tipo de
computadoras que se utilizan para aplicaciones que requieran de
poder de
procesamiento moderado y relativamente capacidades de
gráficos de alta calidad. Son
usadas para:
- Aplicaciones de ingeniería
- CAD (Diseño asistido por
computadora) - CAM (manufactura
asistida por computadora) - Publicidad
- Creación de
Software
En redes, la palabra "workstation" o
"estación de trabajo" se utiliza para referirse a
cualquier computadora que está conectada a una red de
área local.
B.1) Macrocomputadoras o
Mainframes:Las macrocomputadoras son
también conocidas como Mainframes. Los mainframes son
grandes, rápidos y caros sistemas que son capaces de
controlar cientos de usuarios simultáneamente,
así como cientos de dispositivos
de entrada y salida.Los mainframes tienen un costo que
va desde 350,000 dólares hasta varios millones de
dólares. De alguna forma los mainframes son más
poderosos que las supercomputadoras porque soportan
más programas simultáneamente. PERO las
supercomputadoras pueden ejecutar un sólo programa
más rápido que un mainframe.En el pasado, los Mainframes ocupaban
cuartos completos o hasta pisos enteros de algún
edificio, hoy en día, un Mainframe es parecido a una
hilera de archiveros en algún cuarto con piso falso,
ésto para ocultar los cientos de cables d e los
periféricos, y su temperatura tiene que estar
controlada.B.2) Servidor de
archivos:Dispositivo de almacenamiento de
archivos en una red de área local al que todos los
usuarios de la red pueden acceder. A diferencia de un
servidor de disco, que aparece ante el usuario como una
unidad de disco remota, un servidor de archivos es un
dispositivo más complejo que no sólo almacena
archivos sino que también los administra y los
mantiene en orden a medida que los usuarios de la red los
solicitan y los modifican. Para gestionar las tareas de
manejo de varias solicitudes (a veces simultáneas), un
servidor de archivos cuenta con un procesador y
software de control, así como una unidad de
disco para el almacenamiento. En redes de área local,
un servidor de archivos suele ser una computadora con un
disco duro
grande que está dedicado exclusivamente a las
funciones de administración de archivos
compartidos.- Historia de los Servidores y
Mainframes:Es dispositivo formado por un monitor y un teclado.
Un terminal no hace prácticamente ningún
procesamiento por sí solo, sino que está
conectado a una computadora con un enlace de comunicaciones a
través de un cable. La entrada a través del
teclado se
envía desde el terminal a la computadora, y la salida
de vídeo se envía desde la computadora al
terminal. Los terminales se usan sobre todo en sistemas
multiusuario y no se utilizan hoy día en computadoras
personales de un solo usuario. En electrónica, un
punto que puede ser conectado físicamente a
algún otro, normalmente a través de un cable,
para formar una conexión eléctrica. - Terminales Tontas: en informática, terminal sin capacidad de proceso. Por
lo general, los terminales tontos sólo son capaces de
presentar caracteres alfanuméricos y de responder a un
protocolo de comunicaciones sencillo, como el VT-52, VT-100 o
ANSI.RISC: (Reduced
Instruction Set Computer) computadora de conjunto de
instrucciones reducidoArquitectura de computadoras que
ejecuta un número limitado de instrucciones. El
concepto es que la mayoría de los programas usan
generalmente unas pocas instrucciones, y si se acelera la
ejecución de esas instrucciones básicas, se
mejora el rendimiento.La arquitectura
RISC elimina una capa de carga operativa llamada
"microcódigo", que se emplea normalmente para
facilitar la agregación de nuevas y complejas
instrucciones a una computadora. Las computadoras RISC poseen
un pequeño número de instrucciones montadas en
los circuitos
de nivel inferior, que trabajan a máxima
velocidad.Aunque las máquinas RISC son
sólo de un 15% a un 50% más veloces que sus
contrapartidas CISCCISC: (Complex
Instruction Set Computer) Computadora de conjunto de
instrucciones complejo Computadoras que poseen un conjunto de
instrucciones muy extenso. Las máquinas CISC tienen de
doscientas a trescientas instrucciones, que están
grabadas en microcódigo. - Tecnologías RISC y
CISC:MMX: (Multimedia
Extensions) son 57 instrucciones MMX que se usan para
acelerar los procesos
de programas multimedia
tales como vídeo y sonido, ocho
registros MMX
de 64 bitsPentium Pro: incorpora en el mismo
encapsulado del procesador un total de 256 ó 512 KB de
memoria caché de segundo nivel(caché L2).
La
comunicación entre dicha memoria caché y el
núcleo del procesador se realiza a la velocidad a la
que funcione el Pentium
Pro. - Tecnologías MMX y
Pentium
Pro: - Microprocesadores:
F.1) Historia de los Microprocesadores:
Muchas grandes invenciones simplemente
son el resultado de que alguien se ha encontrado con un problema
técnico y propone una solución diferente y audaz. Y
típicamente, ese problema tiene que ver con dinero.
Ese era el caso ciertamente a finales de
1969 para una joven y agresiva compañía japonesa
llamada
Busicom. Busicom había tenido
realmente varios nombres en su breve carrera, incluso ETI y
Máquinas Calculadoras de Japón.
Esa era una característica de
naturaleza
imprevisible de esa empresa. Y
Busicom no estaba solo. Era uno de los centenares de
compañías que estaban decididos a entrar en un
negocio que estaba surgiendo como un gran mercado de
consumidores, hecho posible por los circuitos
integrados: las calculadoras. Se había comprobado
que existía un marcado interés
por las nuevas calculadoras versiones digitales que las
antiguas calculadoras electromecánicas, especialmente
cuando estas versiones digitales podían realizar
cálculos complejos como raíces
cuadradas.
Busicom no era ni un jugador mayor, ni
uno menor en este negocio. Justo uno de las multitudes. Pero era
un jugador que tenía unas buenas ganas para tomar riesgos
tecnológicos más que sus competidores, y contaba
con un visionario tecnológico en su laboratorio
llamado Masatoshi Shima.
A través de 1969, se
reconoció generalmente en la industria de
la electrónica que era teóricamente posible usar el
nuevo semiconductor metal-on-silicon (MOS) para poner toda la
función de una calculadora en una sola pastilla.
¿Pero quién estaba deseoso de
hacerlo?.
Busicom escogio a Intel Corporation. Una
compañía diminuta de Santa Clara, California para
fabricarlo.
Luego de las correcciones realizadas en
el diseño y construcción por parte de Federico Faggin
de Intel del primer microprocesador, en Febrero de 1971 el 4004
estaba listo para la producción.
Así a mediados de Marzo de 1971,
Intel envió el conjunto de chips de la familia
4000 a BUSICOM. Esta familia
consistiría en:
- Una ROM de 2048 bits como el
4001 - Una memoria
RAM de 320 bits como el 4002 - Un Shift regiter de 10 bits como el
4003 - El procesador central de 4 bits como
el 4004
La revolución del Microprocesador
había empezado.
El 8008 siguió al 4004 y fue
formalmente introducido en Abril de 1972. Este proyecto
empezó con el nombre de 1201 y se trataba de una arquitectura de 8
bits. Y fue así que el 8008 se convirtió en el
primer microprocesador de 8 bits.
Para el siguiente microprocesador de 8
bits el 8080 sus primeras pruebas
tuvieron lugar en Diciembre de 1973. Después que Faggin y
su equipo corrigieron algunos errores, el producto fue
formalmente introducido al público en Marzo de
1974.
Como Faggin diría: "El 8080
realmente creó el mercado del microprocesador. El 4004 y
el 8008 lo sugirieron, pero el 8080 lo hizo
realidad."
Con la introducción del 8080 puede
decirse de verdad que la humanidad cambió. La naturaleza
extraordinaria del 8080 fue reconocida casi
instantáneamente por miles de ingenieros en todo el mundo
quienes habían estado
esperando su llegada. Dentro de un año, había sido
introducido en cientos de productos diferentes. Nada
volvería a ser igual otra vez.
Los que se llevan el crédito
de este invento(uno de las más grandes invenciones de este
siglo) son: Ted Hoff como el inventor, Federico Faggin como el
creador, Mazor y Shima como contribuyentes
críticos.
EL PENTIUM
II
Es el último Microprocesador de
Intel y alcanza velocidades de hasta 400Mhz. Ya llegaron al
PERU pero
todavía no se ve la última versión, sin
embargo ya hay muchas marcas de
computadoras en Estados Unidos
que los usan. La forma de este procesador y su forma de
instalación es diferente, en vez usa un cartucho(de un
sólo borde) el cual se coloca en la placa madre dentro de
un conector tipo slot. No usa el socket7 como las anteriores
PENTIUM.
Más información sobre el PENTIUM
II.
EL K6 DE
AMD
Este procesador es el último de
AMD y alcanza velocidades de hasta 266Mhz y se está
trabajando en una versión de 300Mhz. Dicen que es tan
rápido que el PENTIUM II. Ya llegó al PERU, pero
sólo los de 200Mhz y 233Mhz. Usa el mismo socket7 de las
placas madres comunes y esto hace fácil instalarlo y
usarlo en las placas madres más antiguas. Más
información sobre AMD K6.
EL 6×86
DE
Es el último de CYRIX y es la
respuesta de este fabricante a la competencia de
Intel y Amd. Este procesador puede usar una velocidad de bus de 75Mhz lo que lo hace
distinto a los demás. Es posible que ya se comercialize en
el PERU.
Más información sobre EL 6×86 MX.
EL POWERPC
DE
Este procesador de arquitectura RISC
es usado en las computadoras Mac de APPLE y se dice que alcanza
hasta 300 Mhz de velocidad.
F.2) Listado de los
Microprocesadores:
VERSIONES DE
INTEL
MICROPROCESADORES ANTERIORES AL
PENTIUM
- MICROPROCESADOR
8088 - MICROPROCESADOR
8086 - MICROPROCESADOR
80286 - MICROPROCESADOR
80386 - MICROPROCESADOR
80486 - MODELO DX1
- MODELO DX2
- MODELO DX4
PENTIUM
SIMPLE(COMUNES)
- PENTIUM 60 MHZ
- PENTIUM 66 MHZ
- PENTIUM 75 MHZ
- PENTIUM 100 MHZ
- PENTIUM 133 MHZ
- PENTIUM 166 MHZ
- PENTIUM 200 MHZ
PENTIUM MMX (FAMILIA
P55C)
- PENTIUM MMX 166
MHZ - PENTIUM MMX 200
MHZ - PENTIUM MMX 233
MHZ
PENTIUM II Y PENTIUM PRO (FAMILIA
P6)
PENTIUMS PRO
- PENTIUM PRO DE 2OO MHZ Y CACHE
L2(NIVEL2) DE 256KB, 512KB Y 1MB - PENTIUM PRO DE 180MHZ Y 256KB DE
CACHE L2 - PENTIUM PRO DE 166MHZ Y 512KB DE
CACHE L2 - PENTIUM PRO DE 150MHZ Y 256KB DE
CACHE L2
PENTIUMS II
- PENTIUM II DE 233
MHZ - PENTIUM II CELEROM DE 266 MHZ Y SIN
CACHE L2 - PENTIUM II DE 266 MHZ Y 512KB DE
CACHE L2 - PENTIUM II DE 300 MHZ Y 512KB DE
CACHE L2 - PENTIUM II DE 333 MHZ Y 512KB DE
CACHE L2 - PENTIUM II DE 350 MHZ Y 512KB DE
CACHE L2 - PENTIUM II DE 400 MHZ Y 512KB DE
CACHE L2 - MUY PRONTO EL PENTIUM II DE 450 MHZ
Y 512KB DE CACHE L2
VERSIONES DE
AMD
AMD K5
- AMD K5 DE 100 MHZ
- AMD K5 DE 133 MHZ
- AMD K5 DE 166 MHZ
AMD K6
- AMD K6 DE 166 MHZ
- AMD K6 DE 200 MHZ
- AMD K6 DE 233 MHZ
- AMD K6 DE 266 MHZ
- AMD K6 DE 300 MHZ
VERSIONES DE
CYRIX
CYRIX M1
CYRIX 6×86 MMX(LLAMADO ANTERIORMENTE
M2)
- 6x86PR166 MMX
- 6x86PR200 MMX
- 6x86PR233 MMX
- 6x86PR266 MMX
- 6x86PR300 MMX
G-1 RAM: (Random access
memory), memoria de acceso aleatorio, la utiliza el usuario
mediante sus programas, y es volátil. La memoria
del equipo permite almacenar datos de entrada, instrucciones
de los programas que se están ejecutando en ese
momento, los dato s resultados del procesamiento y los datos
que se preparan para la salida. Los datos proporcionados a la
computadora permanecen en el almacenamiento primario hasta
que se utilizan en el procesamiento. Durante el
procesamiento, el almacenamiento primario almacena los datos
intermedios y finales de todas las operaciones
aritméticas y lógicas. El almacenamiento
primario debe guardar también las instrucciones de los
programas usados en el procesamiento. La memoria está
subdividida en celdas individuales cada una de las cuales
tiene una capacidad similar para almacenar
datos.G-2 DRAM: (Dynamic
RAM) El
tipo más común de memoria para computadoras. La
arquitectura
RAM
dinámica (DRAM) emplea habitualmente un
transistor y
un condensador para representar un bit. Los condensadores deber ser energizados cientos de
veces por segundo para mantener las cargas correctas.
Nótese la diferencia con static RAM, la cual es
habitualmente más rápida y no requiere
circuitería de refresco. A diferencia de los chips de
firmware (ROM, PROM, etc.), ambas variedades de RAM pierden
su contenido cuando se corta el suministro de
energía.G-3 ROM: (read only
memory), memoria de sólo lectura,
en la cual se almacena ciertos programas e información
que necesita la computadora las cuales están grabadas
permanentemente y no pueden ser modificadas por el
programador. Las instrucciones básicas para arrancar
una computadora están grabadas aquí y en
algunas notebooks han grabado hojas de
calculo, basic, etc.G-4 Cache: Una
sección reservada de la memoria que se utiliza para
mejorar el rendimiento. Un cache de disco es una
porción reservada de la memoria normal, o memorias
adicionales en la tarjeta controladora del disco. Cuando el
disco es leído, se copia un gran bloque de datos en el
cache. Si los requerimientos de datos subsiguientes pueden
ser satisfecho por el cache, no se necesita el empleo de
un acceso a disco que es más lento. Si el cache es
utilizado para escritura,
los datos se alinean en memoria y se graban en el disco en
bloques más grandes.Los caches de memoria son bancos de
memoria de alta velocidad entre la memoria normal y la CPU.
Los bloques de instrucciones y datos se copian en el cache, y
la ejecución de las instrucciones y la
actualización de los datos es llevada a cabo en la
memoria de alta velocidad.G-5 Discos
Duros: una o varias láminas rígidas
de forma circular, recubiertas de un material que posibilita
la grabación magnética de datos. Un
disco duro normal gira a
una velocidad de 3.600 revoluciones por minuto y las cabezas
de lectura y
escritura
se mueven en la superficie del disco sobre una burbuja de
aire de
una profundidad de 10 a 25 millonésimas de pulgada. El
disco duro
va sellado para evitar la interferencia de partículas
en la mínima distancia que existe entre las cabezas y
el disco. Los discos
duros proporcionan un acceso más rápido a
los datos que los discos flexibles y pueden almacenar mucha
más información. Al ser las láminas
rígidas, pueden superponerse unas sobre otras, de modo
que una unidad de disco duro puede tener acceso a más
de una de ellas. La mayoría de los discos
duros tienen de dos a ocho láminas.Disco duro
El disco duro de una computadora se
utiliza para guardar datos en soporte
magnético.- RAM, DRAM, ROM, Cache y Discos
Duros:Monocromáticos,
despliegan sólo 2 colores,
uno para el fondo y otro para la superficie. Los colores
pueden ser blanco y negro, verde y negro ó
ámbar y negro. Escala de
Grises, un monitor a escala de grises es un tipo especial de
monitor monocromático capaz de desplegar diferentes
tonos de grises.Color: Los monitores
de color
pueden desplegar de 4 hasta 1 millón de colores
diferentes. Conforme ha avanzado la tecnología han
surgido los diferentes modelos:TTL, Monocromático, muy
pobre resolución, los primeros no tenían
capacidad de graficar.CGA, Color
Graphics Adapter, desplegaba 4 colores,
con muy pobre resolución a comparación de los
monitores
actuales, hoy en día fuera del
mercado.EGA, Enhanced Graphics
Adapter, manejaba una mejor resolución que el CGA, de
640×350 pixeles. (los pixeles son los puntos de luz con los
que se forman los caracteres y gráficas en el monitor,
mientras más pixeles mejor resolución).
Desplegaban 64 colores.VGA, Vídeo Graphics
Array, los hay monocromáticos y de color. Adecuados
para ambiente
gráfico por su alta resolución (640×480
pixeles). Pueden llegar hasta 256,000 colores ó 64
tonalidades de gris dependiendo de la memoria destinada al
dispositivo.SPVGA, Super Vídeo
Graphics Array, maneja una resolución más alta
(1,024×768), el número de colores desplegables
varía dependiendo de la memoria, pero puede ser mayor
que 1 millón de colores.UVGA, Ultra Vídeo
Graphics Array, Resolución de 1280 x 1024. La calidad de
las imágenes que un monitor puede desplegar
se define más por las capacidades de la tarjeta
controladora de vídeo, que por las del monitor mismo.
El controlador de vídeo es un dispositivo
intermediario entre el CPU y el monitor. El controlador
contiene la memoria y otros circuitos
electrónicos necesarios para enviar la
información al monitor para que la despliegue en la
pantalla. - Monitores: El monitor
ó pantalla de vídeo, es el dispositivo de
salida más común. Hay algunos que forman parte
del cuerpo de la computadora y otros están separados
de la misma. Existen muchas formas de clasificar los monitores,
la básica es en término de sus capacidades de
color,
pueden ser:IMPRESORAS DE
IMPACTO:Una impresora
que utiliza un mecanismo de impresión que hace
impactar la imagen del
carácter en una cinta y sobre el papel. Las
impresoras
de línea, de matriz de
punto y de rueda de margarita son ejemplos de impresoras de
impacto.Impresora de Matriz de
puntos, es la impresora
más común. Tiene una cabeza de impresión
movible con varias puntillas o agujas que al golpear la cinta
entintada forman caracteres por medio de puntos en el
papel,
Mientras mas agujas tenga la cabeza de impresión mejor
será la calidad del
resultado. Las hay de 10 y 15", las velocidades varían
desde: 280 cps hasta 1,066 cpsImpresoras de margarita; tiene la
misma calidad de
una máquina de escribir mediante un disco de
impresión que contiene todos los caracteres,
están de salida del mercado por
lentas.Impresoras de Línea: Son
impresoras de alta velocidad que imprimen una línea
por vez. Generalmente se conectan a grandes computadoras y a
Minicomputadoras. Las impresoras de línea imprimen una
línea a la vez desde aproximadamente 100 a 5000
LPM.IMPRESORAS SIN
IMPACTO:Hacen la impresión por
diferentes métodos, pero no utilizan el impacto.
Son menos ruidosas y con una calidad de
impresión notoriamente mejor a las impresoras de
impacto. Los métodos que utilizan son los
siguientes:Térmicas: Imprimen de forma
similar a la máquina de matriz,
pero los caracteres son formados marcando puntos por
quemadura de un papel
especial. Vel. 80 cps. Los faxes trabajan con este método.Impresora de inyección de
tinta: Emite pequeños chorros de tinta desde cartuchos
desechables hacia el papel, las
hay de color. Vel. de 4 a 7 ppm.Electrofotográficas o
Láser: Crean letras y gráficas mediante un
proceso de fotocopiado. Un rayo láser traza los
caracteres en un tambor fotosensible, después fija el
toner al papel
utilizando calor. Muy
alta calidad de resolución, velocidades de 4 a 18
ppm. - Impresoras: Dispositivo
que convierte la salida de la computadora en imágenes
impresas. Las impresoras
se pueden dividir en 2 tipos: las de impacto y las de no
impacto. - Scanners: Convierten
texto,
fotografías a color ó en Blanco y Negro a una
forma que puede leer una computadora. Después esta
imagen puede
ser modificada, impresa y almacenada. Son capaces de
digitalizar una página de gráficas en unos
segundos y proporcionan una forma rápida, fácil y
eficiente de ingresar información impresa en una
computadora; también se puede ingresar
información si se cuenta con un Software especial
llamado OCR (Reconocimiento óptico de
caracteres).
Bibliografía
- http://members.xoom.com/mcruz/index-0.html
- http://www.pegasosoft.com/curso/introduccion.htm
- http://www.infosistemas.com.mx/soto10.htm
- http://www.euitt.upm.es/java/cursojava/1_Intro/1.3_OOP/oop.htm
- http://www.fciencias.unam.mx/revista/temas/contenido.html
- https://www.monografias.com
- Enciclopedia Microsoft®
Encarta® 98 © 1993-1997 Microsoft Corporation.
Reservados todos los derechos.
Jorge Romeo Gaitán
Rivera
Bachiller Industrial Perito en
Electrónica Digital y Microprocesadores
1er. Semestre de Ingeniería
Electrónica
jrgaitan[arroba]geocities.com