Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Historia de la Informática (página 2)



Partes: 1, 2, 3, 4, 5

A pesar de que Pascal fue
enaltecido por toda Europa debido a
sus logros, la Pascalina, resultó un desconsolador fallo
financiero, pues para esos momentos, resultaba más costosa
que la labor humana para los cálculos
aritméticos.

Gottfried W. von Leibnitz
(1646-1717). Fué el siguiente en avanzar en el diseño
de una máquina calculadora mecánica. Su artefacto se basó en el
principio de la suma repetida y fue construida en 1694.
Desarrolló una máquina calculadora
automática con capacidad superior a la de Pascal, que
permitía no solo sumar y restar, sino también
multiplicar, dividir y calcular raíces cuadradas. La de
Pascal solo sumaba y restaba. Leibnitz mejoro la máquina
de Pascal al añadirle un cilindro escalonado cuyo objetivo era
representar los dígitos del 1 al 9. Sin embargo, aunque el
merito no le correspondía a él (pues se considera
oficialmente que se inventaron más tarde), se sabe que
antes de decidirse por el cilindro escalonado Leibnitz
consideró la utilización de engranajes con dientes
retráctiles y otros mecanismos técnicamente muy
avanzados para esa época. Se le acredita el haber
comenzado el estudio formal de la lógica,
la cual es la base de la programación y de la operación de
las computadoras.

Joseph-Marie Jackard (1753-1834).
El primer evento notable sucedió en el 1801 cuando el
francés, Joseph Jackard, desarrolló el telar
automático. Jackard tuvo la idea de usar tarjetas
perforadas para manejar agujas de tejer, en telares
mecánicos. Un conjunto de tarjetas constituían un
programa, el
cual creaba diseños textiles.

Aunque su propósito no era
realizar cálculos, contribuyó grandemente al
desarrollo de
las computadoras. Por primera vez se controla una máquina
con instrucciones codificadas, en tarjetas perforadas, que era
fácil de usar y requería poca intervención
humana; y por primera vez se utiliza un sistema de
tarjetas perforadas para crear el diseño deseado en la
tela mientras esta se iba tejiendo. El telar de Jackard opera de
la manera siguiente: las tarjetas se perforan
estratégicamente y se acomodan en cierta secuencia para
indicar un diseño de tejido en particular. Esta
máquina fue considerada el primer paso significativo para
la automatización binaria.

Charles Babbage (1793-1871).
Profesor de
matemáticas de la Universidad de
Cambridge, Inglaterra,
desarrolla en 1823 el concepto de un
artefacto, que él denomina "máquina diferencial".
La máquina estaba concebida para realizar cálculos,
almacenar y seleccionar información, resolver problemas y
entregar resultados impresos. Babbage imaginó su
máquina compuesta de varias otras, todas trabajando
armónicamente en conjunto: los receptores recogiendo
información; un equipo transfiriéndola; un elemento
almacenador de datos y operaciones; y
finalmente una impresora
entregando resultados. Pese a su increíble
concepción, la máquina de Babbage, que se
parecía mucho a una computadora,
no llegó jamás a construirse. Los planes de Babbage
fueron demasiado ambiciosos para su época. Este avanzado
concepto, con respecto a la simple calculadora, le valió a
Babbage ser considerado como el precursor de la
computadora.

La novia de Babbage, Ada Augusta
Byron, luego Condesa de Lovelace, hija del poeta inglés
Lord Byron, que le ayuda en el desarrollo del concepto de la
Máquina Diferencial, creando programas para la
máquina analítica, es reconocida y respetada, como
el primer programador de computadoras. La máquina
tendría dos secciones fundamentales: una parte donde se
realizarían todas las operaciones y otra donde se
almacenaría toda la información necesaria para
realizar los cálculos, así como los resultados
parciales y finales. El almacén de
datos consistiría de mil registradoras con un
número de 50 dígitos cada una; estos números
podrían utilizarse en los cálculos, los resultados
se podrían guardar en el almacén y los
números utilizados podrían transferirse a otras
ubicaciones.

La máquina
controlaría todo el proceso
mediante la utilización de tarjetas perforadas similares a
las inventadas por Jackard para la creación de
diseños de sus telares, y que hasta hace muy poco se
utilizaban regularmente.

Babbage no pudo lograr su
sueño de ver construida la máquina, que
había tomado 15 años de su vida entre los dos
modelos, pero
vio un equipo similar desarrollado por un impresor sueco llamado
George Scheutz,

basado en su máquina
diferencial.

documentación Babbage
colaboró con Scheutz en la fabricación de su
máquina e inclusive influyó todo lo que pudo, para
que esta ganara la Medalla de Oro Francesa
en 1855.

George Boole Trabajo sobre
las bases sentadas por Leibnitz, quien preconizó que todas
las verdades de la razón se conducían a un tipo de
cálculo, para desarrollar en 1854, a la
edad de 39

años, su teoría
que redujo la lógica a un tipo de álgebra
extremadamente simple. Esta teoría de la
lógica construyó la
base del desarrollo de los circuitos de
conmutación tan importantes en telefonía y en el diseño de las
computadoras electrónicas.

En su carrera como matemático,
Boole tiene a su crédito
también haber descubierto algo que se considera que fue
indispensable para el desarrollo de la teoría de la
relatividad de Einstein: las magnitudes constantes. Los
descubrimientos matemáticos de George Boole, que llevaron
al desarrollo del sistema numérico binario (0 y 1)
constituyeron un hito incuestionable a lo largo del camino hacia
las modernas computadoras electrónicas. Pero además
de la lógica, el álgebra de Boole tiene otras
aplicaciones igualmente importantes, entre ellas la de ser el
álgebra adecuada para trabajar con la teoría
combinatoria de la operación de unión e
intersección. También, siempre en este campo, al
considerar la idea del número de elementos de un conjunto,
el álgebra de Boole constituye la base de la
Teoría de las Probabilidades.

 Claude Elwood Shanon
A él  se debe el haber podido aplicar a la electrónica – y por extensión a las
computadoras – los conceptos de la teoría de Boole. Shanon
hizo sus planteamientos en 1937 en su tesis de grado
para la Maestría en Ingeniería Eléctrica en el MIT, uno
de los planteles de enseñanza científica y
tecnológica más prestigiosos del
mundo.

En su tesis, Shanon
sostenía que los valores de
verdadero y falso planteados en el álgebra lógica
de Boole, se correspondían con los estados 'abierto' y
'cerrado' de los circuitos eléctricos.
Además, Shanon definió la unidad de
información, et bit, lo que consecuentemente
constituyó la base para la utilización del
sistema
binario de las computadoras en lugar del sistema
decimal.

 William Burroughs
Nació el 28 de enero de 1857. La monotonía del
trabajo y la gran precisión que se necesitaba en los
resultados de los cálculos fue lo que decidió a
William Burroughs a intentar construir una máquina
calculadora precisa y rápida. Sus primeros pasos en este
sentido los dio en 1882, pero no fue hasta casi veinte
años después que su esfuerzo se vio coronado por el
éxito.

Las primeras máquinas
compradas por los comerciantes tuvieron que recogerse
rápidamente, puesto que todas,   presentaban
defectos en el funcionamiento. Este nuevo fracaso fue el paso
final antes de perfeccionar definitivamente su
modelo al cual llamó Maquina
de sumar y hacer listas.

A pesar de otro sin número de
dificultades en promoción y mercado de su
nueva máquina, poco a poco este modelo se fue imponiendo, de modo que luego de
dos años ya se vendían a razón de unas 700
unidades por año. William Burroughs, fue el primer genio
norteamericano que contribuyó grandemente al desarrollo de
la computadora

Herman Hollerith Las tarjetas
perforadas. Uno de los hitos más importantes en el
proceso paulatino del desarrollo de una máquina que
pudiera realizar complejos cálculos en forma
rápida, que luego llevaría a lo que es hoy la
moderna computadora, lo constituyó la introducción de tarjetas
perforadas como elemento de
tabulación. Este histórico avance
se debe a la inventiva de un ingeniero norteamericano de
ascendencia alemán: Herman Hollerith. La idea de utilizar
tarjetas perforadas realmente no fue de Hollerith, sino de John
Shaw Billings, su superior en el Buró del Censo, pero fue
Hollerith quien logró poner en práctica la idea que
revolucionaría para siempre el cálculo mecanizado.
El diseñó un sistema mediante el cual las tarjetas
eran perforadas para representar la información del censo.
 Las tarjetas eran insertadas en la máquina
tabuladora y ésta calculaba la información
recibida. Hollerith no tomó la idea de las tarjetas
perforadas del invento de Jackard, sino de la "fotografía
de perforación" Algunas líneas ferroviarias de la
época expedían boletos con descripciones
físicas del pasajero; los conductores hacían
orificios en los boletos que describían el color de cabello,
de ojos y la forma de nariz del pasajero. Eso le dio a Hollerith
la idea para hacer la fotografía perforada de cada
persona que se
iba a tabular. Hollertih fundó la Tabulating Machine
Company y vendió sus productos en
todo el mundo. La demanda de sus
máquinas se extendió incluso hasta Rusia. El
primer censo llevado a cabo en Rusia en 1897, se registró
con el Tabulador de Hollerith. En1911, la Tabulating Machine
Company, al unirse con otras Compañías,
formó la
Computing-Tabulating-Recording-Company.

Konrad Zuse  Nació en
Berlín, Alemania, en
1910. EN 1938, Zuse ya había desarrollado una
notación binaria que aplicó a los circuitos de
rieles electromagnéticos que utilizaría más
tarde en su serie de computadoras. El primer modelo
construido por Konrad Zuse en 1939, fabricado por completo en la
sala de su casa sin ayuda por parte de ninguna agencia
gubernamental o privada, era un equipo completamente
mecánico. Este modelo fue bautizado con el nombre de V-1
(V por Versuchmodel o Modelo Experimental). La
intención principal de Zuse al tratar de desarrollar estos
equipos era proporcionar una herramienta a los científicos
y técnicos para resolver la gran cantidad de problemas
matemáticos involucrados en todas las ramas
científicas y técnicas.

En 1939 Konrad Zuse fue reclutado por el
ejército alemán, pero pronto fue licenciado (al
igual que la mayoría de los ingenieros en aquella
época) y asignado a trabajar en el cuerpo de
ingeniería que desarrollaba
los proyectos del
ejército, en el Instituto Alemán de Investigación
Aérea.

Al mismo tiempo que
prestaba sus servicios en
el citado instituto, Zuse continúo sus trabajos en la sala
de su casa y desarrolló una versión más
avanzada de su V-1 a la cual denominó V-2. Este modelo lo
construyó Zuse con la ayuda de un amigo y estudiante del
mismo Instituto Técnico donde Zuse había estudiado,
Helmut Schreyer había hecho su carrera en la rama de las
telecomunicaciones y fue él quién
consiguió los rieles electromagnéticos con que
funcionaba este nuevo modelo, y quien sugirió a Zuse su
utilización.

Alfred Teichmann, uno de los principales
científicos que prestaba servicios en el Instituto
Alemán de Investigaciones Aéreas, tuvo conocimiento
de los trabajos de Zuse con respecto a las computadoras en una
visita que hizo a la casa de éste. Allí vio por
primera vez el modelo V-2 y quedó inmediatamente
convencido de que máquinas como esa eran las que se
necesitaban para resolver algunos de los problemas más
graves que se estaban presentado en el diseño de los
aviones.

Con la ayuda de Teichmann, Zuse
logró conseguir fondos que le permitieron continuar con
sus investigaciones
un poco más holgadamente, aunque siempre en la sala de su
casa, y así surgió, con la colaboración
activa de Schreyer, la V-3, la primera computadora digital
controlada por programas y completamente operacional. Este modelo
constaba con 1.400 rieles electromagnéticos en
la memoria, 600 para
el control de las
operaciones aritméticas y 600 para otros
propósitos.

Durante la Segunda Guerra Mundial
Wernher von Braun, eminente científico alemán,
desarrolló un tipo de bombas cohete
denominadas V-1 y V-2, muy celebres sobre todo por el
papel que jugaron en los ataques
alemanes contra el puerto de Amberes (Bélgica) y Londres
(Inglaterra). Para evitar confusión con estas bombas, Zuse
determinó cambiar la denominación de sus
computadoras que, en adelante, pasaron a conocerse como Z-1, Z-2,
Z-3, etc.

El modelo Z-3 desarrollado a finales de
1941 como una computadora de propósito general, fue
parcialmente modificada por Zuse con el objetivo de apoyar el esfuerzo bélico
alemán. La nueva versión se denominó Z-4 y
se utilizó como elemento de teledirección de una
bomba volante desarrollada por la compañía Henschel
Aircraft Co., para la Luftwaffe. (Zuse niega que la Z-4 haya sido
diseñada para este propósito).

La bomba volante alemana era una
especie de avión no tripulado que era transportado por un
bombardero. Cuando el piloto del bombardero determinaba el
blanco, lanzaba la bomba que era dirigida mediante la Z-4 por la
tripulación del bombardero. En sus aplicaciones de
diseño, la Z-4 estaba destinada a medir las
inexactitudes en las dimensiones de las piezas de los aviones y a
calcular la desviación que éstas
ocasionarían en la trayectoria de  los aviones que se
construyeran con ellas.

En 1944, mientras Zuse trabajaba
en la terminación de la Z-4, se enteró de la
presentación en Estados Unidos de
la Mark I de Aiken, la primera computadora digital programable
norteamericana.

Al finalizar la guerra, con la
caída del régimen nazi, Zuse abandono Berlín
llevando consigo todos los elementos de su computadora Z-4 (todos
los modelos previos fueron destruidos en los bombardeos a
Berlín). Ayudado por un amigo de Wernher von Braun, a
quien había conocido en su huida de Berlín, Walter
Robert Dornberger, Zuse y von Braun abandonaron Alemania, y Zuse
se radicó en la pequeña población Alpina de Suiza, Hinterstein.
Allí continúo trabajando en su proyecto,
desarrollado su computadora.

En 1947, la Z-4 tenía una
capacidad de 16 palabras en la memoria, en
1949 la capacidad había aumentado hasta 64 palabras y en
la década de los 50, la memoria de la Z-4 podía
contener 1024 palabras de 32 bits. Además podía
multiplicar en un segundo y extraer raiz cuadrada en 5
segundos.

Además de sus trabajos en
la computadora, Konrad Zuse desarrolló un idioma prototipo
al cual llamó Plankalkul, en el cual anticipó y
resolvió varios de los problemas que se abarcan hoy en el
contexto de la teoría de los algoritmos,
programación estructurada y estructura de
la programación de idiomas para computadoras.
Poco
después de terminada la guerra, ya establecido en suelo suizo,
Konrad Zuse estableció su propia compañía a
la que denomino Zuse KG. Después de varios años
construyendo su serie Z y de no haber logrado interesar lo
suficiente a IBM para respaldar su producción, Remington Rand decidió
ayudar a comercializar en Suiza algunos de los modelos fabricados
por Zuse. Finalmente, la firma Siemens AG adquirió los
derechos sobre la
compañía de Zuse y éste quedó como
consultor semi-retirado de la misma. Hoy se reconoce a Konrad
Zuse como el creador de la primera computadora digital
programable completamente operacional.

Atanasoff Y Berry Una antigua
patente de un dispositivo que mucha gente creyó que era la
primera computadora digital electrónica, se
invalidó en 1973 por orden de un tribunal federal, y
oficialmente se le dio el crédito a John V. Atanasoff como
el inventor de la computadora digital electrónica. El Dr.
Atanasoff, catedrático de la Universidad Estatal de Iowa,
desarrolló la primera computadora digital
electrónica entre los años de 1937 a 1942.
Llamó a su invento la computadora Atanasoff-Berry,
ó solo ABC (Atanasoff Berry Computer). Un estudiante
graduado, Clifford Berry, fue una útil ayuda en la
construcción de la computadora
ABC.

En el edificio de Física de la
Universidad de Iowa aparece una placa con la siguiente leyenda:
"La primera computadora digital electrónica de
operación automática del mundo, fue construida en
este edificio en 1939 por John Vincent Atanasoff,
matemático y físico de la Facultad de la
Universidad, quien concibió la idea, y por Clifford Edward
Berry, estudiante graduado de física."

MARK I (1944) Marca la fecha
del la primera computadora, que se pone en funcionamiento. Es el
Dr. Howard Aiken en la Universidad de Harvard, Estados Unidos,
quien la presenta con el nombre de Mark I. Es esta la primera
máquina procesadora de información. La Mark I
funcionaba eléctricamente, las instrucciones e
información se introducen en ella por medio de tarjetas
perforadas. Los componentes trabajan basados en principios
electromecánicos. Este impresionante equipo medía
16 mts. de largo y 2,5 mts. de alto, contenía un
aproximado de 800.000 piezas y más de 800 Km. de
cablerío eléctrico, pero los resultados obtenidos
eran igualmente impresionantes para la época. Mark I
tenía la capacidad de manejar números de hasta 23
dígitos, realizando sumas en menos de medio segundo,
multiplicaciones en tres segundos y operaciones
logarítmicas en poco más de un minuto. Ahora
sí se había hecho por fin realidad el sueño
de Pascal, Leibnitz, Babbage, Hollerith y muchos otros: la
computadora era una realidad.

A pesar de su peso superior a 5
toneladas y su lentitud comparada con los equipos actuales, fue
la primera máquina en poseer todas las
características de una verdadera
computadora.

 ENIAC (1946) La
primera computadora electrónica fue terminada de construir
en 1946, por J.P.Eckert y J.W.Mauchly en la Universidad de
Pensilvania, U.S.A. y se le llamó ENIAC (Electronic
Numerical Integrator And Computer), ó Integrador
numérico y calculador electrónico. La ENIAC
construida para aplicaciones de la Segunda Guerra
mundial, se terminó en 30 meses por un equipo de
científicos que trabajaban bajo reloj. La ENIAC, mil veces
más veloz que sus predecesoras electromecánicas,
irrumpió como un importante descubrimiento en la tecnología de la
computación. Pesaba 30 toneladas y ocupaba
un espacio de 450 mts cuadrados, llenaba un cuarto de 6 mts x 12
mts y contenía 18.000 bulbos, tenía que programarse
manualmente conectándola a 3 tableros que contenían
más de 6000 interruptores. Ingresar un nuevo programa era
un proceso muy tedioso que requería días o incluso
semanas. A diferencia de las computadoras actuales que operan con
un sistema binario (0,1) la ENIAC operaba con uno decimal (0,
1,2…9) La ENIAC requería una gran cantidad de electricidad. La
ENIAC poseía una capacidad, rapidez y flexibilidad muy
superiores a la Mark I. Comenzaba entonces la tenaz competencia en la
naciente industria,
 IBM desarrolló en 1948 su computadora SSEC
(Calculadora Electrónica de Secuencia Selectiva) superior
a la ENIAC.

Para 1951, la
compañía Remington Rand, otra de las líderes
en este campo, presento al mercado su modelo denominado Univac,
que ganó el contrato para el
censo de 1951 por su gran capacidad, netamente superior a todas
las demás desarrolladas hasta el
momento.

Pero para la recia personalidad
de Thomas J. Watson,  se le hacia difícil aceptar que
su compañía no fuera la principal en este campo,
así que en respuesta al desarrollo de la Univac, hizo que
IBM construyera su modelo 701, una computadora científica
con una capacidad superior 25 veces a la SSEC y muy superior
también a la Univac.

A la 701 siguieron otros modelos
cada vez más perfeccionados en cuanto a rapidez,
precisión y capacidad, los cuales colocaron a IBM como el
líder
indiscutible de la naciente industria de las computadoras. Aunque
en la actualidad es  difícil mencionar a una firma
determinada como la primera en este campo, es un hecho
irrefutable que IBM continua siendo una de las principales
compañías en cuanto a desarrollo de computadoras se
refiere.

  • Con ella se inicia una nueva
    era, en la cual la computadora pasa a ser el centro del
    desarrollo tecnológico, y de una profunda
    modificación en el comportamiento de las sociedades.

EDVAC (1947)
 (Eletronic Discrete-Variable Automatic Computer, es decir
computadora automática electrónica de variable
discreta) Desarrollada por Dr. John W. Mauchly, John Presper
Eckert Jr. y John Von Neumann.
Primera computadora en utilizar el concepto de almacenar
información.  Podía almacenar datos e
instrucciones usando un código
especial llamado notación binaria. Los programas
almacenados dieron a las computadoras una flexibilidad y
confiabilidad tremendas, haciéndolas más
rápidas y menos sujetas a errores que los programas
mecánicos. Una computadora con capacidad de programa
almacenado podría ser utilizada para varias aplicaciones
cargando y ejecutando el programa apropiado. Hasta este punto,
los programas y datos podían ser ingresados en la
computadora sólo con la notación binaria, que es el
único código que las computadoras "entienden". El
siguiente desarrollo importante en el diseño de las
computadoras fueron los programas intérpretes, que
permitían a las personas comunicarse con las computadoras
utilizando medios
distintos a los números binarios. En 1952 Grace Murray
Hoper una oficial de la Marina de EE.UU., desarrolló el
primer compilador, un programa que puede traducir enunciados
parecidos al inglés en un código binario
comprensible para la maquina llamado COBOL (COmmon
Business-Oriented Languaje).

EDSAC (1949) Desarrollada
por Maurice Wilkes.  Primera computadora capaz de almacenar
programas electrónicamente.

 LA ACE PILOT (1950)
Turing tuvo listos en 1946 todos los planos de lo que
posteriormente seria conocido como ACE Pilot (Automatic
Calculating Engine) que fue presentado públicamente en
1950. La ACE Pilot estuvo considerada por mucho tiempo como la
computadora más avanzada del mundo, pudiendo
realizar

operaciones tales como suma y
multiplicación en cuestión de
microsegundos.

 UNIVAC I (1951)
Desarrollada por Mauchly y Eckert para la Remington-Rand
Corporation.  Primera computadora comercial utilizada en las
oficinas del censo de los Estados Unidos.  Esta
máquina se encuentra actualmente en el "Smithsonian
Institute".  En 1952 fue utilizada para predecir la
victoria de Dwight D. Eisenhower en las elecciones presidenciales
de los Estados Unidos. 

El Software

 Durante las tres primeras
décadas de la Informática, el principal desafío
era el desarrollo del hardware de las
computadoras, de forma que se redujera el costo de
procesamiento y almacenamiento de
datos.

La necesidad de enfoques
sistemáticos para el desarrollo y mantenimiento
de productos de software se patentó
en la década de 1960. En ésta década
aparecieron las computadoras de la tercera generación y se
desarrollaron técnicas de programación como la
multiprogramación y de tiempo compartido. Y mientras las
computadoras estaban haciéndose más complejas,
resultó obvio que la demanda por los productos de software
creció en mayor cantidad que la capacidad de producir y
mantener dicho software. Estas nuevas capacidades aportaron la
tecnología necesaria para el establecimiento de sistemas
computacionales interactivos, de multiusuario, en línea y
en tiempo real; surgiendo nuevas aplicaciones para la
computación, como las reservaciones aéreas,
bancos de
información médica, etc.

Fue hasta el año 1968 que
se convocó una reunión en Garmisch, Alemania
Oriental estimulándose el interés
hacia los aspectos técnicos y administrativos utilizados
en el desarrollo y mantenimiento del software, y fue entonces
donde se utilizó el término "Ingeniería del
Software".

A lo largo de la década de
los ochenta, los avances en microelectrónica han dado como
resultado una mayor potencia de
cálculo a la vez que una reducción de costo. Hoy el
problema es diferente. El principal desafío es mejorar la
calidad y
reducir el costo.Las personas encargadas de la
elaboración  del software se han enfrentado a
problemas muy comunes: unos debido a la exigencia cada vez
mayor en la capacidad de resultados del software, debido al
permanente cambio de
condiciones lo que aumenta su complejidad y obsolescencia; y
otros, debido a la carencia de herramientas
adecuadas y estándares de tipo organizacional encaminados
al mejoramiento de los procesos en el
desarrollo del software.

Una necesidad sentida en nuestro
medio es el hecho de que los productos de software deben ser
desarrollados con base en la implementación de
estándares mundiales, modelos , sistemas métricos,
capacitación del recurso humano y otros
principios y técnicas de la ingeniería de
software que garanticen la producción de software de
calidad y competitividad
a nivel local e internacional.

Con el acelerado avance
tecnológico de la información, la cantidad y la
complejidad de los productos de software se están
incrementando considerablemente, así como también
la exigencia en su funcionalidad y confiabilidad; es por esto que
la calidad y la productividad se
están constituyendo  en las grandes preocupaciones
tanto de gestores como para desarrolladores de
software.

En los primeros años del
software, las actividades de elaboración de programas eran
realizadas por una sola persona utilizando lenguajes de bajo
nivel y ajustándose a un computador en
especial, que generaban programas difíciles de entender,
aun hasta para su  creador, después de algún
tiempo de haberlo producido. Esto implicaba tener que repetir el
mismo proceso  para desarrollar el mismo programa para otras
máquinas.
Por consiguiente, la confiabilidad, facilidad de mantenimiento y
cumplimiento no se garantizaban y la productividad era muy
baja.

Posteriormente, con la
aparición de técnicas estructuradas y con base en
las experiencias de los programadores se mejoró la
productividad del software. Sin embargo, este software
seguía teniendo fallas, como por ejemplo: inadecuada,
dificultad para su correcto funcionamiento, y por su puesto,
insatisfacción del cliente.

Conforme se incrementaba la
tecnología de los computadores, también
crecía la demanda de los productos de software, pero mucho
más lentamente, tanto que hacia 1990 se decía que
las posibilidades del software estaban retrasadas respecto a las
del hardware en un mínimo de dos generaciones de procesadores y
que la distancia continuaba aumentando.

En la actualidad  muchos de
estos problemas subsisten en el desarrollo de software, con una
dificultad adicional relacionada  con la incapacidad para
satisfacer totalmente la gran demanda y exigencias por parte de
los clientes.

El elemento básico del
software es el programa. Un programa es un grupo de
instrucciones destinadas a cumplir una tarea en particular. Un
programa puede estar conformado por varios programas más
sencillos.

El software se puede clasificar
en tres grupos: sistemas
operativos, lenguajes de
programación y aplicaciones.  

Sistema
Operativo

 El sistema operativo es un
conjunto de programas que coordinan el equipo físico de la
computadora y supervisan la entrada, la salida, el almacenamiento
y las funciones de
procesamiento. Incluye comandos internos
y externos. Los comandos internos se encuentran en la memoria de
la computadora y los comandos externos, generalmente,
están en la unidad de disco.  Para usar los comandos
externos, se necesitan sus archivos.  

El sistema operativo
es una colección de programas diseñados para
facilitarle al usuario la creación y manipulación
de archivos, la
ejecución de programas y la operación de
otros periféricos
conectados a la computadora.  Ejemplo de algunos
comandos son: abrir un archivo, hacer
una copia impresa de lo que hay en la pantalla y copiar un
archivo de un disco a otro.

En las décadas de los 70 y 80 la
mayor parte de las computadoras utilizaban su propio sistema
operativo, o sea, que aquellas aplicaciones creadas para un
sistema operativo no se podían usar
en otro.
 Debido a este problema, los vendedores de sistemas
operativos decidieron concentrarse en aquellos sistemas
más utilizados. Ellos visualizaron que las dos
compañías más grandes de microcomputadoras
se unirían para crear mayor compatibilidad y esto es un
hecho.

Toda computadora tiene algún tipo
de sistema operativo, el cual debe ser activado cuando la
computadora se enciende.  Si el sistema operativo
está grabado en la ROM o presente en el
disco duro de la computadora, el
sistema operativo, generalmente, se activa automáticamente
cuando la computadora se enciende.  Si no, se inserta un
disco que contenga el sistema operativo para
activarlo.

Un sistema operativo provee un
programa o rutina para preparar los discos ("formatting a disk"),
copiar archivos o presentar un listado del directorio del
disco.

El sistema operativo del disco de
una computadora personal de IBM
(IBM-PC) es una colección de programas diseñados
para crear y manejar archivos, correr programas y utilizar los
dispositivos unidos al sistema de la computadora.  Microsoft
(compañía de programas) desarrolló PC-DOS
para IBM y MS-DOS para
IBM compatibles. Los dos sistemas operativos son
idénticos.  DOS dicta cómo los programas son
ejecutados en IBM y compatibles.

El DOS ("Disk Operating System")
es el sistema operativo del disco.  Es el conjunto de
instrucciones del programa que mantiene un registro de las
tareas requeridas para la operación de la computadora, o
sea, es una colección de programas diseñados para
crear y manejar archivos, correr programas y utilizar los
dispositivos unidos al sistema de la computadora.
 

Entre las tareas
que realiza un SO tenemos:

  • Si es un sistema
    multitarea: asignar y controlar los recursos del
    sistema, definir qué aplicación y en qué
    orden deben ser ejecutadas.
  • Manejar la memoria del sistema
    que comparten las múltiples
    aplicaciones.
  • Manejar los sistemas de entrada
    y salida, incluidos discos
    duros, impresoras y
    todo tipo de puertos.
  • Envío de mensajes de
    estado a las
    aplicaciones, al administrador
    de sistema o al propio usuario, sobre cualquier
       error o información necesaria para
    el trabajo
    estable y uniforme del sistema.
  • Asume tareas delegadas de las
    propias aplicaciones, como impresión en background y
    procesamiento por lotes, con el fin de que éstas ganen
    en eficiencia y
    tiempo.
  • Administra, de existir, el
    procesamiento en paralelo. 
  • Tipos de sistemas
    operativos
  • El "Character based": DOS dice
    si está listo para recibir un comando presentando un
    símbolo ("prompt") en la pantalla: C:>. El usuario
    responde escribiendo una instrucción para ser
    ejecutada, caracter por
    caracter mediante el uso del teclado.
       
  • El "Graphic User Interface":
    Hace uso de un "mouse" como
    un dispositivo de puntero y permite que se apunte a iconos
    (pequeños símbolos o figuras que representan alguna
    tarea a realizarse) y oprimir el botón del
    "mouse" para ejecutar la
    operación o tarea seleccionada. El usuario puede
    controlar el sistema operativo seleccionando o manipulando
    iconos en el monitor.

Ejemplos de
sistemas operativos

PC-DOS (Personal Computer DOS)
      MS-DOS
(Microsoft
DOS)
      OS/2 (IBM Operating
System 2)
      DR DOS 5.0 (Digital Research
DOS)
      UNIX

Linux
      Windows para
sistemas operativos DOS
      Windows
NT
 

GENERACIONES
DE SISTEMAS OPERATIVOS

 Los sistemas operativos, al igual
que el hardware de las computadoras, han sufrido una serie de
cambios revolucionarios llamados generaciones. En el caso del
hardware, las generaciones han sido enmarcadas por grandes
avances en los componentes utilizados, pasando de válvulas
(primera generación), a transistores
(segunda generación), a circuitos
integrados (tercera generación), a circuitos
integrados de gran y muy gran escala (cuarta
generación). Cada generación sucesiva de hardware
ha sido acompañada de reducciones substanciales en los
costos,
tamaño, emisión de calor y consumo de
energía, y por incrementos notables en velocidad y
capacidad.

Generación Cero (Década de
1940)

 Los sistemas operativos han
ido evolucionando durante los últimos 40 años a
través de un número de distintas fases o
generaciones que corresponden a décadas. En 1940, las
computadoras electrónicas digitales más nuevas no
tenían sistema operativo. Las Máquinas de ese
tiempo eran tan primitivas que los programas por lo regular
manejaban un bit a la vez en columnas de switch's
mecánicos. Eventualmente los programas de lenguaje de
máquina manejaban tarjetas perforadas, y lenguajes
ensamblador
fueron desarrollados para agilizar el proceso de
programación. Los usuarios tenían completo acceso
al lenguaje de la maquina.

Todas las instrucciones eran
codificadas a mano.

Primera
Generación (Década de 1950)

 Los sistemas operativos de los
años cincuenta fueron diseñados para hacer
más fluída la transmisión entre trabajos.
Antes de que los sistemas fueran diseñados, se
perdía un tiempo considerable entre la terminación
de un trabajo y el inicio del siguiente. Este fue el comienzo de
los sistemas de procesamiento por lotes, donde los trabajos se
reunían por grupo o
lotes. Cuando el trabajo estaba en ejecución, este
tenía control total de la máquina. Al terminar cada
trabajo, el control era devuelto al sistema operativo, el cual
"limpiaba" y leía e inicia el trabajo
siguiente.

Al inicio de los años 50 esto
había mejorado un poco con la introducción de tarjetas perforadas (las
cuales servían para introducir los programas de lenguajes
de máquina), puesto que ya no había necesidad de
utilizar los tableros enchufables.  Esto se conoce como
sistemas de procesamiento por lotes de un sólo flujo, ya
que los programas y los datos eran sometidos en grupos o lotes.
El laboratorio de
investigación General Motors implementó el primer
sistema operativo para la IBM 701.

La introducción del transistor a
mediados de los años 50 cambió la
imagen radicalmente. Se crearon
máquinas suficientemente confiables las cuales se
instalaban en lugares especialmente acondicionados, aunque
sólo las grandes universidades y las grandes corporaciones
o bien las oficinas del gobierno se
podían dar el lujo de tenerlas.

Para poder correr un trabajo (programa), tenían
que escribirlo en papel (en Fortran o en lenguaje
ensamblador) y después se perforaría en
tarjetas. Enseguida se llevaría la pila de tarjetas al
cuarto de introducción al sistema y la entregaría a
uno de los operadores. Cuando la computadora terminaba el
trabajo, un operador se dirigiría a la impresora y
desprendía la salida y la llevaba al cuarto de salida,
para que la recogiera el programador.
  

Segunda
Generación (A mitad de la década de
1960)

 La característica de
la segunda generación de los sistemas operativos fue el
desarrollo de los sistemas compartidos con
multiprogramación, y los principios del
multiprocesamiento. En los sistemas de multiprogramación,
varios programas de usuarios se encuentran al mismo tiempo en el
almacenamiento principal, y el procesador se
cambia rápidamente de un trabajo a otro. En los sistemas
de multiprocesamiento se utilizan varios procesadores en un solo
sistema computacional, con la finalidad de incrementar el
poder de
procesamiento de la máquina. La independencia
de dispositivos aparece después. Un usuario que deseara
escribir datos en una cinta en sistemas de la primera
generación tenia que hacer referencia específica a
una unidad en particular. En los sistemas de la segunda
generación, el programa del usuario especificaba tan solo
que un archivo iba a ser escrito en una unidad de cinta con
cierto número de pistas y cierta densidad. El
sistema operativo localizaba, entonces, una unidad de cinta
disponible con las características deseadas, y le indicaba
al operador que montara la cinta en esa unidad.

El surgimiento de un nuevo campo:
LA INGENIERÍA DEL SOFTWARE.

Los sistemas operativos
desarrollados durante los años 60  tuvieron una
enorme conglomeración de software escrito por gente que no
entendía el software, también como el hardware,
tenía  que ser ingeniero para ser digno de confianza,
entendible y mantenible.  

Se desarrollaron sistemas compartidos,
en la que los usuarios podían acoplarse directamente con
el computador a través
de terminales. Surgieron sistemas de tiempo real, en que los
computadores fueron utilizados en el control de procesos
industriales. Los sistemas de tiempo real se caracterizan por
proveer una respuesta inmediata. 

Multiprogramación

  • Sistemas multiprogramados :
    varios trabajos se conservan en memoria al mismo tiempo, y
    el cpu se comparte entre
    ellos
  • Rutinas de E/S: provista por
    el sistema ejecutadas simultáneamente con procesamiento
    del CPU.
  • Administración de
    memoria: el sistema debe reservar memoria para varios
    trabajos.
  • Administración del
    CPU: el sistema debe elegir entre varios trabajos listos
    para ejecución.
  • Administración de
    dispositivos. 

Tercera
Generación (Mitad de la década de 1960 a mitad de
la década de 1970)

 Se inicia en 1964, con la
introducción de la familia de
computadores Sistema/360 de IBM. Los computadores de esta
generación fueron diseñados como sistemas para usos
generales. Casi siempre eran sistemas grandes, voluminosos. Eran
sistemas de modos múltiples, algunos de ellos
soportaban simultáneamente procesos por lotes, tiempo
compartido, procesamiento de tiempo real y
multiprocesamiento. Eran grandes y costosos, nunca antes se
había construido algo similar, y muchos de los esfuerzos
de desarrollo terminaron muy por arriba del presupuesto y
mucho después de lo que el planificador marcaba como fecha
de terminación.

Estos sistemas introdujeron mayor
complejidad a los ambientes computacionales; una complejidad a la
cual, en un principio, no estaban acostumbrados los usuarios.
 

Sistemas de
Tiempo Compartido

  • El  CPU se
    comparte entre varios trabajos que se encuentran residentes en
    memoria y en el disco (el CPU se asigna a un trabajo solo si
    éste esta en memoria).
  • Un trabajo es enviado dentro y
    fuera del la memoria hacia el disco.
  • Existe comunicación en-línea entre el
    usuario y el sistema; cuando el sistema operativo finaliza la
    ejecución de un comando, busca el siguiente "estatuto de
    control" no de una tarjeta perforada, sino del teclado del
    operador.
  • Existe un sistema de archivos
    en línea el cual está disponible para los datos y
    código de los usuarios 

Cuarta
Generación (Mitad de la década de 1970 a nuestros
días)

 Los sistemas de la cuarta
generación constituyen el estado
actual de la tecnología. Muchos diseñadores y
usuarios se sienten aun incómodos, después de sus
experiencias con los sistemas operativos de la tercera
generación, y se muestran cautelosos antes de
comprometerse con sistemas operativos complejos. Con la
ampliación del uso de redes de computadores y del
procesamiento en línea los usuarios obtienen acceso a
computadores alejados geográficamente a través de
varios tipos de terminales. El microprocesador
ha hecho posible la aparición de la
computadora personal,
uno de los desarrollos de notables consecuencias sociales
más importantes de las últimas décadas.
Ahora muchos usuarios han desarrollado sistemas de
computación que son accesibles para su uso personal en
cualquier momento del día o de la noche. La potencia del
computador, que costaba varios cientos de miles de dólares
al principio de la década de 1960, hoy es mucho más
accesible. El porcentaje de la población que tiene acceso
a un computador en  el Siglo XXI es mucho mayor. El usuario
puede tener su propia computadora para realizar parte de su
trabajo, y utilizar facilidades de comunicación para
transmitir datos entre sistemas. La aplicación de paquetes
de software tales como procesadores de palabras, paquetes de
bases de datos
y paquetes de gráficos ayudaron a la evolución de la computadora personal. La
llave era transferir información entre computadoras en
redes de trabajo. El correo
electrónico, transferencia de archivos, y aplicaciones
de acceso a bases de datos proliferaron. El modelo
cliente-servidor fue
esparcido. El campo de ingeniería del software
continuó evolucionando con una mayor confianza proveniente
de los EE.UU. Los ambientes del usuario, altamente
simbólicos, y orientados hacia las siglas de las
décadas de los sesenta y setenta, fueron reemplazados, en
la década de los ochenta, por los sistemas controlados por
menú, los cuales guían al usuario a lo largo de
varias opciones expresadas en un lenguaje
sencillo.

Mini-computadoras y
Microprocesadores

  • Computadoras de menor
    tamaño.
  • Desarrollo de sistemas
    operativos (UNIX, DOS, CP/M).
  • Mejora en las interfaces de
    usuario.
  • Introducción de Microprocesadores.
  • Desarrollo de lenguajes de
    programación.

Sistemas de
cómputo personales

  • Computadoras Personales-
    sistemas de cómputo dedicados a un solo
    usuario.
  • Dispositivos de E/S- teclados,
    ratón, pantalla, impresoras..
  • Conveniente al usuario y de
    respuesta rápida.
  • Puede adaptarse a la
    tecnología para soportar otros sistemas
    operativos.

Sistemas
Distribuidos

  • Sistemas Distribuidos:
    Distribuyen el cómputo entre varios procesadores
    geográficamente dispersos.
  • Sistemas débilmente
    acoplados: Cada procesador tiene su propia memoria local y
    el procesador se comunica con los demás procesadores
    mediante líneas de comunicación, buses de
    alta velocidad y
    líneas telefónicas.

Ventajas:

–       
Compartición de recursos
    

–       
Incremento en la velocidad de
cómputo

–       
Compartición de carga

–       
Confiabilidad

–       
Comunicación

Redes

  • Estaciones de Trabajo: Sun,
    Vax, Silicon Graphics.
  • Redes de Area Local Ethernet, Token
    Ring, FDDI, ATM, Redes de
    larga distancia (Arpanet).
  • Redes organizadas como
    clientes-servidores.
  • Servicios de S.O. Protocolos
    de comunicación, encriptación de datos, seguridad,
    consistencia  

Sistemas
Paralelos

  • Sistemas Paralelos:
    Sistemas de múltiples procesadores con mas de un
    procesador con comunicación entre
    ellos.
  • Sistema Fuertemente
    Acoplado: Los procesadores comparten memoria y reloj;
    la
    comunicación usualmente se realiza mediante memoria
    compartida.

Ventajas:

–        
Incremento de throughput

–        
Económica

–        
Incremento en la confiabilidad

1990 –
2000

  • Cómputo Paralelo
    (Teraflops).
  • PC’s poderosas (1.5
    GigaHertz), Computadoras Multimedia.
  • Redes de Comunicación de
    distancia mundial, con envío de imágenes, grandes cantidades de datos,
    audio y video.
  • World Wide Web.
  • Notebooks utilizando
    tecnologías de comunicación inalámbrica:
    Cómputo Móvil.
  • Cómputo Embebido y
    Robótica.

Sistemas de
Tiempo Real

  • A menudo son utilizados como
    dispositivos de control en aplicaciones dedicadas, como control
    de experimentos
    científicos, sistemas de procesamiento de
    imágenes médicas, sistemas de
    control industrial, etc…
  • Exige cumplimiento de
    restricciones de tiempos.
  • Sistemas de Tiempo Real
    Críticos.

–       
Cumplimiento forzoso de plazos de respuesta.

–       
Predecibilidad y análisis de  cumplimiento de plazos
de respuesta

  • Sistemas de tiempo real
    acríticos.

–       
Exigencia "suave" de plazos de respuesta.

–       
Atención lo mas
rápido posible a eventos, en
promedio. 

UNIX

Los orígenes del sistema
UNIX se remontan al desarrollo de un proyecto iniciado en 1968.
Este proyecto fue realizado por General Electric, AT&T, Bell
y el MIT; llevaron a cabo el desarrollo de un sistema operativo
con nuevos conceptos como la multitarea, la gestión
de archivos o la interacción con el usuario. El resultado de
estas investigaciones se bautizó como MULTICS. El proyecto
resultó ser demasiado ambicioso, por lo que no
llegó a buen fin y terminó
abandonándose.

Posteriormente la idea de este
proyecto se vuelve a retomar y conduce al gran desarrollo en 1969
del sistema operativo UNIX. Entre los investigadores destacaban
Ken Thompson y Dennis Ritchie. En principio, este sistema
operativo recibió el nombre de UNICS, aunque un año
después pasa a llamarse UNIX, como se conoce hoy en
día.

El código de UNIX estaba
inicialmente escrito en lenguaje ensamblador, pero en 1973,
Dennis Ritchie llevó a cabo un proyecto para reescribir el
código de UNIX en lenguaje C.
UNIX se convirtió así en el primer sistema
operativo escrito en lenguaje de alto nivel. Con este nuevo
enfoque fue posible trasladar el sistema operativo a otras
máquinas sin muchos cambios, solamente efectuando una
nueva compilación en la máquina de destino. Gracias
a esto la popularidad de UNIX creció y permitió
asentar la "filosofía UNIX".

Inicialmente UNIX fue considerado
como un proyecto de investigación, hasta el punto de
distribuirse de forma gratuita en algunas universidades, pero
después la demanda del producto hizo
que los laboratorios Bell iniciaran su distribución oficial.

Después de tres
décadas de haber escapado de los laboratorios Bell, el
UNIX sigue siendo uno de los SO más potentes,
versátiles y flexibles en el mundo de la
computación. Su popularidad se debe a muchos factores
incluidas su portabilidad y habilidad de correr eficientemente en
una inmensa variedad de computadoras. Descrito frecuentemente
como un sistema "simple, potente y elegante" el UNIX es hoy el
corazón
que late en el seno de millones de aplicaciones de
telefonía fija y móvil, de millones de servidores
en universidades, centros académicos, grandes, medianas y
pequeñas empresas, el SO
cuyo desarrollo viene de la mano del de Internet y que alberga a
millones de servidores y aplicaciones de la red de redes. Sin UNIX, no
cabe duda, el mundo de la informática hubiera sido
otro.

Linux

En octubre de 1991 un estudiante
graduado de Ciencias de la
Computación en la Universidad de Helsinki, llamado Linus
Torvalds, anuncia en Internet que había escrito una
versión libre de un sistema MINIX (una variante de
UNÍX) para una computadora con procesador Intel 386 y lo
dejaba disponible para todo aquel que estuviera interesado. En
los subsiguientes 30 meses se desarrollarían hasta 90
versiones del nuevo SO, finalizando en 1994 con la definitiva,
llamándola Linux
versión 1.0.

La fascinación de los
medios por Linux viene dada, entre otras cosas, por ser un
proyecto de ingeniería de software distribuido a escala
global, esfuerzo mancomunado de más de 3 000
desarrolladores y un sinnúmero de colaboradores
distribuidos en más de 90 países. El rango de
participantes en la programación del Linux se ha estimado
desde unos cuantos cientos hasta más de 40.000, ya sea
ofreciendo código, sugiriendo mejoras, facilitando
comentarios o describiendo y enriqueciendo manuales. De
hecho, se cuenta que el mayor soporte técnico jamás
diseñado de manera espontánea y gratuita pertenece
a este SO. Hoy Linux es una alternativa para muchos o un
indispensable para otros. Su importancia no puede ser relegada:
los RED HAT, los SUSE, los Mandrake pueblan miles de servidores
por todo el planeta

Las Distribuciones de Linux
son:

 Caldera: El
énfasis de esta distribución es la facilidad de uso
e instalación para los usuarios. Se orienta más
hacia el desktop a pesar que, como cualquier otra
distribución de Linux, puede ser usada para
servidores.

 Corel: Es una
distribución basada en Debian, pero extensivamente
modificada para hacerla tan fácil de usar como el sistema
operativo de Microsoft. Es quizá la distribución
más fácil de utilizar para alguien que no
esté familiarizado con Unix.

 Debian: Es una
distribución orientada más a desarrolladores y
programadores. El énfasis de esta distribución es
incluir en su sistema solamente software libre
según la definición de la Fundación del
Software Libre
(FSF).

 Mandrake: Es una
distribución originalmente basada en RedHat que se enfoca
principalmente hacia la facilidad de uso. Al igual que Corel, es
recomendada para quienes no tengan mucha experiencia con sistemas
Unix.

 RedHat: Es la
distribución más popular de Linux y para la que hay
más paquetes comerciales de software. Está
orientada tanto al desktop como a servidores. La mayoría
de servidores de web que utilizan Linux como sistema operativo
usan esta distribución.

 S.U.S.E.: Es la
distribución más popular en Europa y probablemente
la segunda más popular del mundo. Al igual que RedHat,
está orientada tanto a desktops como a
servidores.

 Slackware: Es una
distribución de Linux que pretende parecerse a BSD desde
el punto de vista del administrador de sistemas. No es una
distribución muy popular a pesar que cuando comenzó
era la más popular.

 Stampede: Es una
distribución enfocada al rendimiento y velocidad del
sistema. No es muy fácil de usar para quién no
está acostumbrado a la
administración de sistemas Unix.

OS/2 (IBM Operating System
2)

OS/2 son las siglas de "Sistema
operativo de segunda generación". La idea de OS/2
surgió entre IBM y Microsoft a mediados de los 80, en un
intento de hacer un sucesor de MS-DOS, el cual ya empezaba a
acusar el paso del tiempo y resultaba claramente desaprovechador
de los recursos de las máquinas de la época
(basadas en el Intel 286).

OS/2 1.0

OS/2 1.0 salió en abril de
1987 y era un sistema operativo de 16 bits, pues estaba pensado
para trabajar sobre el microprocesador 286. Sin embargo,
aprovechaba plenamente el modo protegido de este ordenador,
haciendo uso de sus capacidades para protección de
memoria, gestión de multitarea, etc. El resultado fue un
S.O. estable, rápido y muy potente.

OS/2 ya tenía incorporada
desde esa primera versión la multitarea real. Se
podían ejecutar varias sesiones simultáneamente, en
cada una de ellas se podían tener múltiples
programas, y cada uno de ellos podía tener
múltiples threads en ejecución. Se trataba de una
multitarea jerárquica, con cuatro niveles de prioridad:
Crítico (útil para programas que requieran atención casi constante por parte del CPU,
como un módem), Primer plano (correspondiente al programa
que tiene acceso a la pantalla, teclado y ratón), Medio
(programas lanzados por el usuario que se ejecutan en BackGround)
y Desocupado (tareas de poca importancia o lentas, como el
Spooler de impresión). Dentro de cada nivel (a
excepción del de Primer plano), existen 32 niveles de
prioridad, los cuales son asignados dinámicamente a cada
programa por el S.O. en función
del porcentaje de uso del CPU, de los puertos de E/S,
etc.

OS/2, además,
permitía memoria
virtual, con lo que se podían ejecutar programas
más largos que lo que la memoria física instalada
permitiría en principio (los requerimientos de aquella
versión eran un 286 con 2 megas de memoria). Por otro
lado, incluía la característica de
compartición de código: al cargar dos veces un
mismo programa, el código de este no se duplicaba en
memoria, sino que el mismo código era ejecutado por dos
Threads diferentes. Esto permitía ahorrar mucha
memoria.

Esta versión de OS/2 era
íntegramente en modo texto. Si bien
el Sistema Operativo daba la posibilidad de usar los modos
gráficos de la tarjeta del ordenador, no incluía
ningún API que ayudase en ello, recayendo todo el trabajo
de diseño de rutinas de puntos, líneas, etc, en el
programador de la aplicación. Esto no era realmente tan
problemático, pues era lo que se hacía en el mundo
del MS-DOS. Sin embargo, se añoraba un entorno
gráfico como Windows.

OS/2 1.1

En la versión 1.1,
aparecida en octubre de 1988, llegó por fin el
Presentation Manager, un gestor de modo gráfico, junto con
la primera versión de Work Place Shell. Ambos formaban un
entorno gráfico muy parecido al aún no
comercializado Windows 3.0. También hizo su
aparición el formato de ficheros HPFS (High Performance
File System). Este sistema de ficheros complementaba al
clásico FAT, que era el usado por MS-DOS y por OS/2 1.0;
sin embargo, ofrecía una gran cantidad de ventajas, tales
como:

  • Menor fragmentación
    de ficheros: HPFS busca primero una zona en donde el
    archivo entre completo, con lo que la fragmentación de
    ficheros es prácticamente inexistente. De hecho, IBM
    recomienda desfragmentar los discos duros una vez al
    año, y solo a los paranoicos.
  • Mayor capacidad: HPFS
    admite discos duros de  más capacidad, manteniendo
    el tamaño del cluster (unidad mínima de
    información almacenable) en 512 bytes o un sector. En
    FAT, el tamaño mínimo de cluster para un disco duro
    es 2048 bytes, y para discos mayores aumenta (un disco duro de
    1 giga tiene un tamaño de cluster de
    32K).
  • Soporte para nombres
    largos: Permite nombres de hasta 256
    caracteres.
  • Mayor seguridad: Si al grabar
    en un sector se detecta un error, se marca automáticamente como defectuoso y
    se graba en otra parte.
  • Mayor velocidad en el acceso:
    Gracias a la estructura
    jerárquica de directorios, que optimiza el acceso a
    disco.

El gran problema de OS/2 es que
seguía siendo un S.O. de 16 bits, con lo que no
aprovechaba plenamente las capacidades de los 386 de la
época, que empezaron a extenderse con más velocidad
de la esperada. Según una revista del sector, Microsoft sugirió
hacer una versión de 32 bits (que obligaría a
ejecutarla en ordenadores 386 o superiores), pero IBM
insistió en perfeccionar la de 16 bits. Sobre quien dijo
cada cosa realmente solo se puede especular. Lo único que
se sabe a ciencia cierta
es que la versión de OS/2 de 32 bits presentada por
Microsoft en 1990 era casi igual que la versión 1.3, con
la única diferencia de que el kernel era de 32 bits. IBM,
por su parte, quería un escritorio orientado a objetos, y
no el clásico shell de OS/2 1.x (el cual Microsoft
copiaría para su Windows 3.0). Puestas así las
cosas, finalmente se rompió el acuerdo entre
ambos.

OS/2
2.0

 Fué la primera
versión de OS/2 de 32 bits, iba a salir inicialmente a
finales de 1990; pero al no contar con la ayuda de Microsoft, IBM
no fue capaz de sacarlo hasta 1992, dándole a Windows 3.0
el tiempo suficiente para asentarse en el
mercado.

OS/2 2.0 tenía todas las
ventajas de los anteriores OS/2, unido al nuevo núcleo de
32 bits. No se trataba, por tanto, de un retoque de la
versión de 16 bits, sino un sistema operativo
prácticamente nuevo que aprovechaba al máximo las
capacidades del modo protegido del microprocesador 386. Sin
embargo, iba más allá que Windows, pues al
contrario que éste, ofrecía
compatibilidad garantizada con todas las aplicaciones de 16
bits anteriores, gracias a la inclusión del API original
de 16 bits junto con el nuevo de 32, y además sin perdida
de prestaciones.
Así mismo, ofrecía también
compatibilidad con Windows 2.x y 3.0, junto con una
compatibilidad con MS-DOS muy mejorada, gracias al modo V86 que
incorporan los micros 386 y del que carecía el 286: en
OS/2 1.x la compatibilidad DOS era muy limitada, quedando
reducida a una sola tarea y realizando un cambio entre modo real
y modo protegido del microprocesador, además de consumir
de manera permanente 640 K  de memoria. Aparte, la
emulación no era todo lo buena que cabía esperar.
Todos estos problemas desaparecieron en la versión 2.0,
pudiendo tener varias sesiones DOS totalmente independientes
entre sí, con una compatibilidad cercana al 100% y
beneficiándose de las capacidades de Crash Protection del
OS/2, que impiden que un programa pueda colapsar el sistema
entero.

Por otro lado, el Work Place Shell
(el shell de trabajo gráfico, de ahora en adelante WPS)
fue muy mejorado, resultando un shell totalmente orientado a
objetos, con acceso directo a los ficheros, carpetas dentro de
carpetas, ficheros sombra (conocidos como alias en los sistemas
UNIX) y un escritorio de verdad. 

IBM consiguió vender OS/2 2.0 en
grandes cantidades; sin embargo, no consiguió su autentico
despegue, en parte por culpa de la falta de apoyo por parte de
las empresas del software. El
API del Presentation Manager, aunque similar al de Windows,
tenía muchas diferencias, con lo que las empresas tuvieron
que elegir entre uno u otro, ante la imposibilidad de muchas de
ellas de dividir su talento entre ambos
sistemas.

OS/2  3.0
(Warp)

 A principios de 1994 aparece el
OS/2 Warp, nombre comercial de la versión 3.0 de OS/2. En
ella surgen nuevos elementos: un kit completo de
multimedia (mejor del que
traía la versión 2.1) y el Bonus Pak, un kit de
aplicaciones que permite ponerse a trabajar con el ordenador nada
más instalar el Sistema Operativo, pues contiene elementos
como un Kit de conexión a Internet completo, el paquete
integrado IBM Works (formado por un procesador de textos,
hoja de
cálculo, base de datos
y gráficos de empresa, junto
con el PIM, que añade más funcionalidades
aprovechando las capacidades drag&drop del WPShell), soft de
terminal, soft de captura y tratamiento de video, etc. Así
mismo, la cantidad de hardware soportado fue ampliada de manera
considerable, soportando casi cualquier dispositivo existente en
el mercado:
CD-Roms, impresoras, tarjetas de sonido, soporte
PCMCIA, tarjetas de
video, tarjetas de captura de video, tarjetas SCSI, etc. Los
requisitos mínimos de esta versión seguían
siendo un 386SX a 16MHz con 4 megas de RAM, los mismos
que para Windows 3.11, y podía ejecutar programas DOS,
OS/2 16bits, OS/2 32 bits, Windows 2.x y Windows 3.x
(incluía además el API Win32, con lo que se
podían ejecutar incluso programas Windows de
32bits).

IBM se metió en una
campaña publicitaria a nivel
mundial para promocionar esta nueva versión, la cual, sin
embargo, no dio los resultados esperados. A pesar de eso, OS/2 es
ampliamente utilizado en múltiples empresas, bancos sobre
todo, en donde su estabilidad es la mayor
garantía.

Poco después sale al mercado una
revisión de Warp, denominada Warp Connect, la cual
añade un kit completo de conexión a redes,
soportando prácticamente cualquier estándar de red,
incluyendo
Novell Netware, TCP/IP, etc.
junto con soporte para SLIP y PPP.

OS/2 4.0
(Merlín)

 En Noviembre de 1996 se hizo la
presentación de Merlín, nombre clave de OS/2 4.0, y
que, en contra de lo que mucha gente piensa, no tiene nada que
ver con el mítico mago de la corte del rey Arturo, sino
con un pájaro parecido a un águila (siguiendo la
nueva filosofía de IBM de nombrar sus creaciones con
nombres de
aves). Merlín trae todo lo que
ofrecía OS/2 3.0, pero lo amplía con un conjunto
extra de características, como son:

  • Un soporte todavía mayor
    de hardware.
  • Mayor simplicidad de
    instalación.
  • Librerías OpenDoc
    (compatibles con OLE 2.0, pero más
    potentes).
  • Librerías OpenGL, que
    permiten aprovechar las capacidades 3D de las tarjetas que
    soporten este estándar.
  • API de desarrollo Open32, que
    permiten recompilar con suma facilidad las aplicaciones
    escritas para Windows95 y WindowsNT, de forma que aprovechen al
    máximo los recursos de OS/2.
  • Un Bonus Pack ampliado,
    incluyendo una nueva versión del IBMWorks basada en
    OpenDoc, y las utilidades LotusNotes.
  • Un Kernel aún más
    optimizado.
  • Escritorio mejorado, ofreciendo
    una orientación a objeto aún
    mayor.
  • Un extenso soporte de
    conectividad, superior a la versión Connect de Warp 3.0,
    lo que lo convierte en el cliente de red universal, pudiendo
    conectarse a casi cualquier servidor (no solo Warp Server, sino
    Windows NT Server, Novell,
    etc).
  • HPFS mejorado: mayor capacidad
    por disco y seguridad.
  • Sesiones DOS reales (el micro se
    conmuta a modo real, y todo el contenido de la

    RAM se guarda en disco, quedando el Sistema
    Operativo y el resto de las utilidades congelados, pudiendo
    rearrancar en cualquier momento. Es útil para juegos o
    programas de DOS muy exigentes, que se niegan a funcionar en
    una sesión DOS virtual).

  • La Característica Estrella
    de cara al Márketing: El VoiceType. Se trata de un
    software reconocedor de voz, capaz de funcionar con cualquier
    tarjeta de sonido,
    y que permite al usuario trabajar exclusivamente mediante el
    dictado de comandos. Este sistema, al contrario que otros
    disponibles hasta el momento, realmente reconoce el habla de
    forma continua, de modo que no sólo se puede usar para
    navegar por el escritorio y controlar programas, sino que sirve
    perfectamente para dictar cualquier tipo de texto, como
    artículos, cartas, etc.,
    sin tocar una sola tecla. Se trata, por tanto, de un avance de
    los que serán, sin duda, los sistemas operativos del
    futuro.

Partes: 1, 2, 3, 4, 5
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter