Está en la página 1de 84

Programacin

INSTITUTO POLITECNICO NACIONAL


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Zacatenco
Carrera: Ingeniera en Comunicaciones y electrnica
Materia: Programacin
Grupo: 1CM5
Alumnos:
Bravo Medina Guillermo
Martnez Poblano Jesse
Silva Carlos Alberto
ING. Miriam Cuellar Mercado
Fecha de Entrega: 01/04/16.

Programacin

INDICE

Introduccin
Objetivo
Evolucin de las computadoras
-Primera generacin
-Segunda generacin
-Tercera generacin
-Cuarta generacin
-Quinta generacin
-ltima generacin (actual)
Evolucin de los dispositivos
Dispositivos de Entrada y Salida
Tipos de Lenguajes de Programacion
Sistemas Operativos

Programacin

INTRODUCCION

La computadora es un instrumento que se ha tornado imprescindible para la


sociedad moderna. Tiene, con respecto a la vieja mquina de escribir, ventajas
que muchos no acabamos de descubrir y que cada vez la tecnologa las
incrementa.
Las computadoras y sus componentes cada vez se hacen ms accesibles a los
ciudadanos, adems de fciles de transportar. Atrs quedaron las primeras
computadoras que ocupaban sendos espacios y hasta varios pisos.

Las computadores son un invento creado por el hombre, en el cual llevo mucho
tiempo en que se perfeccionara como lo es hoy en da, y su evolucin tambin se
ve en el tamao pero ms que todo en su sistema que la mantiene como las de
hoy en da.

OBJETIVO
El alumno identificara la evolucin de las computadoras hasta nuestros das, al
igual que con los dispositivos de almacenamiento, los dispositivos de entrada y
salida y los lenguajes de programacin que existen hasta nuestra actualidad.

Evolucin de las computadoras


hasta nuestra actualidad.
3

Programacin

1946-1958 Primera Generacin:

Programacin
En
esta
poca
las
computadoras funcionaban
con vlvulas, se utilizaban
exclusivamente en el mbito
cientfico o militar.

Estas mquinas tenan las siguientes caractersticas:


Usaban tubos al vaco
para procesar
informacin.

Usaban tarjetas perforadas para entrar los datos y los programas. Usaban
cilindros magnticos para almacenar informacin e instrucciones internas. Eran
sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran
cantidad de calor y eran sumamente lentas. Se comenz a utilizar el sistema
binario para representar los datos.

En esta generacin las mquinas son grandes y costosas (de un costo


aproximado de 10,000 dlares).
La computadora ms exitosa de la primera generacin fue la IBM 650, de la cual
se produjeron varios cientos. Esta computadora que usaba un esquema de
5

Programacin
memoria secundaria llamado tambor magntico, que es el antecesor de los discos
actuales.

Eckert y Mauchly contribuyeron al desarrollo de computadoras de la 1era


Generacin formando una compaa privada y construyendo UNIVAC I, que el
Comit del censo utiliz para evaluar el censo de 1950. La IBM tena el monopolio
de los equipos de procesamiento de datos a base de tarjetas perforadas y estaba
teniendo un gran auge en productos como rebanadores de carne, bsculas para
comestibles, relojes y otros artculos; sin embargo no haba logrado el contrato
para el Censo de 1950.

1958-1964
Segunda Generacin:

Programacin

Caractersticas de sta generacin: Usaban transistores para procesar


informacin.

Los transistores eran ms rpidos, pequeos y ms confiables que los tubos al


vaco.
200 transistores podan acomodarse en la misma cantidad de espacio que un
tubo al vaco. Usaban pequeos anillos magnticos para almacenar informacin e
instrucciones. Producan gran cantidad de calor y eran sumamente lentas. Se
Mejoraron los programas de computadoras que fueron desarrollados durante la
primera generacin.
Se desarrollaron nuevos lenguajes de programacin como COBOL y FORTRAN,
los cuales eran comercialmente accesibles.

Programacin

Se usaban en aplicaciones de sistemas de reservaciones de lneas areas, control


del trfico areo y simulaciones de propsito general. La marina de los Estados
Unidos desarrolla el primer simulador de vuelo, Computadora Whirlwind. Se
comenz a disminuir el tamao de las computadoras.
Aparecen muchas compaas y las computadoras eran bastante avanzadas para
su poca como la serie 5000 de Burroughs y la ATLAS de la Universidad de
Mnchester. Algunas computadoras se programaban con cintas perforadas y otras
por medio de cableado en un tablero.

Programacin

Algunas de las computadoras que se construyeron ya con transistores fueron la


IBM 1401, las Honeywell 800 y su serie 5000, UNIVAC M460, las IBM 7090 y
7094, NCR 315, las RCA 501 y 601, Control Data Corporation con su conocido
modelo CDC16O4, y muchas otras, que constituan un mercado de gran
competencia, en rpido crecimiento. En esta generacin se construyen las
supercomputadoras Remington Rand UNIVAC LARC, e IBM Stretch (1961).

1964-1971
Tercera Generacin:

Programacin

La tercera generacin de computadoras emergi con el desarrollo de


circuitos integrados (pastillas de silicio) en las que se colocan miles de
componentes electrnicos en una integracin en miniatura.

Las computadoras nuevamente se hicieron ms pequeas, ms rpidas,


desprendan menos calor y eran energticamente ms eficientes. El ordenador
IBM-360 domin las ventas de la tercera generacin de ordenadores desde su
presentacin en 1965. El PDP-8 de la Digital Equipment Corporation fue el primer
miniordenador.

10

Programacin
Caractersticas de est generacin:
Se desarrollaron circuitos integrados para procesar informacin.
Se desarrollaron los "chips" para almacenar y procesar la informacin. Un
"chip" es una pieza de silicio que contiene los componentes electrnicos en
miniatura llamados semiconductores.
Los circuitos integrados recuerdan los datos, ya que almacenan la
informacin como cargas elctricas.
Surge la multiprogramacin.
Las computadoras pueden llevar a cabo ambas tareas de procesamiento o
anlisis matemticos.
Emerge la industria del "software".
Se desarrollan las minicomputadoras IBM 360 y DEC PDP-1.
Otra vez las computadoras se tornan ms pequeas, ms ligeras y ms
eficientes.
Consuman menos electricidad, por lo tanto, generaban menos calor.

La IBM 360 una de las primeras computadoras comerciales que us circuitos


integrados, poda realizar tanto anlisis numricos como administracin
procesamiento de archivos.
IBM marca el inicio de esta generacin, cuando el 7 de abril de 1964 presenta la
impresionante IBM 360, con su tecnologa SLT (Solid Logic Technology). Esta
mquina caus tal impacto en el mundo de la computacin que se fabricaron ms
de 30000, al grado que IBM lleg a conocerse como sinnimo de computacin.
Tambin en ese ao, Control Data Corporation presenta la supercomputadora
CDC 6600, que se consider como la ms poderosa de las computadoras de la
poca, ya que tena la capacidad de ejecutar unos 3 000 000 de instrucciones por
segundo (mips).

11

Programacin
Se empiezan a utilizar los medios magnticos de almacenamiento, como cintas
magnticas de 9 canales, enormes discos rgidos, etc.

Algunos sistemas todava usan las tarjetas perforadas para la entrada de datos,
pero las lectoras de tarjetas ya alcanzan velocidades respetables.
Los clientes podan escalar sus sistemas 360 a modelos IBM de mayor tamao y
podan todava correr sus programas actuales. Las computadoras trabajaban a tal
velocidad que proporcionaban la capacidad de correr ms de un programa de
manera simultnea (multiprogramacin).
Por ejemplo la computadora poda estar calculando la nomina y aceptando
pedidos al mismo tiempo. Minicomputadoras, Con la introduccin 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 pequeas. Mucho menos costosas de comprar y de operar
que las computadoras grandes, las minicomputadoras se desarrollaron durante la
segunda generacin pero alcanzaron sumador auge entre 1960 y 70.

1971-1983
Cuarta Generacin:
12

Programacin

Dos mejoras en la tecnologa de las computadoras marcan el inicio de la cuarta


generacin: el reemplazo de las memorias con ncleos magnticos, por las de
chips de silicio y la colocacin de muchos ms componentes en un Chip: producto
de la microminiaturizacin de los circuitos electrnicos. El tamao reducido del
microprocesador y de chips hizo posible la creacin de las computadoras
personales (PC)
En 1971, intel Corporation, que era una
pequea
compaa
fabricante
de
semiconductores ubicada en Silicon Valley,
presenta el primer microprocesador o Chip
de 4 bits, que en un espacio de
aproximadamente 4 x 5 mm contena 2250
transistores. Este primer microprocesador
que se muestra en la figura 1.14, fue
bautizado como el 4004.
Actualmente ha surgido una enorme cantidad de fabricantes de
microcomputadoras o computadoras personales, que utilizando diferentes
estructuras o arquitecturas se pelean literalmente por el mercado de la
computacin, el cual ha llegado a crecer tanto que es uno de los ms grandes a
nivel mundial; sobre todo, a partir de 1990, cuando se logran sorprendentes
avances en Internet.

13

Programacin
Esta generacin de computadoras se caracteriz por grandes avances
tecnolgicos realizados en un tiempo muy corto. En 1977 aparecen las primeras
microcomputadoras, entre las cuales, las ms famosas fueron las fabricadas por
Apple Computer, Radio Shack y Commodore Busness Machines. IBM se integra
al mercado de las microcomputadoras con su Personal Computer (figura 1.15), de
donde les ha quedado como sinnimo el nombre de PC, y lo ms importante; se
incluye un sistema operativo estandarizado, el MS- DOS (MicroSoft Disk Operating
System).
Las principales tecnologas que dominan este mercado son:
IBM y sus compatibles llamadas clones, fabricadas por infinidad de compaas con
base en los procesadores 8088, 8086, 80286, 80386, 80486, 80586 o Pentium,
Pentium II, Pentium III y Celeron de Intel y en segundo trmino Apple Computer,
con sus Macintosh y las Power Macintosh, que tienen gran capacidad de
generacin de grficos y sonidos gracias a sus poderosos procesadores Motorola
serie 68000 y PowerPC, respectivamente. Este ltimo microprocesador ha sido
fabricado utilizando la tecnologa RISC (Reduced Instruc tion Set Computing), por
Apple Computer Inc., Motorola Inc. e IBM Corporation, conjuntamente.
Los sistemas operativos han alcanzado un notable desarrollo, sobre todo por la
posibilidad de generar grficos a gran des velocidades, lo cual permite utilizar las
interfaces grficas de usuario (Graphic User Interface, GUI), que son pantallas con
ventanas, iconos (figuras) y mens desplegables que facilitan las tareas de
comunicacin entre el usuario y la computadora, tales como la seleccin de
comandos del sistema operativo para realizar operaciones de copiado o formato
con una simple pulsacin de cualquier botn del ratn (mouse) sobre uno de los
iconos o mens.

Caractersticas de est generacin:


Se desarroll el microprocesador.

14

Programacin
Se colocan ms circuitos dentro de un "chip".
"LSI - Large Scale Integration circuit".
"VLSI - Very Large Scale Integration circuit".
Cada "chip" puede hacer diferentes tareas.
Un "chip" sencillo actualmente contiene la unidad de control y la unidad de
aritmtica/lgica. El tercer componente, la memoria primaria, es operado
por otros "chips".
Se reemplaza la memoria de anillos magnticos por la memoria de "chips"
de silicio.
Se desarrollan las microcomputadoras, o sea, computadoras personales o
PC.
Se desarrollan las supercomputadoras.

1984-1999
Quinta Generacin:

15

Programacin

Surge la competencia internacional por el dominio del mercado de la computacin,


en la que se perfilan dos lderes que, sin embargo, no han podido alcanzar el nivel
que se desea: la capacidad de comunicarse con la computadora en un lenguaje
ms cotidiano y no a travs de cdigos o lenguajes de control especializados.
Japn lanz en 1983 el llamado "programa de la quinta generacin de
computadoras", con los objetivos explcitos de producir mquinas con
innovaciones reales en los criterios mencionados. Y en los Estados Unidos ya est
en actividad un programa en desarrollo que persigue objetivos semejantes, que
pueden resumirse de la siguiente manera:
Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.
Se desarrollan las supercomputadoras.

2000-2015
ltima generacin
Esta ltima generacin trajo muchos cambios en los diferentes sistemas
operativos que hacen que las computadoras funcionen con normalidad y mayor

16

Programacin
estabilidad, adems de ver nuevos computadores de grandes empresas como
Apple y Samsung, tambin se han creado tablets y consolas de videojuegos
derivados de las computadoras como la Xbox y la PlayStation.

Evolucin de los dispositivos de


almacenamiento
17

Programacin

Los sistemas informticos pueden almacenar los datos tanto interna (en la
memoria) como externamente (en los dispositivos de almacenamiento).
Internamente, las instrucciones o datos pueden almacenarse por un tiempo en los
chips de silicio de la RAM (memoria de acceso aleatorio) montados directamente
en la placa de circuitos principal de la computadora, o bien en chips montados en
tarjetas perifricas conectadas a la placa de circuitos principal del ordenador.
Estos chips de RAM constan de conmutadores sensibles a los cambios de la
corriente elctrica, esto quiere decir que los datos son almacenados por tiempo
limitado (hasta que dejamos de suministrar energa elctrica) por esta razn
aparecen los dispositivos de almacenamiento secundarios o auxiliares, los cuales
son capaces de conservar la informacin de manera permanente, mientras su
estado fsico sea ptimo. Los dispositivos de almacenamiento externo pueden
residir dentro del CPU y estn fuera de la placa de circuito principal.

Clasificacin de los Dispositivos de Almacenamiento.


Los Dispositivos de Almacenamiento se pueden clasificar de acuerdo al modo de
acceso a los datos que contienen:
Acceso secuencial: En el acceso secuencial, el elemento de lectura del
dispositivo debe pasar por el espacio ocupado por la totalidad de los datos
almacenados previamente al espacio ocupado fsicamente por los datos
almacenados que componen el conjunto de informacin a la que se desea
acceder.
Acceso aleatorio: En el modo de acceso aleatorio, el elemento de lectura
accede directamente a la direccin donde se encuentra almacenada fsicamente la
informacin que se desea localizar sin tener que pasar previamente por la
almacenada entre el principio de la superficie de grabacin y el punto donde se
almacena la informacin buscada.

Tipos de Dispositivos de Almacenamiento


Memoria ROM: Esta memoria es slo de lectura, y sirve para almacenar el
18

Programacin
programa bsico de iniciacin, instalado desde fbrica. Este programa entra en
funcin en cuanto es encendida la computadora y su primer funcin es la de
reconocer los dispositivos, (incluyendo memoria de trabajo), dispositivos.

Memoria RAM: Esta es la denominada memoria de acceso aleatorio o sea,


como puede leerse tambin puede escribirse en ella, tiene la caracterstica
de ser voltil, esto es, que slo opera mientras est encendida la
computadora. En ella son almacenadas tanto las instrucciones que necesita
ejecutar el microprocesador como los datos que introducimos y deseamos
procesar, as como los resultados obtenidos de esto.

Memorias Auxiliares: Por las caractersticas propias del uso de la memoria


ROM y el manejo de la RAM, existen varios medios de almacenamiento de
informacin, entre los ms comunes se encuentran: El disco duro, El
Disquete o Disco Flexible, etc...

Medidas de Almacenamiento de la Informacin


Byte: unidad de informacin que consta de 8 bits; en procesamiento informtico y
almacenamiento, el equivalente a un nico carcter, como puede ser una letra, un
nmero o un signo de puntuacin.
Kilobyte (Kb): Equivale a 1.024 bytes.
Megabyte (Mb): Un milln de bytes o 1.048.576 bytes.
Gigabyte (Gb): Equivale a mil millones de bytes.
Tarjetas perforadas: Este dispositivo de almacenamiento se utilizaba en la
dcada de los 50 y poda almacenar hasta 960 b. Las perforaciones de las tarjetas
representaban los ceros (0) y los espacios no perforados, los unos (1).

El almacenamiento de un solo archivo MP3 de 2 minutos hubiera obligado a


utilizar ms de 40 000 tarjetas.

19

Programacin

Cinta magntica: En cuanto al tamao, poda tener una longitud de entre 2.400 y
4.800 pies. Una bobina poda almacenar alrededor de 5-10 MB.

Una bobina de cinta magntica equivala a 10.000 tarjetas perforadas.

Disquetes de 5,25: Este sistema de almacenamiento surgi por la demanda


existente de un dispositivo de almacenamiento porttil para los PC domsticos.
Uno de estos discos poda almacenar hasta 1,2 MB.

20

Programacin

Disquetes de 3,5: los discos de 3,5 alcanzaron gran popularidad por su


combinacin de carcter porttil y durabilidad. Tambin podan contener 1,44 MB.

21

Programacin

Discos ZIP: Uno solo de estos discos puede almacenar entre 100 y 750 MB. Se
convirtieron en el dispositivo de almacenamiento preferido a finales de la dcada
de los 90.

CD: Los CD aparecieron en la dcada de los 90. Su capacidad de


almacenamiento es 450 veces superior a la de un disquete.

22

Programacin
DVD: 4,7 GB de un DVD. La primera rfaga de ventas de DVD apareci para
formato vdeo, para sustituir a los clsicos VHS. Las ventajas de los DVD eran
claras, a ms capacidad, mejor calidad se puede almacenar. Y mejor se conservan
los datos, ya que las cintas magnticas de los videocasetes eran fcilmente des
gastables. Un DVD es mucho ms duradero, su calidad de imagen es mejor y
tambin la calidad de sonido. Las pelculas en DVD comenzaron a popularizarse a
finales de los aos 90.

Unidades Flash: Estos dispositivos aparecen en los inicios del nuevo milenio y
pueden almacenar entre 8 MB y 256 GB. Supusieron un paso de gigante en el
avance de la tecnologa de almacenamiento de usuario final.

Discos duros porttiles: Un disco duro porttil puede almacenar entre 25 GB y 4


TB y son tiles para hacer backups de archivos de gran tamao, como los de
contenido de vdeo.

23

Programacin

Almacenamiento en cloud: Las opciones de almacenamiento actuales son


prcticamente ilimitadas gracias al almacenamiento en cloud, disponible desde
cualquier dispositivo con conexin a Internet.

EVOLUCION DE DISPOSITIVOS DE ENTRADA Y SALIDA


Los dispositivos de entrada son aquellos elementos de hardware que nos permiten
el ingreso de datos a la computadora, los mismos que luego de ser procesados
sern presentados al usuarios a travs de los dispositivos de salida, de los

24

Programacin
primeros podemos mencionar, el teclado, el mouse, etc. y de los segundos entre
los ms conocidos podemos anotar la impresora, el monitor, etc.
EL TECLADO DE ORDENADOR - HISTORIA Y EVOLUCIN
El teclado, es quizs el componente menos valorado y tenido en cuenta en el
ordenador que utilizamos a diario. Damos por hecho que es una pieza integrada
en nuestro PC, y no le damos importancia hasta que se estropea. Es bastante
curioso teniendo en cuenta que es la parte del ordenador que ms utilizamos y
tocamos.
Originalmente, el teclado estndar no se desarroll a partir de una sola fuente. Se
cre por medio de tres proyectos diferentes generados por IMB, y hubo ms de un
problema a lo largo de su camino.
En algn punto, en donde el mercado forz a IBM la actualizacin del
ordenador AT, introdujo el modelo mejorado de teclado, el cual hemos comentado
al principio, y que era compatible con el modelo AT original, pero con un diseo
muy distinto. La tecla Esc y las 12 teclas de funcin estaban ahora en la parte
superior, los nmeros se movieron a la parte derecha. Los cursores cambiaron,
convirtindose en lo que conocemos hoy en da. Cuatro teclas con flechas en la
parte inferior al lado de los nmeros, y encima, un grupo de 6 teclas, para paginar
arriba y abajo, suprimir, inicio, insertar y finalizar.
Como curiosidad, comentaremos que la tecla suprimir dio algunos problemas a los
usuarios de la poca ya que muchos la presionaban para finalizar un trabajo,
cuando en realidad lo estaban borrando. Hay que tener en cuenta que en los
antiguos ordenadores no haba demasiada memoria, por lo que algunos trabajos
eran irrecuperables. Afortunadamente, hoy en la mayora de casos, se pueden
salvar esos datos perdidos.
Algunos cambio ms se han ido produciendo dejando el teclado tal como lo
conocemos hoy en da. Hay incluso teclas que realmente no sabemos para qu
son. Somos seres de costumbres y normalmente nos habituamos a tocar ciertas
teclas que nos sirven para nuestras tareas y con eso es suficiente.

EVOLUCION DEL MOUSE.


Hoy, el mouse est cada da ms cercano a dejar de ser un roedor propiamente
tal, de la mano de las tecnologas inalmbricas que estn dejndolo sin cola, pero

25

Programacin
no por eso vamos a dejar de celebrar su cumpleaos nmero 40 (les apuesto que
todos pensaban que tena mucho menos tiempo) mostrndoles parte de un
reportaje que prepar el blog de la Wired (slo una parte, para que vayan a leerlo
completo all) con un breve recorrido por su evolucin y futuro.
El primer dispositivo sealador que el mundo conoci fue el que present Douglas
Engelbart el 9 de Diciembre de 1968, en una demostracin pblica de lo que poda
ser un computador personal (a diferencia de esos salones llenos de tubos que
componan una computadora profesional de la poca) y que es el hecho que
histricamente dio el puntapi inicial a la revolucin de la computacin
Este proto mouse era un bloque de madera tallado, con solamente un botn y
debajo tena dos ruedas sobre ejes que tenan la funcin de mover un par de
potencimetros que eran los que en rigor daban la posicin del puntero.
Como en ese tiempo todo se trataba de experimentar, no slo se probaron
prototipos de dispositivo sealador operados con la mano. Tambin se trabaj
en un aparato que nos permita controlar el puntero con la rodilla.
El aparato naturalmente se ubicaba debajo de la mesa y estaba inspirado en el
hecho de que las piernas podan ser utilizadas con bastante precisin para
manejar los pedales de un automvil. Segn Engelbert, el dispositivo poda ser
an ms preciso que un mouse operado con la mano. Por suerte no logr
imponerse por sobre ste, El paso que permiti que el mouse se
posicionara definitivamente como el dispositivo sealador preferido fue su
incorporacin en el primer Mac, el Macintosh 128K all por 1984, que tena la
gracia de tener un sistema operativo con una interface grfica (mucho antes de
Windows) donde el puntero se controlaba con el mouse.
Para cerrar este pequeo recorrido por los diferentes tipos de dispositivos
sealadores inventados a lo largo de la historia, incluyo lo que muchos dicen
sern los mice del futuro: dispositivos que leen las ondas cerebrales (si, que
miedo) para de esa manera controlar el cursor / interface del sistema operativo. Yo
francamente no s cmo vayan a evolucionar los ratones, ya que
personalmente soy tan descoordinado que si trato de usar el teclado y
controlar un cursor con la mente probablemente termine mordindome la
lengua. Quizs a otros les vaya mejor. Lo nico que s es que por ahora lo que
ms me acomoda son los mouse tradicionales (he tenido la desgracia de manejar
mouses tridimensionales en varias ferias electrnicas y son LO incmodo, los
fabricantes no tienen en cuenta lo cansador que es tener los brazos en alto), claro
que pticos (nada de bolitas llenas de mugre y migas de la mesa) e inalmbricos
(Bluetooth, por supuesto; nada ms absurdo que tener que enchufarle un
apndice a algn puerto USB del notebook para tener mouse).

26

Programacin

EVOLUCION DEL
SCANNER.
Un escner
de
computadora es
un perifrico que se utiliza
para
convertir, mediante el uso de la luz, imgenes
impresas o documentos a formato digital.
Los escneres pueden tener accesorios como un alimentador de hojas automtico
o un adaptador para diapositivas y transparencias.
Tipos de escner
Hay varios tipos. Hoy en da los ms extendidos son los planos.

De rodillo. Como el escner de un fax

"de barras".- Se usan para registrar cdigo de barras

De mano. En su momento muy econmicos, pero de muy baja calidad.


Prcticamente extintos.

Planos. Como el de las fotocopiadoras.

Cenitales. Para escanear elementos frgiles.


De tambor. Consiguen muy buena calidad de escaneo, pero son lentos y caros.
Otros tipos. Existen tipos de escneres especializados en un trabajo determinado
(por ejemplo para escanear microfilms, o para obtener el texto de un libro
completo, para negativos...).
Escner plano
Tambin llamados escneres de sobremesa, estn formados por una superficie
plana de vidrio sobre la que se sita el documento a escanear, generalmente
opaco, bajo la cual un brazo se desplaza a lo largo del rea de captura. Montados
en este brazo mvil se encuentran la fuente de luz y el foto sensor de luz (por lo
general un CCD).
Conforme va desplazndose el brazo, la fuente de luz baa la cara interna del
documento, recogiendo el sensor los rayos reflejados, que son enviados al

27

Programacin
software de conversin analgico/digital para su transformacin en una imagen de
mapa de bits, creada mediante la informacin de color recogida para cada pxel.
Estn indicados para digitalizar objetos opacos planos (como fotografas,
documentos o ilustraciones) cuando no se precisa ni una alta resolucin ni una
gran calidad.
Algunos modelos admiten tambin adaptadores especiales para escanear
transparencias, y otros poseen manipuladores de documento automticos
(Automatic Document Handler) que pueden aumentar el rendimiento y disminuir la
fatiga del operador en el caso de grupos de documentos uniformes que se
encuentran en condiciones razonablemente buenas.
Los escneres planos son los ms accesibles y usados, pues son veloces, fciles
de manejar, producen imgenes digitalizadas de calidad aceptable (sobre todo si
estn destinadas a la web) y son bastante baratos, pudindose adquirir uno de
calidad media por menos de 120 .
La mayor desventaja de estos escneres es la limitacin respecto al tamao del
documento a escanear, que queda limitado a los formatos DIN-A5 o DIN-A4.

Escner cenital
Un escner cenital (en ingls planetary scanner u orbital scanner) es un tipo de
escner que se utiliza para hacer copias digitales de libros o documentos que, por
ser viejos o extremadamente valiosos, para que no se deterioren escanendolos
con otro tipo de escner.
Estos escneres consisten en una cmara montada en un brazo que toma fotos
del elemento deseado. Su ventaja principal es que los libros no tienen que ser
abiertos completamente (como pasa en la mayora de los escneres planos). El

28

Programacin
escaneo de volmenes encuadernados se realiza gracias a que la fuente de luz y
el sensor CCD se encuentran ensamblados a un brazo de trayectoria area.
En sus inicios el precio de estos escneres era elevado y slo se utilizaban en
museos y archivos, pero en las actualidades la disponibilidad de cmaras digitales
buenas y baratas han hecho que estos escneres no resulten tan privativos.

Escner de tambor
Los escneres de tambor son los que ms fielmente reproducen el documento
original, ya que producen digitalizaciones de gran calidad y resolucin (hasta
16.000 ppp de resolucin ptica). Sus problemas son la velocidad de escaneo
(son lentos), no son indicados para documentos de papel quebradizo porque es
necesario curvarlo sobre el tambor y requieren un alto nivel de habilidad por parte
del operador. Adems, son bastante caros.
Utilizan una tecnologa diferente a la del CCD. Los originales, normalmente
transparencias (aunque se pueden escanear opacos tambin), se colocan en un
cilindro transparente de cristal de gran pureza, que a su vez se monta en el
escner. El tambor gira entonces a gran velocidad mientras se hace la lectura de
cada punto de la imagen. La fuente de luz suele ser un lser que se encuentra
dentro del tambor (para transparencias) o fuera (para opacos), y el sensor es un
tubo fotomultiplicador (PMT) que recibe la luz de un nico punto de la imagen en
cada instante.
Producen digitalizaciones de alta resolucin y buena gama dinmica entre bajas y
altas luces, con imgenes en colores primarios, que pueden ser convertidas en
CMYK mientras el lector recorre la imagen.
Son muy caros, oscilando su precio, segn modelos, entre 15.000 y 200.000 ,
por lo que suelen ser usados exclusivamente por empresas especializadas del
sector de las artes grficas (laboratorios, imprentas, editoriales, etc.).

Escner para microfilm

29

Programacin
Los escneres para microfilm son dispositivos especializados en digitalizar
pelculas en rollo, microfichas y tarjetas de apertura.
Puede ser difcil obtener una calidad buena y consistente en un escner de este
tipo, debido principalmente a que los suelen tener un funcionamiento complejo, la
calidad y condicin de la pelcula puede variar y ofrecen una capacidad de mejora
mnima. Son escneres muy caros, existiendo pocas empresas que los fabriquen.

Escner para

transparencias
Los escneres para transparencias se utilizan para digitalizar diapositivas,
negativos fotogrficos y documentos que no son adecuados para el escaneado
directo. Pueden trabajar con varios formatos de pelcula transparente, ya sea
negativa, positiva, color o blanco y negro, de tamao desde 35 mm hasta placas
de 9 x 12 cm.
Existen dos modalidades de este tipo de escneres:
Escneres de 35 mm. Solo escanean negativos y transparencias, pero lo hacen a
resoluciones muy altas.
Escneres multiformato. Suelen capturar transparencias y negativos hasta formato
medio o hasta formato de placas 4x 5 o incluso 5x 7, tienen una resolucin muy
alta y un rango dinmico en ocasiones sorprendente, pero frecuentemente no
permiten escanear opacos. El uso de medios transparentes por lo general produce
imgenes con un buen rango dinmico, pero, dependiendo del tamao del original,
la resolucin puede ser insuficiente para algunas necesidades.
La calidad obtenida es mayor que la que ofrecen los escneres planos, aunque
hay que tener cuidado con la presencia de motas de polvo o rascaduras en las
transparencias, que pueden ocasionar la aparicin de impurezas en la imagen
digitalizada resultante.

Estos escner son dispositivos


manuales que son arrastrados sobre
la superficie de la imagen a
30

Programacin
escanear. Escanear documentos de esta manera requiere una mano firme,
entonces una desigual velocidad de exploracin produce imgenes distorsionadas,
normalmente un indicador luminoso sobre el escner indica si la exploracin fue
demasiado rpida. Generalmente tienen un botn "Inicio", el cual es sostenido por
el usuario durante la exploracin; algunos interruptores para configurar la
resolucin ptica y un rodillo, lo que genera un reloj de pulso para sincronizacin
con la computadora. La mayora de escneres de mano fueron en blanco y negro,
y la luz generada por una serie de LEDs verdes para iluminar la imagen. Un tpico
escner de mano tambin tena un programa que abra una pequea ventana a
travs de la cual se poda ver el documento que se escaneaba. Fueron populares
durante la dcada de 1990 y, por lo general tenan un mdulo de interfaz
propietario especfico para un determinado tipo de computadora, generalmente
un Atari ST o Commodore Amiga.

HISTORIA DEL LPIZ PTICO


Es una unidad de ingreso de informacin que funciona acoplada a una pantalla
fotosensible.
Es un dispositivo exteriormente semejante a un lpiz, con un mecanismo de
resorte en la punta o en un botn lateral, mediante el cual se puede seleccionar
informacin visualizada en la pantalla. Cuando se dispone de informacin
desplegada, con el lpiz ptico se puede escoger una opcin entre las diferentes
alternativas, presionndolo sobre la ventana respectiva o presionando el botn
lateral, permitiendo de ese modo que se proyecte un rayo lser desde el lpiz
hacia la pantalla fotosensible.
Es un dispositivo sealador que permite sostener sobre la pantalla un lpiz que
est conectado al ordenador o computadora y con el que es posible seleccionar
elementos u opciones (el equivalente a un clic de mouse o ratn), bien
presionando un botn en un lateral del lpiz ptico o presionando ste contra la
superficie de la pantalla. El lpiz contiene sensores luminosos y enva una seal a
la computadora cada vez que registra una luz, por ejemplo al tocar la pantalla
cuando los pxeles no negros que se encuentran bajo la punta del lpiz son
refrescados por el haz de electrones de la pantalla. La pantalla de la computadora
no se ilumina en su totalidad al mismo tiempo, sino que el haz de electrones que
ilumina los pxeles los recorre lnea por lnea, todas en un espacio de 1/50 de
segundo. Detectando el momento en que el haz de electrones pasa bajo la punta
del lpiz ptico, el ordenador puede determinar la posicin del lpiz en la pantalla.
El lpiz ptico no requiere una pantalla ni un recubrimiento especiales como puede
ser el caso de una pantalla tctil, pero tiene la desventaja de que sostener el lpiz
contra la pantalla durante periodos largos de tiempo llega a cansar al usuario.

31

Programacin

EVOLUCION HISTORICA DEL MICROFONO.


En 1827, Wheastone utiliza por primera vez la palabra micrfono para describir
un dispositivo acstico diseado para amplificar sonidos dbiles. Procede de los
vocablos griegos micro(pequeo) y phon(sonido).
En 1876, Alexander Graham Bell registra una patente del telgrafo hablado(el
primer telfono). Por primera vez incluye el micro funcional que usa un
electroimn.
En 1877, aparece el micrfono de contacto suelto o carbn, un diseo no
magntico basado en partculas conductoras de carbn como las que tienen los
telfonos.
En 1878, es diseado el primer micro de bobina mvil.
En 1917, presentan el primer micro de condensador prctico y moderno.
En 1931, Western Electric presenta el primer micro dinmico: el modelo 600, serie
618.
En 1931, la marca RCA presenta el primer micrfono de cinta bidireccional: 44 de
imn permanente.
En 1947, se funda AKG en Viena.
En 1948, Neumann lanza el micro a vlvulas U47, el primer micro de condensador
con patrn conmutable entre cardioide y omnidireccional. Acab convirtindose en
todo un clsico para grabar voces desde que se supo que Frank Sinatra se
negaba a cantar sin su U47.
En 1962, Hideo Matsushita establece la empresa Audio-Technica Corporation en
Tokio. La compaa lanza los modelos AT-1 y AT-3MM de cpsulas estereofnicas
y empieza a suministrar cpsulas a fabricantes de audio. Posteriormente, en 1978,
Audio-Technica lanza los auriculares de condensador ATH-8 y ATH-7. Estos
auriculares ganaron diversos premios.
Este ao tambin se produjo el desarrollo y lanzamiento de la Serie 800 de
micrfonos, y la creacin de Audio-Technica Ltd. en Leeds, Inglaterra.
32

Programacin
En 1991, sale al mercado el micrfono de condensador AT4033, elegido mejor
micrfono en el AES(Audio Engineering Society) y en 1994, presenta el micrfono
de condensador de multipatrn AT4050/CM5.
En 1995, la planta de fabricacin de micrfonos, auriculares, sistemas
inalmbricos y mezcladores de micrfono consigue la certificacin ISO9002.
En 1996, los micrfonos y auriculares Audio-Technica son utilizados en todos los
recintos de los Juegos Olmpicos de Atlanta.
En 1998, Audio-Technica presenta el AT4060 un micro de condensador a vlvulas
de estudio; y el excelente resultado de los productos Audio-Technica en Atlanta
96, hacen que en el ao 2000 sea designada tambin como proveedor de en los
juegos de Sydney00.
En 2002, Audio-Technica celebra su 40 aniversario. Y es designada, para
proporcionar aproximadamente 2.800 micrfonos para los Juegos de SALT Lake
City, marcando as su primera participacin en unos Juegos Olmpicos de Invierno.
A pesar de las severas condiciones climticas, los micros A-T respondieron
perfectamente.
Desde sus inicios como fabricante de cpsulas estereofnicas hace 40 aos,
Audio-Technica ha permanecido en la vanguardia y ha desarrollado numerosas
tecnologas que se han convertido en estndares de la industria.

DISPOSITIVOS DE SALIDA
HISTORIA DE LOS MONITORES
El monitor es el principal perifrico de salida de una computadora. Estos se
conectan a travs de una tarjeta grfica conocida con el nombre de adaptador o
tarjeta de vdeo.
La imagen que podemos observar en los monitores est formada por una matriz
de puntos de luz. Cada punto de luz reflejado en la pantalla es denominado como
un pxel.
Clasificacin segn estndares de monitores
33

Programacin
Segn los estndares de monitores se pueden clasificar en varias categoras.
Todos han ido evolucionando con el objetivo de ofrecer mayores prestaciones,
definiciones y mejorar la calidad de las imgenes.
Monitores MDA:
Los monitores MDA por sus siglas en ingls Monochrome Display Adapter
surgieron en el ao 1981. Junto con la tarjeta CGA de IBM. LosMDA conocidos
popularmente por los monitores monocromticos solo ofrecan textos, no
incorporaban modos grficos.
Este tipo de monitores se caracterizaban por tener un nico color principalmente
verde. El mismo creaba irritacin en los ojos de sus usuarios.
Caractersticas:
Sin modo grfico.
Resolucin 720_350 pxeles.
Soporte de texto monocromtico.
No soporta grfico ni colores.
La tarjeta grfica cuenta con una memoria de vdeo de 4 KB.
Soporta subrayado, negrita, cursiva, normal, invisibilidad para textos.

Monitor

CGA:
Los monitores CGA por sus siglas en ingls Color Graphics Adapter o
Adaptador de Grficos en Color en espaol. Este tipo de monitores fueron
comercializados a partir del ao 1981, cuando se desarrollo la primera tarjeta
grfica conjuntamente con un estndar de IBM.
A pesar del lanzamiento de este nuevo monitor los compradores de PC seguan
optando por los monitores MDA, ambos fueron lanzados al mercado en el mismo
ao existiendo competencia entre ellos. CGA fue el primero en contener sistema
grfico a color.

34

Programacin
Caractersticas:

Resoluciones 160_200, 320200, 640200 pxeles.

Soporte de grfico a color.

Diseado principalmente para juegos de computadoras.

La tarjeta grfica contena 16 KB de memoria de vdeo.

Monitor

EGA:
Por sus siglas en ingls Enhanced Graphics Adapter, es un estndar
desarrollado IBM para la visualizacin de grficos, creado en 1984. Este nuevo
monitor incorporaba una mayor amplitud de colores y resolucin.
EGA incorporaba mejoras con respecto al anterior CGA. Aos despus tambin
sera sustituido por un monitor de mayores caractersticas.
Caractersticas:

Resolucin de 640_350 pxeles.

Soporte para 16 colores.

La tarjeta grfica EGA estndar traan 64 KB de memoria de vdeo.

35

Programacin
Monitor VGA:
Los monitores VGA por sus siglas en ingls Video Graphics Array, fue
lanzado en 1987 por IBM. A partir del lanzamiento de los monitores VGA, los
monitores anteriores empezaban a quedar obsoletos. El VGA incorporaba modo
256 con altas resoluciones.

Por el desarrollo alcanzado hasta la fecha, incluidas en las tarjetas grficas,


los monitores anteriores no son compatibles a los VGA, estos incorporan seales
analgicas.

Caractersticas:

Soporte de 720400 pxeles en modo texto.

Soporte de 640480 pxeles en modo grfico con 16 colores.

Soporte de 320200 pxeles en modo grfico con 256 colores.

Las tarjetas grficas VGA estndares incorporaban 256 KB de memoria de

vdeo.

Monitor
SVGA:
SVGA denominado por sus siglas en ingls Super Video Graphics Array, tambin
conocidos por Sper VGA. Estos tipos de monitores y estndares fueron
desarrollados para eliminar incompatibilidades y crear nuevas mejoras de su
antecesor VGA.
SVGA fue lanzado en 1989, diseado para brindar mayores resoluciones que el
VGA. Este estndar cuenta con varias versiones, los cuales soportan diferentes
resoluciones.
Caractersticas:

Resolucin de 800600, 1024_768 pxeles y superiores.


36

Programacin
Para este nuevo monitor se desarrollaron diferentes modelos de tarjetas
grficas como: ATI, GeForce, NVIDIA, entre otros.

Clasificacin segn tecnologa de monitores


En cuanto al tipo de tecnologa los monitores se pueden clasificar en varios
aspectos. Estas evoluciones de la tecnologa han sido llevadas a cabo en parte
por el ahorro de
energa, tamao y
por brindar un
nuevo producto en
el mercado.

Monitores
CRT:
Est basado en un Tubo de Rayos Catdicos, en ingls Cathode Ray Tube. Es el
ms conocido, fue desarrollado en 1987 por Karl Ferdinand Braun.
Utilizado principalmente en televisores, ordenadores, entre otros. Para lograr la
calidad que hoy cuentan, estos pasaron por diferentes modificaciones y que en la
actualidad tambin se realizan.
Funcionamiento:
Dibuja una imagen barriendo una seal elctrica horizontalmente a lo largo de la
pantalla, una lnea por vez. La amplitud de dicha seal en el tiempo representa el
brillo instantneo en ese punto de la pantalla.
Una amplitud nula, indica que el punto de la pantalla que se marca en ese instante
no tendr representando un pxel negro. Una amplitud mxima determina que ese
punto tendr el mximo brillo.
Ventajas:

Excelente calidad de imagen (definicin, contraste, luminosidad).

Econmico.

Tecnologa robusta.

Resolucin de alta calidad.

Desventajas:

37

Programacin

Presenta parpadeo por el refrescado de imagen.

Consumo de energa.

Generacin de calor.

Generacin de radiaciones elctricas y magnticas.

Alto peso y tamao.

Pantallas
LCD:
A este tipo de tecnologa se le conoce por el nombre de pantalla o display LCD,
sus siglas en ingls significan Liquid Crystal Display o Pantalla de Cristal
Lquido en espaol. Este dispositivo fue inventado por Jack Janning.
Estas pantallas son incluidas en los ordenadores porttiles, cmaras fotogrficas,
entre otros.
Funcionamiento:
El funcionamiento de estas pantallas se fundamenta en sustancias que comparten
las propiedades de slidos y lquidos a la vez. Cuando un rayo de luz atraviesa
una partcula de estas sustancias tiene necesariamente que seguir el espacio
vaco que hay entre sus molculas como lo hara atravesar un cristal slido pero a
cada una de estas partculas se le puede aplicar una corriente elctrica que
cambie su polarizacin dejando pasar la luz o no. Una pantalla LCD est formada
por 2 filtros polarizados colocados perpendicularmente de manera que al aplicar
una corriente elctrica deja pasar o no la luz. Para conseguir el color es necesario
aplicar tres filtros ms para cada uno de los colores bsicos rojo, verde y azul.
Para la reproduccin de varias tonalidades de color se deben aplicar diferentes
niveles de brillo intermedios entre luz y no luz lo cual se consigue con variaciones
en el voltaje que se aplica a los filtros.
Ventajas:
Poco peso y tamao.

38

Programacin
Buena calidad de colores.
No contiene parpadeo.
Poco consume de energa.
Poca generacin de calor.
No genera radiaciones elctricas y magnticas.
Desventajas:
Alto costo.
Angulo limitado de visibilidad.
Brillo limitado.
Bajo tiempo de respuesta de pxeles.
Contiene mercurio.

Pantallas Plasma:
La pantalla de plasma fue desarrollada en la Universidad de Illinois por Donald L.
Bitzer y H. Gene Slottow.
Originalmente los paneles eran monocromticos. En 1995 Larry Weber logr crear
la pantalla de plasma de color. Este tipo de pantalla entre sus principales ventajas
se encuentran una la mayor resolucin y ngulo de visibilidad.
Funcionamiento:
El principio de funcionamiento de una pantalla de plasma consiste en iluminar
pequeas luces fluorescentes de colores para conformar una imagen. Las
pantallas de plasma funcionan como las lmparas fluorescentes, en que cada
pxel es semejante a un pequeo foco coloreado.
Cada uno de los pxeles que integran la pantalla est formado por una pequea
celda estanca que contiene un gas inerte (generalmente nen o xenn). Al aplicar
una diferencia de potencial entre los electrodos de la celda, dicho gas pasa al
estado de plasma.

39

Programacin
El gas as cargado emite radiacin ultravioleta (UV) que golpea y excita el material
fosforescente que recubre el interior de la celda. Cuando el material fosforescente
regresa a su estado energtico natural, emite luz visible.
Ventajas:

Excelente brillo.

Alta resolucin.

Amplio ngulo de visin.

No contiene mercurio.

Tamao de pantalla elevado.

Desventajas:

Vida til corta.

Coste de fabricacin elevado, superior a los LCD.

Consumo de electricidad elevado.

Poca pureza del color.

Consumo energtico y emisin de calor elevada.

HISTORIA DE LAS IMPRESORAS. ORIGEN Y EVOLUCIN


Una impresora sirve para transcribir un documento desde la PC a un medio fsico
como el papel, por medio del uso de cintas, cartuchos de tinta o con tecnologa
lser. La historia de la impresora se puede remontar junto con la creacin de la
primera computadora, la mquina analtica de Charles Babbage, a pesar de que el
inventor nunca logr construir su PC, s termin los planos en los que se inclua el
mecanismo de impresin. En 1950 llega la primera impresora elctrica para
computadoras, sin embargo solo era capaz de imprimir textos. Siete aos ms
tarde se desarrolla la impresin por matriz de puntos, pero contaba con las

40

Programacin
mismas limitaciones que su antecesor. En 1959 Xerox fabrica la fotocopiadora y
para 1973 aparece la primera fotocopiadora a color, fabricada por Canon. En 1978
se crea la impresora de margarita, que nicamente poda escribir letras y
nmeros, pero tena la calidad de una mquina de escribir. Finalmente en 1980
aparece la impresora lser en blanco y negro, 8 aos ms tarde le implementan la
modalidad de color.

HISTORIA DE LAS BOCINAS


La bocina es un instrumento musical de aire. Se invent en Francia en1680 y
serva tan solo para la caza. Despus se introdujo en Alemania y all se
perfeccion y se aplic a la msica. Para esta se adopt en Francia en 1730 pero
no la introdujeron en la orquesta de la pera hasta en 1757.
En esta poca daba muy pocos sonidos, pero en 1759 un alemn llamado Hampl
discurri que era fcil hacerle producir otros, tapando con la mano una parte del
pabelln o campana del instrumento. Este descubrimiento abri la carrera a
artistas hbiles que se entregaban al estudio de la trompa. Otro alemn llamado
Haltenhoft mejor este instrumento aadiendo una bomba por medio de la cual se
afina exactamente, cuando por el calor del aliento se suben las entonaciones.

41

Programacin

Lenguaje de programacin
1. Plataforma Terico Conceptual.
Introduccin.
Lenguajes de programacin hay en gran cantidad, algunos han evolucionado a lo
largo del tiempo y siguen vigentes en el transcurso de muchos aos, mientras que
otros han sido operativos durante un perodo ms o menos largo y actualmente no
se usan.
Dada esta gran variedad de lenguajes, no se pretende dar una visin de todos,
sino una clasificacin en diversos tipos y concretar algunos de ellos. En general un
lenguaje es un mtodo conveniente y sencillo de describir las estructuras de
informacin y las secuencias de acciones necesarias para ejecutar una tarea
concreta. Los lenguajes de programacin utilizan juegos de caracteres "alfabeto"
para comunicarse con las computadoras.
Las primeras computadoras slo utilizaban informaciones numricas digitales
mediante el cdigo o alfabeto digital, y los primeros programas se escribieron en

42

Programacin
ese tipo de cdigo, denominado cdigo mquina basado en dos dgitos 0 y 1, por
ser entendible directamente por la mquina (computadora). La enojosa tarea de
programar en cdigo mquina hizo que el alfabeto evolucionase y los lenguajes de
programacin comenzaran a utilizar cdigos o juegos de caracteres similares al
utilizado en los lenguajes humanos. As, hoy da la mayora de las computadoras
trabajan con diferentes tipos de juegos de caracteres de los que se destacan el
cdigo ASCII y el EBCDIC.

De este modo, una computadora a travs de los diferentes lenguajes de


programacin utiliza un juego o cdigo de caracteres que sern fcilmente
interpretados por la computadora y que pueden ser programados por el usuario.
Dos son los cdigos ms utilizados actualmente en computadoras, ASCII
(American Standard Codefor Information Interchan-c) y EBCDIC (Extended Binary
Coded Decimal Intercha-@ige Code). El cdigo ASCII bsico utiliza 7 bits (dgitos
binarios. 0,1) para cada carcter a representar, lo que supone un total de 27 (128)
caracteres distintos. El cdigo ASCII ampliado utiliza 8 bits y en ese caso consta
de 256 caracteres. Este cdigo ASCII ha adquirido una gran popularidad. Ya que
es el estndar en todas las familias de computadoras personales.
El cdigo EBCDIC utiliza 8 bits por carcter v por consiguiente consta de 256
caracteres distintos. Su notoriedad reside en ser el utilizado por la firma. En
general un carcter ocupara un byte de almacenamiento de memoria.
Al igual que los lenguajes humanos, tales como el ingls o el espaol, los
lenguajes de programacin poseen una estructura (gramtica o sintaxis) y un
significado (semntica). La gramtica espaola trata de los diferentes, modos
(reglas) en que pueden ser combinados los diferentes tipos de palabras para
formar sentencias o frases aceptables en espaol. Los lenguajes de computadoras
tienen menos combinaciones aceptables que los lenguajes naturales, sin
embargo, estas combinaciones deben ser utilizadas correctamente; ello contrasta
con los lenguajes naturales que se pueden utilizar aunque no sigan reglas
gramaticales e incluso aunque no sean comprendidos. Finalmente, un lenguaje de
programacin lo definiremos, como un conjunto de reglas, smbolos y palabras
especiales que permiten construir un programa.
43

Programacin

Lengujes naturales
Los lenguajes naturales son aquellos con los cuales hablamos y escribimos en
nuestras actividades cotidianas. Entre sus ventajas podemos citar que es fcil de
usar y de entender: no debemos aprendernos ningn lenguaje nuevo y cualquiera
puede leer la especificacin y comentarla o criticarla. Entre los inconvenientes
estn la imprecisin y la ambigedad. Aunque el anlisis de requisitos se haya
realizado correctamente, una especificacin en lenguaje natural puede dar lugar a
que la implementacin final no cumpla estos requisitos.
Adems, debido a su propia facilidad de uso e imprecisin, las especificaciones
suelen ocultar lagunas que slo se pondrn de manifiesto a la hora de programar,
es decir, al traducir la especificacin a un lenguaje de programacin. El uso de
subconjuntos del lenguaje, como el llamado ingls estructurado, atena estas
deficiencias pero sigue sin resolver problemas como la correccin, consistencia o
completitud de la propia especificacin o de los programas desarrollados a partir
de ella.
Los lenguajes de programacin ocupan una posicin intermedia entre los
lenguajes naturales humanos y los precisos lenguajes de mquina. Gracias a la
progresiva complejidad de los lenguajes traductores que permiten convertir las
instrucciones de un lenguaje de programacin al lenguaje de mquina, la
programacin puede usar lenguajes de computacin que se parecen cada vez
ms a los lenguajes naturales. Tambin se habla de lenguajes naturales para
referirse al software que permite que los sistemas de computacin acepten,
interpreten y ejecuten instrucciones en el lenguaje materno o "natural" que habla el
usuario final, por lo general el ingls. La mayor parte de los lenguajes naturales
comerciales estn diseados para ofrecer a los usuarios un medio de comunicarse
con una base de datos corporativa o con un sistema experto.

44

Programacin

Podemos resumir que los lenguajes naturales se distinguen por las siguientes
propiedades:
Desarrollados por enriquecimiento progresivo antes de cualquier intento de
formacin de una teora.
La importancia de su carcter expresivo debido grandemente a la riqueza
del componente semntico (poli semntica).
Dificultad o imposibilidad de una formalizacin completa. Existen muchos
lenguajes de programacin con caractersticas y aptitudes muy
diferenciadas.
Todo ello se encuentra en dos grandes grupos:
Los lenguajes mquina.
Los lenguajes simblicos. Lenguaje de programacin en el que las
instrucciones de los diferentes programas se codifican utilizando los
caracteres de las lenguas naturales.

La ejecucin de un programa.
Entre los primeros se encuentran los denominados lenguajes en cdigo mquina.
En estos lenguajes, la codificacin de estos lenguajes se hace utilizando un
lenguaje binario de ceros y unos que son los nicos smbolos que puede entender
cualquier computador. Cada sistema fsico tiene su cdigo mquina distinta por lo
que un programa escrito en un determinado cdigo mquina slo vale para un
sistema fsico.

45

Programacin

A los lenguajes mquina les sucedieron, los lenguajes simblicos los cuales
utilizan caracteres naturales para escribir las instrucciones de los programas. Los
lenguajes simblicos se dividen a su vez en:
Lenguajes simblicos de bajo nivel o ensambladores.
Lenguajes simblicos de alto nivel.
A los lenguajes mquina se les conoce como lenguajes de primera generacin.
Los ensambladores son los lenguajes de segunda generacin. Los simblicos de
alto nivel de tipo procedural se les denomina de tercera generacin y a los
relacionales se considera que son de cuarta generacin.
A la tercera generacin pertenecen lenguajes conocidos como el FORTRAN,
COBOL, RPG, BASIC, PL1, SIMULA, ALGOL, PASCAL, ADA, C, LISP, PROGOL,
etc. Estos lenguajes de tercera generacin son de tipo universal.

A diferencia de los lenguajes de tercera generacin, los de cuarta generacin no


son tan universales y van asociados a determinados sistemas operativos y en
muchos casos a determinados sistemas de almacenamiento de informacin, lo
que les resta uno de los mayores intereses de los lenguajes de tercera
generacin.

46

Programacin
La mayor ventaja de los lenguajes relacionados es que son muy productivos en
desarrollo a alcanzar niveles de productividad de hasta 6 y 8 veces superior a los
que alcanzan los de tercera generacin.
Entre los lenguajes de cuarta generacin tenemos el CSP de IBM asociado al
sistema de gestin de base de datos DB2; el NATURAL de SOFTWARE AG
asociado al sistema de datos ADABAS; el SQL que es un lenguaje convertido en
estndar mundial como lenguaje de cuarta generacin para la consulta de bases
relacionales; etc.

Adems de los lenguajes sealados hay que hacer referencia a una serie de
lenguajes orientados a objetos y cuya utilizacin tiene preferentemente lugar en
los puestos cliente. Entre estos destaca el Visual Basic de Microsoft, el Power
Builder y el Delphi. Adems hay que prestar una seria atencin al lenguaje de
programacin Java, desarrollado por SUN y cuya misin fundamental es dar la
posibilidad de desarrollar aplicaciones altamente interactivas bajo la modalidad de
Web, en el contexto de Internet.
En pocos aos y como consecuencia del desarrollo que est teniendo la
inteligencia artificial se podr programar, con ciertas limitaciones sintcticas, en los
lenguajes naturales.

1.2. Paradigmas en lenguajes de programacin.


Existen diversos lenguajes y paradigmas de programacin que se han diseado
para facilitar la tarea de la programacin en diferentes mbitos. Por ejemplo, la
programacin orientada a objetos es un paradigma dirigido al mejoramiento en la
47

Programacin
calidad del software por medio de la observacin de aspectos tales como la
correccin, robustez, extensibilidad, compatibilidad y sobre todo la reusabilidad del
software. La programacin lgica, por su parte, es un paradigma orientado a la
expresin de los problemas en trminos lgicos para su posterior solucin por
mtodos de inferencia y otras tcnicas lgicas.

En la prctica, cada paradigma de programacin es implementado a travs de


diversos lenguajes.
Slo como un ejemplo, la programacin orientada a objetos encuentra su
recipiente en lenguajes tales como Java, C++, Eiffel, Objective C, el paquete
CLOS de Common Lisp, etc.
Existen cuatro modelos bsicos de computacin que describen casi todos los
lenguajes de programacin actuales: el imperativo, el aplicativo, el lenguaje con
base en reglas y el orientado a objetos. Se describe en forma breve cada uno de
estos modelos.

Lenguajes imperativos.
Los lenguajes imperativos o de procedimiento son lenguajes controlados por
mandatos u orientados a enunciados (instrucciones). Un programa se compone de
una serie de enunciados, y la ejecucin de cada enunciado hace que el intrprete

48

Programacin
cambie el valor de una localidad o ms en su memoria, es decir, que pase a un
nuevo estado.
El desarrollo de programas consiste en construir los estados de mquina
sucesivos que se necesitan para llegar a la solucin. sta suele ser la primera
imagen, que se tiene de la programacin, y muchos lenguajes de uso amplio (por
ejemplo, C, C++, FORTRAN, ALGOL, PL/I, Pascal, Ada, Smalltalk, COBOL)
manejan este modelo.

Lenguajes aplicativos.
Un punto de vista alternativo de la computacin representado por un lenguaje de
programacin consiste en examinar la funcin que el programa representa y no
slo los cambios de estado conforme el programa se ejecuta, enunciado por
enunciado. Esto se puede conseguir observando el resultado deseado en vez de
los datos disponibles. En otras palabras, en vez de examinar la serie de estados a
travs de los cuales debe pasar la mquina para obtener una respuesta, la
pregunta que se debe formular es: Cul es la funcin que se debe aplicar al
estado de mquina inicial accediendo al conjunto inicial de variables y
combinndolas en formas especficas para obtener una respuesta? Los lenguajes
que hacen nfasis en este punto de vista se conocen como lenguajes aplicativos o
funcionales.
Lenguajes base en reglas.
Los lenguajes con base en reglas se ejecutan verificando la presencia de una
cierta condicin habilitadora y, cuando se satisface, ejecutan una accin
apropiada. El lenguaje ms comn con base en reglas es Prolog, que tambin se
conoce como de programacin lgico, puesto que las condiciones habilitadoras
bsicas son ciertas clases de expresiones lgicas de predicados. La ejecucin de
un lenguaje reglas es similar a la de un lenguaje imperativo, excepto que los
enunciados no secuenciales.

49

Programacin

Programacin orientada a objetos.


En este tipo de lenguaje, se construyen objetos complejos de datos y luego
designa un conjunto limitado de funciones para que operen con esos datos. Los
objetos complejos se designan como extensiones de objetos ms simples y
heredan propiedades del objeto ms sencillo. Al construir objetos a concretos de
datos, un programa orientado a objetos gana la eficiencia de los lenguajes
imperativos, y al construir clases de funciones que utilizan un conjunto restringido
de objetos de datos, se construye la flexibilidad y confiabilidad del modelo
aplicativo.

1.3. Evolucin de los lenguajes de programacin.


Los diseos de lenguaje y los mtodos de implementacin han evolucionado de
manera continua desde que aparecieron los primeros lenguajes de alto nivel en la
dcada de 1950. Los lenguajes principales FORTRAN; LISP y COBOL fueron

50

Programacin
diseados originalmente en los aos cincuenta, PL/I, SNOBOLA Y APL se
empezaron a usar en los aos 60, Pascal, Prolog, Ada, C y Smalltalk son diseos
que datan de los aos 70, y C++, ML datan de los aos ochenta. En las dcadas
de 1960 y 1970, se solan desarrollar nuevos lenguajes como parte de proyectos
Importantes de desarrollo de software.

Los lenguajes ms antiguos han experimentado revisiones peridicas para reflejar


la influencia de otras reas de la computacin; los ms nuevos reflejan una
composicin de experiencias adquiridas en el diseo y de usos de estos y cientos
de otros lenguajes ms antiguos. Algunas de las principales influencias en la
evolucin de diseos de lenguajes se listan a continuacin:
1. Capacidades de las computadoras. Las computadoras han evolucionado de las
mquinas pequeas lentas y costosas mquinas de tubos de vaco de los aos 50
a las supercomputadoras y microcomputadoras de hoy.
2. Aplicaciones. El uso de la computadora se ha difundido rpidamente, de la
concentracin original de aplicaciones militares crticas, cientficas, negocios
industriales de los aos 50 donde el costo podra estar justificado en los juegos en
computadora, en computadoras personales y aplicaciones en casi todas las reas
de la actividad humana de hoy.
3. Mtodos de programacin. Los diseos de lenguajes han evolucionado para
reflejar, nuestra cambiante comprensin de los buenos mtodos para escribir
programas largos y complejos y para reflejar los cambios en el entorno en el cul
se efecta la programacin.
4. Mtodos de implementacin. El desarrollo de mejores mtodos de
implementacin ha influido en la seleccin de las caractersticas que se habrn de
incluir en los nuevos diseos.

51

Programacin
5. Estudios tericos. La investigacin de las bases conceptuales del diseo e
implementacin de lenguajes, a travs del uso de mtodos de matemticos
formales, ha profundizado nuestro entendimiento de las fortalezas y debilidades de
las caractersticas de los lenguajes y, por tanto, ha influido en la inclusin de estas
caractersticas en los nuevos diseos de lenguaje.
6. Estandarizacin. La necesidad de lenguajes estndar que se puedan
implementar con facilidad en una variedad de computadoras y que permita que los
programas sean transportados de una computadora a otra ejerce una fuerte
influencia conservadora sobre la evolucin de los diseos de lenguajes.

Los lenguajes de programacin de una computadora en particular se conocen


como cdigo de mquinas o lenguaje de mquinas.
Estos lenguajes codificados en una computadora especfica no podrn ser
ejecutados en otra computadora diferente. Para que estos programas funcionen
para diferentes computadoras hay que realizar una versin para cada una de ellas,
lo que implica el aumento del costo de desarrollo.
Por otra parte, los lenguajes de programacin en cdigo de mquina son
verdaderamente difciles de entender para una persona, ya que estn compuestos
de cdigos numricos sin sentido nemotcnico. Los lenguajes de programacin
facilitan la tarea de programacin, ya que disponen de formas adecuadas que
permiten ser ledas y escritas por personas, a su vez resultan independientes del
modelo de computador a utilizar.
Los lenguajes de programacin representan en forma simblica y en manera de
un texto los cdigos que podrn ser ledos por una persona.
Los lenguajes de programacin son independientes de las computadoras a utilizar.
Existen estrategias que permiten ejecutar en una computadora un programa
realizado en un lenguaje de programacin simblico. Los procesadores del
lenguaje son los programas que permiten el tratamiento de la informacin en
52

Programacin
forma de texto, representada en los lenguajes de programacin simblicos.
Hay lenguajes de programacin que utilizan compilador.
La ejecucin de un programa con compilador requiere de dos etapas:
1) Traducir el programa simblico a cdigo mquina
2) Ejecucin y procesamiento de los datos.

Otros lenguajes de programacin utilizan un programa intrprete o traductor, el


cual analiza directamente la descripcin simblica del programa fuente y realiza
las instrucciones dadas.
El intrprete en los lenguajes de programacin simula una mquina virtual, donde
el lenguaje de mquina es similar al lenguaje fuente.
La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el
programa, sin embargo su inconveniente es que la velocidad de ejecucin es ms
lenta ya que debe analizar e interpretar las instrucciones contenidas en el
programa fuente.
Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje
especfico conocido como cdigo mquina, el cual la mquina comprende
fcilmente, pero que lo hace excesivamente complicado para las personas. De
hecho slo consiste en cadenas extensas de nmeros 0 y 1.

53

Programacin
Para facilitar el trabajo, los primeros operadores de computadoras decidieron
hacer un traductor para reemplazar los 0 y 1 por palabras o abstraccin de
palabras y letras provenientes del ingls; ste se conoce como lenguaje
ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add
(sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje mquina,
pero las letras y palabras son ms fciles de recordar y entender que los nmeros.
La necesidad de recordar secuencias de programacin para las acciones usuales
llev a denominarlas con nombres fciles de memorizar y asociar: ADD (sumar),
SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia
de posiciones se le denomin "instrucciones", y a este conjunto de instrucciones
se le llam lenguaje ensamblador. Posteriormente aparecieron diferentes
lenguajes de programacin, los cuales reciben su denominacin porque tienen una
estructura sintctica semejante a la de los lenguajes escritos por los humanos,
denominados tambin lenguajes de alto nivel.
El primer programador de computadora que se haya conocido fue una mujer: Ada
Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella inici en las
matemticas a Ada quien, despus de conocer a Charles Babbage, tradujo y
ampli una descripcin de su mquina analtica. Incluso aunque Babbage nunca
complet la construccin de cualquiera de sus mquinas, el trabajo que Ada
realiz con stas le hizo ganarse el ttulo de primera programadora de
computadoras del mundo. El nombre del lenguaje de programacin Ada fue
escogido como homenaje a esta programadora.
A finales de 1953, John Backus someti una propuesta a sus superiores en IBM
para desarrollar una alternativa ms prctica al lenguaje ensamblador para
programar la computadora central IBM 704. El histrico equipo Fortran de Backus
consisti en los programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick,
Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.
El primer manual para el lenguaje Fortran apareci en octubre de 1956, con el
primer compilador Fortran entregado en abril de 1957. Esto era un compilador
optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a
menos que su compilador pudiera generar cdigo cuyo desempeo fuera
comparable al de un cdigo hecho a mano en lenguaje ensamblador.
En 1960, se cre COBOL, uno de los lenguajes usados an en la actualidad, en
informtica de gestin.
A medida que la complejidad de las tareas que realizaban las computadoras
aumentaba, se hizo necesario disponer de un mtodo ms eficiente para
programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASIC
en las versiones introducidas en los microordenadores de la dcada de 1980.
Mientras que una tarea tan sencilla como sumar dos nmeros puede necesitar
varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar
una sola sentencia.
54

Programacin

Al desarrollarse las primeras computadoras electrnicas, se vio la necesidad de


programarlas, es decir, de almacenar en memoria la informacin sobre la tarea
que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les
indicaban los pasos de clculo, uno por uno.
John Von Neumann desarroll el modelo que lleva su nombre, para describir este
concepto de "programa almacenado". En este modelo, se tiene una abstraccin de
la memoria como un conjunto de celdas, que almacenan simplemente nmeros.
Estos nmeros pueden representar dos cosas: los datos, sobre los que va a
trabajar el programa; o bien, el programa en s.
Cmo es que describimos un programa como nmeros? Se tena el problema de
representar las acciones que iba a realizar la computadora, y que la memoria, al
estar compuesta por switches correspondientes al concepto de bit, solamente nos
permita almacenar nmeros binarios.
La solucin que se tom fue la siguiente: a cada accin que sea capaz de realizar
nuestra computadora, asociarle un nmero, que ser su cdigo de operacin
(opcode) . Por ejemplo, una calculadora programable simple podra asignar los
opcodes :
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.
Supongamos que queremos realizar la operacin 5 * 3 + 2, en la calculadora
descrita arriba. En memoria, podramos "escribir" el programa de la siguiente
forma:
Localidad Opcode Significado Comentario 0 5 5 En esta localidad, tenemos el
primer nmero de la frmula 1 3 * En esta localidad, tenemos el opcode que
representa la multiplicacin. 2 3 3 En esta localidad, tenemos el segundo nmero
de la frmula 3 1 + En esta localidad, tenemos el opcode que representa la suma.
4 2 2 En esta localidad, tenemos el ltimo nmero de la frmula. Podemos ver que

55

Programacin
con esta representacin, es simple expresar las operaciones de las que es capaz
el hardware (en este caso, nuestra calculadora imaginaria), en la memoria.
La descripcin y uso de los opcodes es lo que llamamos lenguaje de mquina . Es
decir, la lista de cdigos que la mquina va a interpretar como instrucciones,
describe las capacidades de programacin que tenemos de ella; es el lenguaje
ms primitivo, depende directamente del hardware, y requiere del programador
que conozca el funcionamiento de la mquina al ms bajo nivel. Los lenguajes
ms primitivos fueron los lenguajes de mquina. Esto, ya que el hardware se
desarroll antes del software, y adems cualquier software finalmente tiene que
expresarse en el lenguaje que maneja el hardware.
La programacin en esos momentos era sumamente tediosa, pues el programador
tena que "bajarse" al nivel de la mquina y decirle, paso a pasito, cada punto de
la tarea que tena que realizar. Adems, deba expresarlo en forma numrica; y por
supuesto, este proceso era propenso a errores, con lo que la productividad del
programador era muy limitada. Sin embargo, hay que recordar que en estos
momentos, simplemente an no exista alternativa.
El primer gran avance que se dio, como ya se coment, fue la abstraccin dada
por el Lenguaje Ensamblador, y con l, el nacimiento de las primeras herramientas
automticas para generar el cdigo mquina. Esto redujo los errores triviales,
como poda ser el nmero que corresponda a una operacin, que son sumamente
engorrosos y difciles de detectar, pero fciles de cometer. Sin embargo, an aqu
es fcil para el programador perderse y cometer errores de lgica, pues debe bajar
al nivel de la forma en que trabaja el CPU, y entender bien todo lo que sucede
dentro de l.

Con el desarrollo en los 50s y 60s de algoritmos de ms elevado nivel, y el


aumento de poder del hardware, empezaron a entrar al uso de computadoras
cientficos de otras ramas; ellos conocan mucho de Fsica, Qumica y otras ramas
similares, pero no de Computacin, y por supuesto, les era sumamente
56

Programacin
complicado trabajar con lenguaje Ensamblador en vez de frmulas. As, naci el
concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN
(FORmula TRANslation), que, como su nombre indica, inici como un "simple"
esfuerzo de traducir un lenguaje de frmulas, al lenguaje ensamblador y por
consiguiente al lenguaje de mquina. A partir de FORTRAN, se han desarrollado
innumerables lenguajes, que siguen el mismo concepto: buscar la mayor
abstraccin posible, y facilitar la vida al programador, aumentando la
productividad, encargndose los compiladores o intrpretes de traducir el lenguaje
de alto nivel, al lenguaje de computadora.
Hay que notar la existencia de lenguajes que combinan caractersticas de los de
alto nivel y los de bajo nivel (es decir, Ensamblador). Mi ejemplo favorito es C:
contiene estructuras de programacin de alto nivel, y la facilidad de usar libreras
que tambin son caractersticas de alto nivel; sin embargo, fue diseado con muy
pocas instrucciones, las cuales son sumamente sencillas, fciles de traducir al
lenguaje de la mquina; y requiere de un entendimiento apropiado de cmo
funciona la mquina, el uso de la memoria, etctera. Por ello, muchas personas
consideramos a lenguajes como C (que fue diseado para hacer sistemas
operativos), lenguajes de nivel medio.
Java
El lenguaje de programacin Java, fue diseado por la compaa Sun
Microsystems Inc, con el propsito de crear un lenguaje que pudiera funcionar en
redes computacionales heterogneas ( redes de computadoras formadas por ms
de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.),y que
fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa
que un programa de Java puede ejecutarse en cualquier mquina o plataforma. El
lenguaje fue diseado con las siguientes caractersticas en mente:

Simple. Elimina la complejidad de los lenguajes como "C" y da paso al


contexto de los lenguajes modernos orientados a objetos. Orientado a
Objetos. La filosofa de programacin orientada a objetos es diferente a la
programacin convencional.
Familiar. Como la mayora de los programadores estn acostumbrados a
programar en C o en C++, el sintaxis de Java es muy similar al de estos.
Robusto. El sistema de Java maneja la memoria de la computadora por ti.
No te tienes que preocupar por apuntadores, memoria que no se est
utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo
indique.
Seguro. El sistema de Java tiene ciertas polticas que evitan se puedan
codificar virus con este lenguaje. Existen muchas restricciones,
especialmente para los applets, que limitan lo que se puede y no puede
hacer con los recursos crticos de una computadora.

57

Programacin

Portable. Como el cdigo compilado de Java (conocido como byte code) es


interpretado, un programa compilado de Java puede ser utilizado por
cualquier computadora que tenga implementado el interprete de Java.
Independiente a la arquitectura. Al compilar un programa en Java, el cdigo
resultante un tipo de cdigo binario conocido como byte code. Este cdido
es interpretado por diferentes computadoras de igual manera, solamente
hay que implementar un intrprete para cada plataforma. De esa manera
Java logra ser un lenguaje que no depende de una arquitectura
computacional definida.
Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje
que puede ejecutar diferentes lneas de cdigo al mismo tiempo.
Interpretado. Java corre en mquina virtual, por lo tanto es interpretado.
Dinmico. Java no requiere que compiles todas las clases de un programa
para que este funcione. Si realizas una modificacin a una clase Java se
encarga de realizar un Dynamic Bynding o un Dynamic Loading para
encontrar las clases.

Java puede funcionar como una aplicacin sola o como un "applet", que es un
pequeo programa hecho en Java. Los applets de Java se pueden "pegar" a una
pgina de Web (HTML), y con esto puedes tener un programa que cualquier
persona que tenga un browser compatible podr usar.
Nota:Diferencia entre Java y CGI La diferencia es esencialmente simple, un
CGI se ejecuta en el servidor mientras que un programa en Java se ejecuta
en la mquina del usuario.
Java funciona de la siguiente manera: El compilador de Java deja el programa en
un Pseudo-cdigo (no es cdigo maquinal) y luego el intrprete de Java ejecuta el
programa (lo que se conoce como el "Java Virtual Machine"). Por eso Java es
multiplataforma, existe un intrprete para cada mquina diferente.
Nota: El cdigo maquinal es el cdigo binario que la computadora entiende y
puede ejecutar.
Para entender bien cmo funciona un applet de Java vean el siguiente ejemplo:
1.
2. Existe un cdigo de Java en un servidor de Web. (Los cdigos de Java se
caracterizan por tener la extensin *.class).
3. Una persona en Internet, con un browser compatible con Java, realiza una
conexin al servidor.
4. El servidor enva el documento HTML y el cdigo en Java (*.class).
5. En la computadora del usuario remoto llegan ambos, y la Mquina Virtual
de Java, que est en el browser, transforma el cdigo Java en un cdigo
que entienda la mquina local y se ejecuta el programa dentro de la pgina
de Web.

58

Programacin
6. Si el usuario realiza otra conexin a otro URL o se sale del browser, el
programa se deja de ejecutar y en la computadora no queda rastro de l.

59

Programacin

Los lenguajes de programacin mejor


pagados del mundo
Viven en un pas estigmatizado por una de las tasas de desempleo ms altas de
toda Europa, pero los datos demuestran que los informticos no entienden de
paro. La programacin es un sector en auge que requiere un reciclaje continuo, de
ah que resulte imprescindible saber cules son los siete lenguajes de
programacin, los ms cotizados y mejor pagados hoy por hoy.
Si quieres provocar una discusin entre programadores, solo tienes que
preguntarles cul es su cdigo favorito. El chiste, muy trillado entre informticos,
representa los mltiples caminos que puede tomar un programador en el mundo
laboral.
El pleno empleo, decamos, no implica necesariamente unas condiciones
salariales exageradas. Segn PayScale un programador informtico cobra de
media en Espaa alrededor de 30.000 euros, una cifra a aos luz de lo que
pueden percibir ingenieros de otros pases por realizar un trabajo muy similar.
C es uno de los lenguajes de programacin ms conocidos y extendidos por la
eficiencia de su cdigo, desarrollado por Dennis M. Ritchie a principios de los aos
setenta como evolucin del lenguaje B.
Se ha utilizado sobre todo en la implementacin de sistemas operativos, como
Unix, pero tambin en el desarrollo de drivers o bases de datos.
C es un lenguaje de programacin de tipos de datos estticos que sirvi como
base para desarrollar Unix y hoy es materia obligatoria en muchas facultades
porque si uno aprende C luego es mucho ms sencillo comprender Java, C++,
Javascript y muchos otros.
El salario medio para los empleos que requieren programacin en C, segn el
informe de Quartz, asciende a los 90.134 dlares.

Javascript

60

Programacin

JavaScript es un lenguaje de programacin de tipo interpretado, que se utiliza


fundamentalmente para el desarrollo de pginas webs dinmicas.
Se trata de un lenguaje cmodo de programar entre otras cosas porque los
programas escritos con Javascript se pueden probar en diferentes navegadores
sin ningn proceso intermedio ni necesidad de recompilar.
Desarrolado por Brendan Eich de Netscape, al principio fue bautizado como
Mocha, posteriormente como LiveScript y finalmente como JavaScript, aunque no
tiene relacin directa con Java.
JavaScript es considerado por muchos como uno de los tres lenguajes que todo
desarrollador web debe controlar: el HTML define el contenido de las pginas, los
estilos CSS ayudan a especifar el aspecto de las webs y JavaScript ayuda a
programar el comportamiento y la interactividad de esos sitios web.
No es un lenguaje extremademente difcil de aprender y su popularidad se ha
disparado con el aumento de los smartphones, en parte porque es muy til para
construir sitios responsive, crear cookies o validar formularios.
Segn Quartz, el salario de un prgramador de JavaScript se sita en unos 91.461
dlares. En Espaa, segn PayScale, ronda los 33.000 euros.

C++

61

Programacin

A mediados de los ochenta Bjarne Stroustrup cre este lenguaje de programacin


que abarca tres paradigmas: la programacin estructurada, la programacin
genrica y la programacin orientada a objetos.
C++ es otro de los lenguajes de programacin mejor pagados. C++ supera a su
antecesor C en el apartado grfico y es mucho ms sencillo a la hora de
programar tanto objetos como plantillas, de ah que est muy extendida en los
entornos de escritorio, aplicaciones multimedia, videojuegos, drivers o comercio
electrnico.
El salario medio para los programadores de C++, segn el informe de Quartz,
asciende a los 93.502 dlares. En Espaa, un desarrollador senior con
conocimientos de C++ aspira a un salario medio de 36.500 euros segn
PayScale.

Java

62

Programacin

El lenguaje de programacin Java es uno de los ms populares a da de hoy.


Desarrollado por James Gosling de Sun Microsystems a mediados de los noventa,
su sintaxis viene heredada en buena medida de C y C++.
Java est diseado para tener pocas dependencias de implementacin y permite a
los desarrolladores escribir el programa una sola vez y ejecutarlo en cualquier
dispositivo, sin necesidad de recompilarlo.
Actualmente Java es el lenguaje de programacin ms usado por Google para
el desarrollo de apps para Android. Para cualquier ingeniero que aspira a
convertirse en desarrollador de software resulta imprescindible aprender Java.
Segn Quartz, el sueldo de un informtico que trabaje con Java asciende a los
94.908 dlares. Un desarrollador de Java cobra una media de 24.550 euros en
Espaa, segn los clculos de PayScale.

Objective-C

63

Programacin

Diseado por Brad Cox y StepStone en 1980, Objective-C todava es uno de los
lenguajes de programacin ms cotizados y mejor pagados del mundo, en
buena medida porque es el principal lenguaje de programacin en MAC OS X e
iOS de Apple.
Se trata de un lenguaje compilado, dinmico, y orientado a objetos al igual que C+
+. Para cualquier ingeniero que aspira a programar aplicaciones para Apple resulta
un lenguaje imprescindible, y eso a pesar de que Apple anunciase el verano
pasado un nuevo lenguaje de programacin completamente nativo (Swift), ya que
el dominio de Objective C permitir al programador manejarse mejor en el futuro.
Quartz sita el salario medio en unos 108.225 dlares para los trabajos que
requieren programar en Objective-C. En Espaa la horquilla se mueve entre los
25.300 euros y los 41.665 euros, segn datos de PayScale.

Ruby on Rails

64

Programacin

En el nmero uno de la lista de los lenguajes de programacin mejor pagados


figura Ruby on Rails (RoR), que no es un lenguaje de programacin al uso sino
un framework de aplicaciones web de cdigo abierto escrito en el lenguaje de
programacin Ruby. Veinte aos despus Ruby est en plena forma, algo
impensable a mediados de los noventa porque apenas se aprovechaba el
potencial de este lenguaje, en gran parte porque casi toda la documentacin que
exista en esa poca era en japons ya que el lenguaje de programacin fue
creado por Yukihiro Matsumoto.
Por su parte, Ruby on Rails fue escrito por David Heinemeier Hansson y liberado
al pblico en julio de 2004, hace poco ms de una dcada.
Ruby on Rails es un framework tremendamente eficiente en el desarrollo de
aplicaciones web ya que necesita mucho menos cdigo que otros frameworks,
permite la metaprogramacin y se distribuye bajo licencia MIT, que no es libre pero
solo exige que los derechos de autor sean incluidos en las copias. Entre los sitios
desarrollados con Ruby on Rails destaca, por encima de todos, Twitter, que utiliza
este framework por su escalabilidad. Tambin lo utilizan otras plataformas como
Crunchbase, Groupon, AirBnb o SoundCloud.
Segn el estudio de Quartz los trabajos que requieren programar con Ruby on
Rails son los mejor pagados de todo el sector, con un salario medio que asciende
a los 109.460 dlares al ao. En Espaa, esa cifra cae hasta los 36.500 euros
segn los nmeros de PayScale.

65

Programacin

Sistemas Operativos
1. Introduccin
Un Sistema Operativo es una parte importante de cualquier sistema de
computacin. Un sistema de computacin puede dividirse en cuatro componentes:
el hardware, el Sistema Operativo, los programas de aplicacin y los usuarios. El
hardware (Unidad Central de Procesamiento(UCP), memoria y dispositivos de
entrada/salida (E/S)) proporciona los recursos de computacin bsicos. Los
programas de aplicacin (compiladores, sistemas de bases de datos, juegos de
video y programas para negocios) definen la forma en que estos recursos se
emplean para resolver los problemas de computacin de los usuarios.

Esto es a grandes rasgos un concepto de sistemas operativos en el contenido que


a continuacin presentamos existen diversos conceptos, as como tambin su
historia, caractersticas y su clasificacin, ms adelante se consiguen
caractersticas o informacin bastante importante sobre un sistema operativo en
particular llamado Novell-Netware.

66

Programacin
2. Concepto y definicin de Sistemas Operativos.
Algunos recursos que administra el Sistema Operativo

Existen diversas definiciones de lo que es un Sistema Operativo, pero no hay una


definicin exacta, es decir una que sea estndar; a continuacin se presentan
algunas:
1.- Se pueden imaginar un Sistema Operativo como los programas, instalados en
el software o firmware, que hacen utilizable el hardware. El hardware proporciona
la "capacidad bruta de cmputo"; los sistemas operativos ponen dicha capacidad
de cmputo al alcance de los usuarios y administran cuidadosamente el hardware
para lograr un buen rendimiento.
2.- Los Sistemas Operativos son ante todo administradores de recursos; el
principal recurso que administran es el hardware del computador ;adems de los
procesadores, los medios de almacenamiento, los dispositivos de entrada/salida,
los dispositivos de comunicacin y los datos.
3.- Un Sistema Operativo es un programa que acta como intermediario entre el
usuario y el hardware del computador y su propsito es proporcionar el entorno en
el cual el usuario pueda ejecutar programas. Entonces, el objetivo principal de un
Sistema Operativo es, lograr que el sistema de computacin se use de manera
cmoda, y el objetivo secundario es que el hardware del computador se emplee de
manera eficiente. 4.- Un Sistema Operativo es un conjunto de programas que
controla la ejecucin de programas de aplicacin y acta como una interfaz entre
el usuario y el hardware de una computadora, esto es, un Sistema Operativo
explota y administra los recursos de hardware de la computadora con el objeto de
proporcionar un conjunto de servicios a los usuarios del sistema.
En resumen, se podra decir que los Sistemas Operativos son un conjunto de
programas que crean la interfaz del hardware con el usuario, y que tiene dos
funciones primordiales, que son:
67

Programacin

Gestionar el hardware.- Se refiere al hecho de administrar de una forma


ms eficiente los recursos de la mquina.
Facilitar el trabajo al usuario.-Permite una comunicacin con los dispositivos
de la mquina.

El Sistema Operativo se encuentra almacenado en la memoria secundaria.


Primero se carga y ejecuta un pedazo de cdigo que se encuentra en el
procesador, el cual carga el BIOS, y este a su vez carga el Sistema Operativo que
carga todos los programas de aplicacin y software variado.
3. Caractersticas de los Sistemas Operativos.
En general, se puede decir que un Sistema Operativo tiene las siguientes
caractersticas:

Conveniencia. Un Sistema Operativo hace ms conveniente el uso de una


computadora.
Eficiencia. Un Sistema Operativo permite que los recursos de la
computadora se usen de la manera ms eficiente posible.
Habilidad para evolucionar. Un Sistema Operativo deber construirse de
manera que permita el desarrollo, prueba o introduccin efectiva de nuevas
funciones del sistema sin interferir con el servicio.
Encargado de administrar el hardware. El Sistema Operativo se encarga de
manejar de una mejor manera los recursos de la computadora en cuanto a
hardware se refiere, esto es, asignar a cada proceso una parte del
procesador para poder compartir los recursos.
Relacionar dispositivos (gestionar a travs del kernel). El Sistema Operativo
se debe encargar de comunicar a los dispositivos perifricos, cuando el
usuario as lo requiera.
Organizar datos para acceso rpido y seguro.

68

Programacin

Manejar las comunicaciones en red. El Sistema Operativo permite al


usuario manejar con alta facilidad todo lo referente a la instalacin y uso de
las redes de computadoras.
Procesamiento por bytes de flujo a travs del bus de datos.
Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al
usuario el acceso y manejo de los dispositivos de Entrada/Salida de la
computadora.
Tcnicas de recuperacin de errores.
Evita que otros usuarios interfieran. El Sistema Operativo evita que los
usuarios se bloqueen entre ellos, informndoles si esa aplicacin esta
siendo ocupada por otro usuario.
Generacin de estadsticas.
Permite que se puedan compartir el hardware y los datos entre los usuarios.

El software de aplicacin son programas que se utilizan para disear, tal como el
procesador de palabras, lenguajes de programacin, hojas de clculo, etc.
El software de base sirve para interactuar el usuario con la mquina, son un
conjunto de programas que facilitan el ambiente plataforma, y permite el diseo
del mismo.
El Software de base est compuesto por:

Cargadores.
Compiladores.
Ensambladores.
Macros.

69

Programacin
4. Clasificacin de los sistemas operativos.
Con el paso del tiempo, los Sistemas Operativos fueron clasificndose de
diferentes maneras, dependiendo del uso o de la aplicacin que se les daba. A
continuacin se mostrarn diversos tipos de Sistemas Operativos que existen en
la actualidad, con algunas de sus caractersticas:

Sistemas Operativos por lotes.


Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con
poca o ninguna interaccin entre los usuarios y los programas en ejecucin. Se
renen todos los trabajos comunes para realizarlos al mismo tiempo, evitando la
espera de dos o ms trabajos como sucede en el procesamiento en serie. Estos
sistemas son de los ms tradicionales y antiguos, y fueron introducidos alrededor
de 1956 para aumentar la capacidad de procesamiento de los programas.
Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecucin
muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos
pueden ser simples, debido a la secuenciabilidad de la ejecucin de los trabajos.
Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del
DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II
para el UNIVAC 1107, orientado a procesamiento acadmico.
Algunas otras caractersticas con que cuentan los Sistemas Operativos por lotes
son:

Requiere que el programa, datos y rdenes al sistema sean remitidos todos


juntos en forma de lote.
Permiten poca o ninguna interaccin usuario/programa en ejecucin.
Mayor potencial de utilizacin de recursos que procesamiento serial simple
en sistemas multiusuarios.

70

Programacin

No conveniente para desarrollo de programas por bajo tiempo de retorno y


depuracin fuera de lnea.
Conveniente para programas de largos tiempos de ejecucin (ej, anlisis
estadsticos, nminas de personal, etc.)
Se encuentra en muchos computadores personales combinados con
procesamiento serial.
Planificacin del procesador sencilla, tpicamente procesados en orden de
llegada.
Planificacin de memoria sencilla, generalmente se divide en dos: parte
residente del S.O. y programas transitorios.
No requieren gestin crtica de dispositivos en el tiempo.
Suelen proporcionar gestin sencilla de manejo de archivos: se requiere
poca proteccin y ningn control de concurrencia para el acceso.

Figura. Trabajos ms comunes que realiza el Sistema Operativo por lotes.


Sistemas Operativos de tiempo real.
Los Sistemas Operativos de tiempo real son aquelos en los cuales no tiene
importancia el usuario, sino los procesos. Por lo general, estn subutilizados sus
recursos con la finalidad de prestar atencin a los procesos en el momento que lo
requieran. Se utilizan en entornos donde son procesados un gran nmero de
sucesos o eventos.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones
muy especficas como control de trfico areo, bolsas de valores, control de
refineras, control de laminadores. Tambin en el ramo automovilstico y de la
electrnica de consumo, las aplicaciones de tiempo real estn creciendo muy
rpidamente. Otros campos de aplicacin de los Sistemas Operativos de tiempo
real son los siguientes:

71

Programacin

Control de trenes.
Telecomunicaciones.
Sistemas de fabricacin integrada.
Produccin y distribucin de energa elctrica.
Control de edificios.
Sistemas multimedia.

Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris,


Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las
siguientes caractersticas:

Se dan en entornos en donde deben ser aceptados y procesados gran


cantidad de sucesos, la mayora externos al sisterma computacional, en
breve tiempo o dentro de ciertos plazos.
Se utlizan en control industrial, conmutacin telefnica, control de vuelo,
simulaciones en tiempo real., aplicaciones militares, etc.
Objetivo es proporcionar rpidos tiempos de respuesta.
Procesa rfagas de miles de interrupciones por segundo sin perder un solo
suceso.
Proceso se activa tras ocurrencia de suceso, mediante interrupcin.
Proceso de mayor prioridad expropia recursos.
Por tanto generalmente se utliza planificacin expropiativa basada en
prioridades.
Gestin de memoria menos exigente que tiempo compartido, usualmente
procesos son residentes permanentes en memoria.
Poblacin de procesos esttica en gran medida.

72

Programacin

Poco movimiento de programas entre almacenamiento secundario y


memoria.
Gestin de archivos se orienta ms a velocidad de acceso que a utlizacin
eficiente del recurso.

Sistemas Operativos de multiprogramacin (o Sistemas Operativos de multitarea).


Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms
trabajos activos (que se estn ejecutado) al mismo tiempo. Esto trae como
resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna
tarea que ejecutar, aprovechando al mximo su utilizacin.
Su objetivo es tener a varias tareas en la memoria principal, de manera que cada
uno est usando el procesador, o un procesador distinto, es decir, involucra
mquinas con ms de una UCP.
Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MACOS, OS/2, soportan la multitarea.

Las caractersticas de un Sistema Operativo de multiprogramacin o multitarea


son las siguientes:

Mejora productividad del sistema y utilizacin de recursos.


Multiplexa recursos entre varios programas.
Generalmente soportan mltiples usuarios (multiusuarios).
Proporcionan facilidades para mantener el entorno de usuarios individuales.
73

Programacin

Requieren validacin de usuario para seguridad y proteccin.


Proporcionan contabilidad del uso de los recursos por parte de los usuarios.
Multitarea sin soporte multiusuario se encuentra en algunos computadores
personales o en sistemas de tiempo real.
Sistemas multiprocesadores son sistemas multitareas por definicin ya
que soportan la ejecucin simultnea de mltiples tareas sobre diferentes
procesadores.
En general, los sistemas de multiprogramacin se caracterizan por tener
mltiples programas activos compitiendo por los recursos del sistema:
procesador, memoria, dispositivos perifricos.

Sistemas Operativos de tiempo compartido.


Permiten la simulacin de que el sistema y sus recursos son todos para cada
usuario. El usuario hace una peticin a la computadora, esta la procesa tan pronto
como le es posible, y la respuesta aparecer en la terminal del usuario.

Los principales recursos del sistema, el procesador, la memoria, dispositivos de


E/S, son continuamente utilizados entre los diversos usuarios, dando a cada
usuario la ilusin de que tiene el sistema dedicado para s mismo. Esto trae como
consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en
la administracin de memoria principal y secundaria.
Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y
DEC-10.

74

Programacin
Caractersticas de los Sistemas Operativos de tiempo compartido:

Populares representantes de sistemas multiprogramados multiusuario, ej:


sistemas de diseo asistido por computador, procesamiento de texto, etc.
Dan la ilusin de que cada usuario tiene una mquina para s.
Mayora utilizan algoritmo de reparto circular.
Programas se ejecutan con prioridad rotatoria que se incrementa con la
espera y disminuye despus de concedido el servicio.
Evitan monopolizacin del sistema asignando tiempos de procesador (time
slot).
Gestin de memoria proporciona proteccin a programas residentes.
Gestin de archivo debe proporcionar proteccin y control de acceso
debido a que pueden existir mltiples usuarios acezando a un mismo
archivos.

Sistemas Operativos distribuidos.


Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores.
Puede ser que este conjunto de procesadores est en un equipo o en diferentes,
en este caso es trasparente para el usuario. Existen dos esquemas bsicos de
stos. Un sistema fuertemente acoplado esa es aquel que comparte la memoria y
un reloj global, cuyos tiempos de acceso son similares para todos los
procesadores. En un sistema dbilmente acoplado los procesadores no comparten
ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componente
del sistema se compone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los
siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

75

Programacin
Caractersticas de los Sistemas Operativos distribuidos:

Coleccin de sistemas autnomos capaces de comunicacin y cooperacin


mediante interconexiones hardware y software .
Gobierna operacin de un S.C. y proporciona abstraccin de mquina
virtual a los usuarios.
Objetivo clave es la transparencia.
Generalmente proporcionan medios para la comparticin global de
recursos.
Servicios aadidos: denominacin global, sistemas de archivos distribuidos,
facilidades para distribucin de clculos (a travs de comunicacin de
procesos internodos, llamadas a procedimientos remotos, etc.).

Sistemas Operativos de red.


Son aquellos sistemas que mantienen a dos o ms computadoras unidas a travs
de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder
compartir los diferentes recursos y la informacin del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador
Motorola 68000, pasando posteriormente a procesadores Intel como Novell
Netware.
Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware,
Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.
5. Sistemas Operativos paralelos.
En estos tipos de Sistemas Operativos se pretende que cuando existan dos o ms
procesos que compitan por algn recurso se puedan realizar o ejecutar al mismo
tiempo.
En UNIX existe tambin la posibilidad de ejecutar programas sin tener que
atenderlos en forma interactiva, simulando paralelismo (es decir, atender de
manera concurrente varios procesos de un mismo usuario). As, en lugar de
esperar a que el proceso termine de ejecutarse (como lo hara normalmente),
regresa a atender al usuario inmediatamente despus de haber creado el proceso.
Ejemplos de estos tipos de Sistemas Operativos estn: Alpha, PVM, la serie AIX,
que es utilizado en los sistemas RS/6000 de IBM.
6. Historia de los Sistemas Operativos.
Para tratar de comprender los requisitos de un Sistema Operativo y el significado
de las principales caractersticas de un Sistema Operativo contemporneo, es til
considerar como han ido evolucionando stos con el tiempo.

76

Programacin
Existen diferentes enfoques o versiones de cmo han ido evolucionando los
Sistemas Operativos
La primera de estas versiones podra ser esta:
En los 40's, se introducen los programas bit a bit, por medio de interruptores
mecnicos y despus se introdujo el leng. Mquina que trabajaba por tarjetas
perforadas.
Con las primeras computadoras, desde finales de los aos 40 hasta la mitad de
los aos 50, el programador interactuaba de manera directa con el hardware de la
computadora, no exista realmente un Sistema Operativo; las primeras
computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban
a travs del lenguaje mquina (bits) o a travs de interruptores.
Durante los aos 50's y 60's.- A principio de los 50's, la compaa General's
Motors implanto el primer sistema operativo para su IBM 170. Empiezan a surgir
las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo
eran programadores, diseadores, capturistas, etc.), se encarguen de modificar
sus programas. Establecan o apartaban tiempo, metan o introducan sus
programas, corregan y depuraban sus programas en su tiempo. A esto se le
llamaba trabajo en serie. Todo esto se traduca en prdida de tiempo y tiempos de
programas excesivos.
En los aos 60's y 70's se genera el circuito integrado, se organizan los trabajos y
se generan los procesos Batch (por lotes), lo cual consiste en determinar los
trabajos comunes y realizarlos todos juntos de una sola vez. En esta poca surgen
las unidades de cinta y el cargador de programas, el cual se considera como el
primer tipo de Sistema Operativo.
En los 80's, inici el auge de la INTERNET en los Estados Unidos de Amrica. A
finales de los aos 80's comienza el gran auge y evolucin de los Sistemas
Operativos. Se descubre el concepto de multiprogramacin que consiste en tener
cargados en memoria a varios trabajos al mismo tiempo, tema principal de los
Sistemas Operativos actuales.
Los 90's y el futuro, entramos a la era de la computacin distribuida y del
multiprocesamiento a travs de mltiples redes de computadoras, aprovechando
el ciclo del procesador.
Se tendr una configuracin dinmica con un reconocimiento inmediato de
dispositivos y software que se aada o elimine de las redes a travs de procesos
de registro y localizadores.
La conectividad se facilita gracias a estndares y protocolos de sistemas abiertos
por organizaciones como la Org. Intern. de normas, fundacin de software abierto,

77

Programacin
todo estar ms controlado por los protocolos de comunicacin OSI y por la red de
servicios digital ISDN.
Se ha desarrollado otra versin, la cual se ha hecho en base a etapas o
generaciones:
1a. Etapa (1945-1955): Bulbos y conexiones.
Despus de los infructuosos esfuerzos de Babbage, hubo poco progreso en la
construccin de las computadoras digitales, hasta la Segunda Guerra Mundial. A
mitad de la dcada de los 40's, Howard Aiken (Harvard), John Von Newman
(Instituto de Estudios Avanzados, Princeton), J. Prespe R. Eckert y Williams
Mauchley (Universidad de Pennsylvania), as como Conrad Zuse (Alemania), entre
otros lograron construir mquinas de clculo mediante bulbos. Estas mquinas
eran enormes y llenaban cuartos completos con decenas de miles de bulbos, pero
eran mucho ms lentas que la computadora casera ms econmica en nuestros
das.
A principio de la dcada de los 50's la rutina mejoro un poco con la introduccin de
las tarjetas perforadas. Fue entonces posible escribir los programas y leerlas en
vez de insertar conexiones, por lo dems el proceso era el mismo.
2a. Etapa. (1955-1965) : Transistores y Sistemas de Procesamiento por lotes.
La introduccin del transistor a mediados de los aos 50's modific en forma
radical el panorama. Las computadoras se volvieron confiables de forma que
podan fabricarse y venderse a clientes, con la esperanza de que ellas continuaran
funcionando lo suficiente como para realizar un trabajo en forma.
Dado el alto costo del equipo, no debe sorprender el hecho de que las personas
buscaron en forma por dems rpidas vas para reducir el tiempo invertido. La
solucin que, por lo general se adopt, fue la del sistema de procesamiento por
lotes.
3ra Etapa (1965-1980 ) : Circuitos integrados y multiprogramacin.
La 360 de IBM fue la primera lnea principal de computadoras que utiliz los
circuitos integrados, lo que proporcion una gran ventaja en el precio y
desempeo con respecto a las mquinas de la segunda generacin, construidas a
partir de transistores individuales. Se trabajo con un sistema operativo enorme y
extraordinariamente complejo. A pesar de su enorme tamao y sus problemas el
sistema operativo de la lnea IBM 360 y los sistemas operativos similares de esta
generacin producidos por otros fabricantes de computadoras realmente pudieron
satisfacer, en forma razonable a la mayora de sus clientes. Tambin popularizaron
varias tcnicas fundamentales, ausentes de los sistemas operativos de la segunda
generacin, de las cuales la ms importante era la de multiprogramacin.

78

Programacin
Otra caracterstica era la capacidad de leer trabajos de las tarjetas al disco, tan
pronto como llegara al cuarto de cmputo. As, siempre que concluyera un trabajo
el sistema operativo poda cargar un nuevo trabajo del disco en la particin que
quedara desocupada y ejecutarlo.
4ta Etapa (1980-Actualidad) : Computadoras personales.
Un interesante desarrollo que comenz a llevarse a cabo a mediados de la dcada
de los ochenta ha sido el crecimiento de las redes de computadoras personales,
con sistemas operativos de red y sistemas operativos distribuidos.
En los sistemas operativos de red, los usuarios estn conscientes de la existencia
de varias computadoras y pueden conectarse con mquinas remotas y copiar
archivos de una mquina a otra. Cada mquina ejecuta su propio sistema
operativo local y tiene su propio usuario.
Por el contrario, un sistema operativo distribuido es aquel que aparece ante sus
usuarios como un sistema tradicional de un solo procesador, aun cuando est
compuesto por varios procesadores. En un sistema distribuido verdadero, los
usuarios no deben ser conscientes del lugar donde su programa se ejecute o de
lugar donde se encuentren sus archivos; eso debe ser manejado en forma
automtica y eficaz por el sistema operativo.
7. Sistema Operativo NetWare de Novell.
Introduccin al uso de la Red NetWare.
El sistema de redes ms popular en el mundo de las PCs es NetWare de Novell.
Este sistema se dise con la finalidad de que lo usarn grandes compaas que
deseaban sustituir sus enormes mquinas conocidas como mainframe por una red
de PCs que resultara ms econmica y fcil de manejar.
NetWare es una pila de protocolos patentada que se ilustra y que se basa en el
antiguo Xerox Network System, XNS pero con varias modificaciones. NetWare
de Novell es previo a OSI y no se basa en l, si acaso se parece ms a TCP/IP
que a OSI.
Las capas fsica y de enlace de datos se pueden escoger de entre varios
estndares de la industria, lo que incluye Ethernet, el token ring de IBM y ARCnet.
La capa de red utiliza un protocolo de interred poco confiable, si n conexin
llamado IPX. Este protocolo transfiere paquetes de origen al destino en forma
transparente, aun si la fuente y el destino se encuentran en redes diferentes. En lo
funcional IPX es similar a IP, excepto que usa direcciones de 10 bytes en lugar de
direcciones de 4 bytes, (9) y (10).

79

Programacin
Por encima de IPX est un protocolo de transporte orientado a la conexin que se
llama NCP (Network Core Protocol, Protocolo Central de Red). El NCP
proporciona otros servicios adems del de transporte de datos de u suario y en
realidad es el corazn de NetWare. Tambin est disponible un segundo protocolo,
SPX, el cual solo proporciona transporte. Otra opcin es TCP. Las aplicaciones
pueden seleccionar cualquiera de ellos. Por ejemplo, el sistema de archivos usa
NCP y Lotus Notes usa SPX. Las capas de sesin y de presentacin no existen.
En la capa de aplicacin estn presentes varios protocolos de aplicacin.
NetWare, Versin 3.11.
NetWare 3.11 sigue siendo un lder fuerte y flexible en la arena de los NOS para
las compaas pequeas o grandes. Su nica desventaja para los que necesitan
una solucin a nivel de empresa es que carece de un servicio global de
directorios. Pero esto se puede corregir en parte con el NetWare Naming Service
(NNS) o el ENS de Banyan, que ofrece parte de los servicios distribuidos
StreetTalk a los LANs de NetWare.
Ofrece la habilidad de compartir archivos e impresoras, velocidad, seguridad,
apoyo para la mayora de los sistemas operativos, y una gran cantidad de
Hardware, NetWare 3.11 es un producto realmente potente. Aunque tiene algunas
dificultades con la administracin de memoria, todava vale la pena, pues tiene
algunas otras caractersticas que lo hacen importante.
La principal atraccin de un NOS de 32 bits como el que introdujo Novell, fue su
diseo modular, como lo muestra la Figura 1.5. Los NLMs se pueden actualizar
sin tener que reconstruir el NOS completo, y se pueden ca rgar sobre la marcha.
Adems, solamente los mdulos necesarios se cargan en el NOS, reservando la
memoria para otras funciones como el caching de discos. Una desventaja de este
diseo es el uso de memoria. Los NLMs se cargan en el ani llo 0 y pueden trabar
el servidor si el NLM no est escrito correctamente o si entran en conflicto con el
NLM de otro fabricante. Por otra parte algunos de los mdulos no desocupan la
memoria cuando se descargan (Estos problemas de administr acin de memoria
ya han sido resueltos en NetWare 4.x).
Figura 1.5 Arquitectura de NetWare 3.11.
NetWare 3.11 est diseado en su mayora para redes desde pequeas a
moderadamente grandes que consisten en servidores individuales, principalmente
porque sus servicios de directorios no integran a la red en su totalidad. Cada uno
de los servidores mantiene una base de datos centralizada de verificacin
individual llamada el Bindery. El Bindery del servidor mantiene la informacin como
los nombres de conexin, las contraseas, los derechos de acceso y la
informacin de impresin. Si los usuarios necesitan conectarse a ms de un
servidor para compartir recursos, deben hacerlo manualmente con cada servidor.
Requerimientos:
80

Programacin

PC basada en una 386 o superior.


4Mb de RAM.
50Mb de espacio en Disco Duro.

8. NetWare, Versin 4.0.


NetWare 4.0 ofrece la conexin simplificada de mltiples servidores, la capacidad
de compartir recursos en la red y la administracin centralizada en un producto
coherente lleno de caractersticas.
La arquitectura de NetWare 4.0, es similar a la de la versin 3.11, como se mostr
en la Figura 1.5, pero se han corregido y aumentado sus capacidades.
NetWare 4.0 no es para todo el mundo. Determinar si en realidad se necesita un
NOS tan potente depende del tamao, la configuracin y la complejidad de la LAN
que se quiera formar y, con precios de US$1.395 (5 usuarios) a US$47.995 (1000
usuarios), del presupuesto. NetWare 4.0 aumenta las capacidades de NetWare
3.11, aadiendo muchas caractersticas nuevas. Algunas de las ms atractivas son
el NetWare Directory Services (NDS), la compresin de a rchivos, la
subasignacin de bloques, la distribucin de archivos y la administracin basada
en Microsoft Windows.
NDS est en el ncleo de NetWare 4.0. Basado en el estndar X.500, NDS es una
base de datos diseada jerrquicamente que reemplaza el Bindery en versiones
anteriores de NetWare. Toda la informaci&oacut e;n de la red se guarda en el
NDS. NDS considera todas las entidades de la red como objetos, cada uno de los
cuales es un puntero a un usuario, un grupo de usuarios, servidores de
impresoras, o un volumen en el servidor. Con este cambio Novell no abandona a
los usuarios del Bindery, NDS puede emular a un Bindery, facilitando la
actualizacin a las compaas que tengan un entorno mixto de servidores 2.x, 3.x
y 4.x.
Lo bueno del NDS es la tolerancia a fallos que proporciona. Si el servidor que
contiene la informacin se daa, NDS busca en su base de datos en los otros
servidores para recopilar la informacin para una conexi&oac ute;n y permitirle
conectarse a la red. Esto es posible porque la base de datos de NDS est
duplicada en todos los servidores en la red en particiones, que mantienen toda la
informacin de la red. En contraste, StreetTalk de Banyan mantiene la informacin
de un usuario en un solo servidor: Si ese servidor sufre algn tipo de avera, el
usuario no se podr conectar a la red.
La subasignacin de bloques, la compresin de archivos y la migracin de
archivos son algunas de las caractersticas atractivas en la versin 4.0. La
subasignacin de bloques interviene cuando, por ejemplo, un archivo, de 2Kb se
guarda en un servidor que tiene bloques de 4Kb. Normalmente, los 2Kb
adicionales de espacio en el disco que no se usaron seran desperdiciados, pero

81

Programacin
con la subasignacin de bloques activada, ese espacio pue de ser utilizado por
otros archivos para rellenar el resto del bloque. Usando una razn de 2:1, la
compresin de archivos tambin puede hacer una gran diferencia en el espacio
del disco duro.
La distribucin de archivos es una caracterstica que ha sido ofrecida en algunos
paquetes de resguardo en cinta. Novell ha incorporado, el High Capacity Storage
Systems (Sistema de Almacenamiento de Alta Capacidad o HCSS) , en NetWare
4.0 HCSS permite fijar indicadores en archivos que muestran la frecuencia con
que se utilizan y adems permite moverlos a otros medios que incluso no tienen
que estar en el disco del servidor. Un marcador fantasma permanece en los vol&
uacute;menes para que si un usuario trata de abrir el archivo, el sistema lo
recupera de su lugar de almacenamiento alterno y la copia se hace
transparentemente.
Con NetWare 4.0, Novell tambin aade un programa de administracin basado
en Microsoft Windows uniendo caractersticas de configuracin nuevas y viejas en
programas familiares tales como SYSCON, PCONS OLE y PRINTDEF. Los
atributos del GUI facilitan el aadir, mover, borrar y modificar objetos de la red.
El proceso de instalacin del servidor bajo esta nueva versin es un procedimiento
totalmente basado en mens. Un CD-ROM que contiene todos los archivos de
instalacin significa que no se tendr que ca mbiar discos flexibles. Despus de
instalar el primer servidor, se puede copiar el contenido del CD-ROM al volumen
del servidor para poder instalar otros servidores en la red con mayor velocidad.
Novell ha cambiado totalmente el entorno, reemplazando 2 archivos IPX y NET,
con mdulos. Los Mdulos Cargables Virtuales (VLMs), que ofrecen una solucin
ms flexible a la estacin de trabajo, son cargados en memoria por el VLM
Manager. El VLM Manager aprovecha automticamente la memoria alta
disponible, conservando la memoria convencional. Los VLMs ocupan menos
memoria convencional que sus predecesores, y con la habilidad de rfagas de
paquetes incorporada, ocupan menos memoria que incluso BNETX (El entorno de
modo de rfaga usado en una estacin).
Como son mdulos, los VLMs se pueden aadir o eliminar con rapidez. Adems
de los nuevos entornos, un mejor apoyo para Microsoft Windows aade una
interfaz grfica para aliviar el problema de conectarse, desconectarse, analizar un
disco y conectarse a una cola de impresin.
Hay tres rutas de transferencia para actualizar desde NetWare 3.11:
a.
b. A travs de una conexin a un servidor 4.0 es el procedimiento ms seguro,
pero puede ser el ms caro. Hay que instalar un servidor separado con
NetWare 4.0 y colocarlo en la red. Si se tiene un servidor adicional

82

Programacin
disponible, se puede instalar de un servidor a otro, actualizando cada uno
en cada paso.
c. A travs de una conexin en el mismo servidor requiere un riesgo a la
integridad de los datos. Es necesario tener un cliente con un disco duro o
un sistema de resguardo en cinta lo suficientemente grande para contener
toda la informacin acuten del servidor temporalmente mientras se
configura el servidor para NetWare 4.0.
d. Una actualizacin en el lugar tambin requiere cierto riesgo, en su mayora
debido a los posibles fallos durante la actualizacin. Simplemente se debe
asegurar de tener un resguardo completo de la red antes de comenzar el
proceso. Este procedimiento no est disponible en los servidores 3.0;
primero se tiene que actualizar a NetWare 3.1 o superior.
Requerimientos:

PC basada en una 386 o superior.


6Mb de RAM
12Mb-60Mb de espacio en Disco Duro.

Bibliografas

http://www.drdcomputacion.com
83

Programacin

http://www.pcworldenespanol.com/
http://revistas.unam.mx/index.php/cys/search/search
http://www.monografias.com/trabajos35/dispositivosalmacenamiento/dispositivos-almacenamiento.shtml
https://line.do/es/evolucion-de-las-computadoras/l8i/vertical
http://www.cad.com.mx/generaciones_de_las_computadoras.htm
http://biblio3.url.edu.gt/Libros/provinciales/computadoras.pdf
https://www.maestrodelacomputacion.net/la-evolucion-de-los-dispositivosde-almacenamiento/
http://www.monografias.com/trabajos93/historia-y-evolucion-dispositivosalmacenamiento/historia-y-evolucion-dispositivos-almacenamiento.shtml
https://sites.google.com/site/is23generaciones/cuarta-generacion-1971-a1981
https://line.do/es/evolucion-de-los-dispositivos-de-entrada-ysalida/c9f/vertical
http://rolex-myblock.blogspot.mx/2011/03/evolucion-historica-de-losdispositivos.html
http://erickrucoba.blogspot.mx/2011/10/evolucion-de-dispositivos-deentrada.html
https://prezi.com/u7mzzadeh6d7/dispositivos-de-entrada-y-salida/
http://es.ccm.net/contents/304-lenguajes-de-programacion
http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/4/informatica_4.pd
f
http://computerhoy.com/listas/software/7-lenguajes-programacion-mejorespagados-del-mundo-30933?page=7
http://www.monografias.com/trabajos5/sisop/sisop.shtml
http://elidiomadelaweb.com/sistemas-operativos/los-sistemas-operativosactuales/
http://www.e-mas.co.cl/categorias/informatica/tiposso.htm
https://www.masadelante.com/faqs/sistema-operativo
https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n

84