Está en la página 1de 29

1.

HISTORIA DE LA INFORMATICA

¿Qué es la informática?
La definición que propone la Organización de las Naciones Unidas
para la Educación, la Ciencia y la Cultura (UNESCO), para la
informática es “la ciencia que tiene que ver con los sistemas de
procesamiento de información y sus implicaciones económicas,
políticas y socioculturales”. El concepto de información es muy
reciente y además sumamente sencillo. Fue desarrollado en la
década de los 40's por el matemático norteamericano Claude
Shannon, para referirse a todo aquello que está presente en un
mensaje o señal cuando se establece un proceso de comunicación
entre un emisor y un receptor. Procesar información implica el
almacenamiento, la organización y, muy importante, la
transmisión de la misma. Para ello, en la informática
intervienen varias tecnologías; en términos generales, podemos
decir que son dos sus pilares: la computación y la comunicación;
es decir, en lo que hoy conocemos como informática confluyen
muchas de las técnicas y de las máquinas que el hombre ha
desarrollado a lo largo de la historia para apoyar y potenciar
sus capacidades de memoria, de pensamiento y de comunicación.

Sintetizando, la informática es el producto del encuentro de dos


líneas tecnológicas: el de las máquinas de comunicar y el de las
computadoras. Si bien el término Informática surgió hace poco
más de medio siglo, cuando el propio Shannon desarrolló la
Teoría de la Información, apostado en los terrenos de la lógica
matemática y los albores de la computación moderna.

Orígenes de la informática

Hace millones de años, el hombre primitivo necesitaba contar


cosas, estas cada vez fueron haciéndose más numerosas (rebaños,
pertenencias, objetos, etc...), creciendo en cantidad y en
número. Un hombre solo, no podía desarrollar el trabajo de
contar y se vio forzado a diseñar algún aparato o utensilio para
ayudarse en aquella tarea. Además de contar este hombre
necesitaba hacer operaciones (tales como qué numero de pieles
cambiaba por tal numero de piedrecitas de oro, etc.), para un
hombre de aquella época todos aquellos cálculos le resultaban
muy tediosos y repetitivos, por lo que fueron apareciendo
utensilios para contar y realizar cálculos.

El mas antiguo de estos utensilios es el ábaco. El mas antiguo


que se conoce se remonta al 3500 a. c.. Constituye el primer
dispositivo manual de calculo. Servía para representar números
en el sistema decimal y contar, permitiendo la realización de
operaciones aritméticas sencillas.

Tras el ábaco que ha permanecido intacto durante siglos pasamos


al siglo XVI. El matemático escocés John Napier (1550-1617),
inventó los logaritmos consiguiendo así simplificar las
multiplicaciones, divisiones, y potencias. En el año 1614
construyó las primeras tablas de logaritmos. Napier, ideó un
dispositivo consistente en unos palillos con números impresos en
ellos que a merced de un complicado e ingenioso mecanismo le
permitía realizar operaciones de multiplicación y división.

En 1623, el astrónomo y profesor de la Universidad de Tübingen


(Alemania) Wilhelm Sshickard (1592-1635) ideó una calculadora
mecánica denominada reloj calculante, aunque no pudo construirse
en aquella época debido a los pocos adelantos técnicos. Estaba
basada en ruedas dentadas y permitía realizar sumas y restas. A
principios del siglo XX ingenieros de IBM la construyeron.

El primer calculador mecánico apareció en 1642 tan solo 25 años


después de que Napier publicase una memoria describiendo su
máquina. El artífice de esta máquina fue el filósofo y
matemático francés Blaise Pascal (1623-1662) en cuyo honor se
llama Pascal uno de los lenguajes de programación que más
impacto a causado en los últimos años.

A los 18 años Pascal deseaba dar con la forma de reducir el


trabajo de cálculo de su padre que era un funcionario de
impuestos. La calculadora que inventó Pascal tenía el mismo
principio de funcionamiento que rige los cuentakilómetros de los
vehículos actuales; una serie de ruedas tales que cada una de
ellas hacía avanzar un paso a la siguiente al completar una
vuelta. Las ruedas estaban marcadas con números del 0 al 9 y
había dos para los decimales y 6 para los enteros. Esta máquina
realizaba operaciones de suma y resta mostrando el resultado por
una serie de ventanillas. Las ruedas giraban mediante una
manivela con lo que para sumar o restar lo que había que hacer
era girar la manivela correspondiente en un sentido o en otro el
número de pasos adecuado. Esta máquina se llamó máquina
aritmética de Pascal.

En 1650, Patridge, basándose en los descubrimientos de Napier,


inventó la regla de cálculo, pequeña regla deslizante sobre una
base fija en la que figuraban diversas escalas para la
realización de determinadas operaciones. Este dispositivo de
calculo a sido muy utilizado hasta los años setenta cuando las
calculadoras electrónicas la sustituyeron.

Gottfried Wilhelm von Leibnitz (1646-1716) fue uno de los genios


de su época; a los 26 años aprendió matemáticas de modo
autodidacta y procedió a inventar el cálculo. En el año 1671
inventó una máquina de calcular por la simple razón de que nadie
le enseñó las tablas de multiplicar. Leibnitz mejoró la máquina
de Pascal construyendo su calculadora universal, capaz de sumar,
restar, multiplicar, dividir y extraer raíces cuadradas,
caracterizándose por hacer la multiplicación de forma directa.

Ya en el siglo XIX, en el año 1805 el francés Joseph Marie


Jacquard (1752-1834) después de algunos intentos anteriores,
construyó un telar automático que realizaba un control perfecto
sobre las agujas tejedoras, utilizando tarjetas perforadas que
contenían los datos para el control de las figuras y dibujos
que había que tejer. Podemos considerar el telar de Jacquard
como la primera máquina mecánica programada. La máquina de
Jacquard supuso un gran éxito comercial y un gran avance en la
industria textil.

La antesala de la informática

Aunque hubo muchos precursores de los actuales sistemas


informáticos para muchos especialistas la historia empieza con
Charles Babbage (1792-1871) matemático e inventor inglés que al
principio del siglo XIX predijo muchas de las teorías en que se
basan los actuales ordenadores. Desgraciadamente al igual que
sus predecesores vivió en una época en que ni la tecnología ni
las necesidades estaban al nivel de permitir la materialización
de sus ideas.

En 1822 diseñó su máquina diferencial para el cálculo de


polinomios. Basada en fundamentos mecánicos con ruedas dentadas,
pero que destacaban de todas las máquinas antecesoras debido al
su alto grado de complejidad. Esta máquina no se llegó a
construir, debido a la complejidad mecánica que tenia y a que
Babbage antes de completarla ya estaba pensando en la segunda
máquina. Sin embargo fue construida bastantes años después y fue
utilizada para la resolución de funciones y la obtención de
tablas de dichas funciones.

En 1833, Babbage tuvo una idea mejor. Mientras que la máquina


diferencial era un aparato de proceso único Babbage decidió
construir una máquina de propósito general que pudiese resolver
casi cualquier problema matemático, la llamada máquina
analítica. Esta máquina era capaz de realizar todas las
operaciones matemáticas y con posibilidad de ser programada por
medio de tarjetas de cartón perforado, siendo además capaz de
almacenar en su interior una cantidad de cifras considerable.
Con esta máquina Babbage consiguió por
primera vez en la historia definir los
fundamentos teóricos de las computadoras
actuales. Se ideó para la realización
automática de tablas de logaritmos y
funciones trigonométricas. Esta máquina
nunca llegó a construirse, debido a que
la ingeniería de entonces no estaba lo
suficientemente desarrollada como para
permitir la fabricación de los delicados
y complejos mecanismos requeridos. Por
esta máquina y su estructura, Babbage es
considerado el padre de la Informática.

Máquina analítica de Babbage Charles Babbage (1792-1871)


Como los modernos computadores, la máquina de Babbage tenía un
mecanismo de entrada y salida por tarjetas perforadas, una
memoria, una unidad de control y una unidad aritmético-lógica.
Preveía tarjetas separadas para programa y datos. Una de sus
características más importantes era que la máquina podía alterar
su secuencia de operaciones sobre la base del resultado de
cálculos anteriores algo fundamental en los ordenadores
modernos.

Augusta Ada Byron, condesa de Lovelace, fue la primera persona


que realizó programas para la máquina analítica de Babbage, de
tal forma que ha sido considerada como la primera programadora
de la historia.

En 1854, el ingeniero sueco Pehr George Scheutz (1788-1824),


apoyado por el gobierno de su país, construyo una máquina
diferencial similar a la de Babbage, denominada máquina de
tabular. Se utilizó fundamentalmente para la realización de
cálculos astronómicos y tablas para las compañías de seguros. A
excepción de Scheutz pocos hombres trataron de construir
autómatas o calculadoras siguiendo los esquemas de Babbage, su
trabajo quedo olvidado hasta que inventores modernos que
desarrollaban sus propios proyectos de computadores se
encontraron de pronto con tan extraordinario precedente.

También en 1854, el matemático ingles George Boole (1785-1873)


desarrolló la teoría del álgebra de Boole, que permitió a sus
sucesores el desarrollo matemático del álgebra binaria. El
álgebra de Boole es un pilar básico de la electrónica de
conmutación y por lo tanto en la electrónica digital actual.

Otro inventor digno de mención es Herman Hollerith (1860-1929).


A los 19 años en 1879 fue contratado como asistente en las
oficinas del censo norteamericano que por aquel entonces se
disponía a realizar el recuento de la población para el censo de
1880. Este tardó 7 años y medio en completarse manualmente.
Hollerith fue animado por sus superiores a desarrollar un
sistema de cómputo automático para futuras tareas.

Hollerith observó que la mayoría de las preguntas del censo


tenían como respuesta un sí o un no, lo que hizo idear en 1886
una tarjeta perforada para contener la información de las
personas censadas y una máquina capaz de leer y tabular dicha
información. El sistema inventado por Hollerith, llamado máquina
censadora o tabuladora, utilizaba tarjetas perforadas en las que
mediante agujeros se representaba el sexo, la edad, raza, etc.
En la máquina las tarjetas pasaban por un juego de contactos que
cerraban un circuito eléctrico activándose un contador y un
mecanismo de selección de tarjetas. Estas se leían a ritmo de 50
a 80 por minuto. Desde 1880 a 1890 la población subió de 5O a 63
millones de habitantes aun así el censo de 1890 se realizó en
dos años y medio gracias a la máquina de Hollerith.

En 1895, Hollerith incluyó en su máquina la operación de sumar


con el fin de utilizarla para la contabilidad de los
Ferrocarriles Centrales de Nueva York. Esto constituyó el primer
intento de realización
automática de una
aplicación comercial,
lo que hizo que el
funcionario se
introdujera en el mundo
de los negocios de tal
manera que, en 1896,
fundó la empresa
Tabulating Machines
Company (Compañía de
máquina tabuladoras),
la cual se fusionó con:
la Dayton Scale Co., la
International Time
Recording Co., y la Bundy Manufacturing Co. en el año 1911
formando la Computing-Tabulating-Recording Co. (CTR) Que pasó a
llamarse en 1924 IBM (International Business Machines).

El nacimiento del computador actual

En 1887, el francés León Bollée (1870-1913) construyó una


máquina de multiplicar en la que las multiplicaciones se
realizaban directamente por poseer internamente una tabla
completa de multiplicar. A finales del siglo XIX, un español
residente en Estados Unidos llamado Ramón Verea construyó una
máquina de multiplicar similar a la de León de Bollée. En 1893,
el suizo Otto Steiger construyó la primera calculadora que tuvo
éxito comercial; su nombre fue la Millonaria y se utilizó para
los grandes negocios y en algunas aplicaciones de calculo
científico.

Otro ingeniero español, Leonardo Torres Quevedo (1852-1936)


construyó a principios del siglo XX, siguiendo la línea de
Babbage, varias máquinas o autómatas teledirigidos.

En 1936, el matemático inglés Alan M. Turing (1912-1954)


desarrolló la teoría de una máquina capaz de resolver todo tipo
de problemas con solución algoritmica, llegando a la
construcción teórica de las máquinas de Turing. Con los estudios
de Alan M. Turing, se inició la teoría matemática de la
computación, en la que se define algoritmo como la
representación formal y sistemática de un proceso. De estos
estudios surgió la teoría de la computación que engloba el
análisis encaminado a encontrar formas de descripción y
representación de procesos algorítmicos. Todos estos estudios
han dado como resultado entre otras cosas la unificación de los
organigramas o algoritmos gráficos de resolución de un problema.

Entre 1939 y 1944 Howard H. Aiken (1900-1973) de la universidad


de Harvard en colaboración con técnicos de IBM desarrolló la
idea de Babbage. Construyéndose una calculadora numérica basada
en el uso de ruedas dentadas, embragues electromecánicos y relés
telefónicos electromecánicos, este ultimo componente fue idea de
la compañía telefónica americana Bell Telephones Laboratories.
Este computador que fue la primera computadora electromecánica
de la historia se llamó Calculador Automático de Secuencia
Controlada. (Automatic Sequence Controlled Calculator - ASCC)
Aunque se le conoce mas por el nombre de Mark-1.

MARK - 1 . Automatic Sequence Controlled Calculator

Se terminó de construir en 1944 y tenía elementos de entrada,


memoria central, unidad aritmética, unidad de control y
elementos de salida, tal como ideo Babbage en su día. Como
soportes de entrada y salida utilizaba las tarjetas y las cintas
perforadas. El Mark-1 era un computador de 16.6 metros de largo
y 2.6 de alto. Tenía 800.000 elementos móviles y 800 kilómetros
de cables. Podía realizar las cuatro operaciones básicas y
trabajar con información almacenada en forma de tablas. Operaba
con números de hasta 23 dígitos y sumaba dos números en menos de
1 segundo, también podía multiplicar dos números de 8 dígitos en
2 segundos. El Mark 1 trabajaba en código decimal y no binario.

En 1938, el alemán Claude Shannon comenzó a aplicar la teoría


del álgebra de Boole en la representación de circuitos lógicos.
Publicó en 1948 la teoría matemática de las comunicaciones y
realizó diversos estudios sobre la teoría de la información,
donde aparecieron medidas de la cantidad de información como el
bit (binary digit).

John Vincent Atanasoff nació en 1903, su padre era un ingeniero


eléctrico emigrado de Bulgaria y su madre una maestra de escuela
con un gran interés por las matemáticas que transmitió a su
hijo. Atanasoff se doctoró en física teórica y comenzó a dar
clases en la Universidad de Iowa al comienzo de los años 30. Se
encontró con lo que por entonces eran dificultades habituales
para muchos físicos y técnicos; los problemas que tenían que
resolver requerían una excesiva cantidad de cálculo para los
medios de que disponían. Aficionado a la electrónica y conocedor
de la máquina de Pascal y las teorías de Babbage, Atanasoff
empezó a considerar la posibilidad de construir un calculador
digital. Decidió que la máquina habría de operar en sistema
binario, hacer los cálculos de modo totalmente distinto a como
los realizaban las calculadoras mecánicas e incluso concibió un
dispositivo de memoria mediante almacenamiento de carga
eléctrica. Durante un año maduró el proyecto y finalmente
solicitó una ayuda económica al Consejo de Investigación del
Estado de Iowa. Con unos primeros 650 dólares contrató la
cooperación de Clifford Berry, estudiante de ingeniería y los
materiales para un modelo experimental.

En diciembre de 1940 Atanasoff se encontró con John W. Mauchly


en la American Association for the Advancement of Science
(Asociación Americana para el Avance de la Ciencia)
abreviadamente AAAS. Mauchly que dirigía el departamento de
física del Ursine College cerca de Filadelfia se había
encontrado con los mismos problemas en cuanto a velocidad de
cálculo que Atanasoff y estaba convencido de que habría una
forma de acelerar el cálculo por medios electrónicos. Al carecer
de medios económicos construyó un pequeño calculador digital y
se presentó al congreso de la AAAS para presentar un informe
sobre el mismo. A raíz de aquello Atanasoff y Maunchly tuvieron
un intercambio de ideas que muchos años después ha desembocado
en una disputa entre ambos sobre la paternidad del computador
digital. Después de esta investigación sobre la electrónica
aplicada a la computación, Atanasoff y Berry recibieron otras
dos donaciones que sumaron 1460 dólares y otros 5000 dólares de
una fundación privada. Por fin, en 1942 se terminó el ABC
(Atanasoff Berry Computer). Se consideró la primera máquina de
calcular digital y era totalmente electrónica. No recibió la
denominación de computadora debido a que no existía la
posibilidad de programarla. Su utilización se basó en la
resolución de ecuaciones lineales y diferenciales.

En 1941 Maunchly se matriculó en unos cursos sobre ingeniería


eléctrica en la escuela Moore de Ingeniería donde conoció a un
instructor de laboratorio llamado Jonh Presper Eckert. Entre
ambos surgió una compenetración que les llevaría a cooperar en
un interés común: el desarrollo de un calculador electrónico. El
entusiasmo que surgió entre ambos llevó a Maunchly a escribir a
Atanasoff solicitándole su cooperación para construir un
computador como el ABC en la escuela Moore.

La escuela Moore de Ingeniería Eléctrica trabajaba entonces en


un proyecto conjunto con científicos de la Universidad de
Pensilvania y el Ministerio de Defensa de los Estados Unidos
para la construcción una máquina capaz de realizar el calculo de
la trayectoria de proyectiles por medio de tablas. La cantidad
de cálculos necesarios era inmensa tardándose treinta días en
completar una tabla mediante el empleo de una máquina de cálculo
analógica. Aun así, esto era unas 50 veces más rápido de lo que
tardaba un hombre con una sumadora de sobremesa. Atanasoff y
Berry fueron integrantes del proyecto, y sus estudios y ensayos
en su calculadora ABC fueron de gran ayuda, sin embargo
Atanasoff se distanció del proyecto para poder patentar él la
computadora, algo que le fue imposible.

En el laboratorio, Mauchly trabajó sobre sus ideas y las de


Atanasoff publicando una memoria que despertó el interés de
Lieutenant Herman Goidstine joven matemático que hacía de
intermediario entre la Universidad y el ejército y que consiguió
interesar al Departamento de Ordenación en la financiación de un
computador electrónico digital. El 9 de abril de 1943 se
autorizó a los dos hombres (Jonh W. Mauchly y Jonh Presper
Eckert) a iniciar el desarrollo del proyecto. El resultado de
todo este trabajo dio lugar a que en 1945 se terminara la
fabricación del ENIAC (Electronic Numeric Integrator And
Calculator, Integrador y Calculador Numérico Electrónico).
Esta computadora estaba construida basado en válvulas de vacío,
sustituyendo a los relés, así se consiguió una mayor rapidez en
le resolución de problemas. La diferencia esencial del ENIAC y
el ABC consistía en que el ENIAC era programable y universal, es
decir, podía ser aplicada a cualquier tipo de cálculos. El ENIAC
era mil veces mas rápido que el MARK-1 y realizaba la suma de
dos números en dos diezmilésimas de segundo, multiplicándolos en
tres milésimas de segundo. Tenía 20 acumuladores de 10 dígitos,
era capaz de sumar, restar, multiplicar y dividir; además tenia
3 tablas de funciones. La entrada y la salida de datos se
realizaba mediante tarjetas perforadas. Tenía un volumen
aproximado de 111 metros cúbicos, ocupaba una superficie de 160
metros cuadrados y su peso era aproximadamente de 30 toneladas,
poseía 17.486 válvulas de vacío, 50.000 conmutadores, 70.000
resistencias, 10.000 condensadores, 7500 interruptores, 1500
relés y un consumo entre 100.000 y 200.000 vatios (lo que un
bloque de 50 viviendas). Este ultimo dato hizo que al conectarse
el ENIAC por primera vez, las luces de una buena parte de la
ciudad de Filadelfia sufrieran un gran descenso en la
iluminación, quedándose la cuidad casi a oscuras. Además, el
equipo necesitaba un equipo de aire acondicionado debido al
calor que producía y su mantenimiento era muy elevado, sobre
todo debido a las válvulas.

En un test de prueba en febrero de 1946 el ENIAC resolvió en 2


horas un problema de física nuclear que previamente habría
requerido 100 horas de trabajo de un hombre. Lo que
caracterizaba al ENIAC como a los ordenadores modernos no era
simplemente su velocidad de cálculo, sino el hecho de que
combinando operaciones permitía realizar tareas que antes eran
imposibles.

En 1946 el matemático húngaro John Von Neumann propuso una


versión modificada del Eniac; el EDVAC (Electronic Discrete
Variable Automatic Computer) que se construyó en 1952. Esta
máquina presentaba dos importantes diferencias respecto al
ENIAC: En primer lugar empleaba aritmética binaria lo que
simplificaba enormemente los circuitos electrónicos de cálculo.
En segundo lugar permitía trabajar con un programa almacenado.
El Eniac se programaba enchufando centenares de clavijas y
activando un pequeño numero de interruptores. Cuando había que
resolver un problema distinto era necesario cambiar todas las
conexiones proceso que llevaba muchas horas. Von Neumann propuso
cablear una serie de instrucciones y hacer que éstas se
ejecutasen bajo un control central. Además propuso que los
códigos de operación que habían de controlar las operaciones se
almacenasen de modo similar a los datos en forma binaria. De
este modo el EDVAC no necesitaba una modificación del cableado
para cada nuevo programa pudiendo procesar instrucciones tan
deprisa como los datos. Además el programa podía modificarse a
sí mismo ya que las instrucciones almacenadas como datos podían
ser manipuladas aritméticamente.

Tras abandonar la universidad, John W. Mauchly y John Presper


Eckert, fundaron su propia empresa, la Eckert-Mauchly
Corporation. Como primer proyecto desarrollaron una computadora
binaria automática que se denominó BINAC (Binary Automatic
Computer) cuya novedad consistió en la realización de
determinadas transmisiones de señales internas de forma
paralela. Con esta máquina aparecieron los diodos
semiconductores en las computadoras, así como la utilización de
las cintas magnéticas. El 14 de junio de 1951, Mauchly construyó
la primera computadora puesta a la venta; este fue el UNIVAC-I
(Universal Automatic Computer, Computador Automático Universal).

A partir de 1952 se construyeron computadoras en serie, como las


MANIAC-I, MANIAC-II. En 1953 IBM fabricó su primer computador
para aplicaciones científicas, el 701. Anteriormente había
anunciado una máquina para aplicaciones comerciales el 702 pero
esta máquina fue rápidamente considerada inferior al Univac-I.
Para compensar esto IBM lanzó al mercado una máquina que resultó
arrolladora, el 705, el primer ordenador que empleaba memorias
de núcleos de ferrita. También se construyó el UNIVAC-II, con
núcleos de ferrita, lo que le haría claramente superior a su
antecesor pero por diversos problemas esta máquina no vio la luz
hasta 1957, fecha en la que había perdido su liderazgo en el
mercado frente al 705 de IBM.

IBM superó rápidamente a Sperry en volumen de ventas gracias una


eficaz política comercial que actualmente la sigue manteniendo a
la cabeza de todas las compañías de informática del mundo en
cuanto a ventas.

A partir de entonces fueron apareciendo progresivamente más y


más máquinas. Veamos las etapas que diferencian unas máquinas de
otras según sus características. Cada etapa se conoce con el
nombre de generación.

La primera generación (1940-1952)

El Univac I viene a marcar el comienzo de lo que se llama la


primera generación. Los ordenadores de esta primera etapa se
caracterizan por emplear el tubo de vacío como elemento
fundamental de circuito. Son máquinas grandes pesadas y con unas
posibilidades muy limitadas. Su uso fundamental fue la
realización de aplicaciones en los campos científico y militar.
El tubo de vacío es un elemento que tiene un elevado consumo de
corriente genera bastante calor y tiene una vida media breve.
Hay que indicar que a pesar de esto no todos los ordenadores de
la primera generación fueron como el Eniac, las nuevas técnicas
de fabricación y el empleo del sistema binario llevaron a
máquinas con unos pocos miles de tubos de vacío. Utilizaban como
lenguaje de programación el lenguaje máquina y como únicas
memorias para conservar información las tarjetas perforadas, la
cinta perforada y las líneas de demora del mercurio.

La segunda generación (1952-1964)


En 1952 comienza la segunda generación cuyas máquinas empleaban
circuitos transistorizados. El transistor es un elemento
electrónico que permite reemplazar al tubo con las siguientes
ventajas: su consumo de corriente es mucho menor con lo que
también es menor su producción de calor. Su tamaño es también
mucho menor. Esto permite una drástica reducción de tamaño.
Mientras que las tensiones de alimentación de los tubos estaban
alrededor de los 300 voltios las de los transistores vienen a
ser de 10 voltios con lo que los demás elementos de circuito
también pueden ser de menor tamaño al tener que disipar y
soportar tensiones mucho menores. El transistor es un elemento
constituido fundamentalmente por silicio o germanio. Su vida
media es prácticamente ilimitada y en cualquier caso muy
superior a la del tubo de vacío. Como podemos ver el simple
hecho de pasar del tubo de vacío al transistor supone un gran
paso en cuanto a reducción de tamaño, consumo y aumento de
fiabilidad.

Los campos de aplicación en aquella época fueron, además del


científico y militar, el administrativo y de gestión; es decir,
las computadoras empezaron a utilizarse en empresas que se
dedicaban a los negocios. Comenzaron además a utilizarse los
llamados lenguajes de programación evolucionados, que hacían mas
sencilla la programación; entre ellos podemos citar el
Ensamblador y algunos de los denominados de alto nivel, como
Fortran, Cobol y Algol. Asimismo, comenzaron a utilizarse como
memoria interna los núcleos de ferrita y el tambor magnético, y
como memoria externa la cinta magnética y los tambores
magnéticos.

La tercera generación (1964-1971)

En 1964 la aparición del IBM 360 marca el comienzo de la tercera


generación. Las placas de circuito impreso con múltiples
componentes pasan a ser reemplazadas por los circuitos
integrados. Estos elementos son unas plaquitas de silicio
llamadas chips sobre cuya superficie se depositan por medios
especiales unas impurezas que hacen las funciones de diversos
componentes electrónicos. Así pues un puñado de transistores y
otros componentes se integran ahora en una plaquita de silicio.
Aparentemente esto no tiene nada de especial salvo por un
detalle; un circuito integrado con varios centenares de
componentes integrados tiene el tamaño de una moneda.

Así pues hemos dado otro salto importante en cuanto a la


reducción de tamaño. El consumo de un circuito integrado es
también menor que el de su equivalente en transistores
resistencias y demás componentes. Además su fiabilidad es
también mayor. La miniaturización se extendió a todos los
circuitos de la computadora, apareciendo las minicomputadoras.
Se utilizaron tecnologías SSI y MSI.

En la tercera generación se construyen computadoras como el IBM


370 y el Burroughs, que utilizan memorias electrónicas en lugar
de las de núcleos de ferrita. Estas representan un gran avance
en cuanto a velocidad y en especial en cuanto a reducción de
tamaño. En un chip de silicio no mayor que un centímetro
cuadrado cabían 64.000 bits de información, en núcleos de
ferrita esa capacidad de memoria puede requerir cerca de un
litro en volumen.

Asimismo, el software evolucionó de forma considerable con un


gran desarrollo de los sistemas operativos, en los que se
incluyó la multiprogramación, desechándose el procesamiento
batch, también se incluye el tiempo real y el modo interactivo.
Aparecen innumerables lenguajes de programación. Las capacidades
de memoria empiezan a ser enormemente grandes. En esta etapa
cobran gran auge los minicomputadores. Estos son máquinas con un
procesador de 16 bits una memoria de entre 16 y 32 KB y un
precio de unos pocos millones de pesetas.

La cuarta generación (1971-1981)

En 1971 aparece el microprocesador, consistente en la


integración de toda la CPU de una computadora en un solo
circuito integrado. La tecnología utilizada es la LSI (Large
Scale Integration) que permitió la fabricación de
microcomputadoras y computadoras personales, así como las
computadoras monopastilla. Se utilizó además el disquete (floppy
disk) como unidad de almacenamiento externo. Aparecieron una
gran cantidad de lenguajes de programación de todo tipo y las
redes de transmisión de datos (teleinformática) para la
interconexión de computadoras.

La quinta generación (1981-?)

En 1981, con la aparición del PC se produce una nueva generación


de ordenadores, estos ya no solo pertenecen a grandes empresas,
si no que también empieza a llegar la informática a las pequeñas
empresas, lo que implica una reducción de costes y una mayor
proliferación de los sistemas informáticos. A partir de 1981
hasta nuestros días la informática a tenido una evolución tal,
que la potencia de cálculo que en su día tuvieron los
minicomputadores es ampliamente superada por un buen PC.

En la quinta generación se utilizan sistemas operativos


gráficos, la construcción de programas es más sencilla que
nunca, debido a que existen aplicaciones para programar
visualmente. El reconocimiento de voz es una realidad en los
ordenadores de la 5ª generación. El vídeo digital, el sonido y
la interactividad forman la multimedia. Los sistemas de
almacenamiento internos pueden albergar hasta 2 Gbytes de
información y existen sistemas de almacenamiento externo que
pueden llegar a tener una capacidad de 100 Gbytes.

El PC arrasa en informática, perdiendo popularidad los sistemas


Mac y similares, aunque existen apuestas, como la del Power PC.
Actualmente no se concibe empresa sin ordenador, y dentro de
poco... el ordenador será un electrodomestico mas, o mejor
dicho, será el centro de nuestros electrodomesticos.
Actualmente, la comunicación de los ordenadores está muy
avanzada, todos los ordenadores del mundo se pueden
interconectar entre si, por medio de un simple cable telefónico,
el teletrabajo empieza a cobrar vida, la teleconferencia, la
telemedicina, los WebPC’s salen al mercado... ¿habremos llegado
a la sexta generación? ¿La generación de la aldea global?....La
respuesta, como siempre, la tiene el tiempo.

2. CONCEPTOS GENERALES DE UN COMPUTADOR

Que es un computador?

De acuerdo con la Organización Internacional de Normalización


(ISO), el computador es: "Un dispositivo de procesamiento de
datos, capaz de efectuar cálculos, incluyendo operaciones
aritméticas y lógicas sin necesidad de intervención humana
durante su funcionamiento".

Un computador es una máquina digital electrónica para procesar


información mediante el uso de programas o software. Es una
maquina y se encuentra en la misma línea de sucesión que los
molinos de viento, las imprentas, las máquinas de vapor, la
lavadora, etc. Pueden funcionar bien o mal, ninguna máquina es
perfecta. Trabajan almacenando la información de forma digital,
en códigos que representan las letras, los dígitos de los
números, los sonidos y los gráficos. Estos códigos están basados
en el uso de dos caracteres: los dígitos 0 y 1. Todos los
dispositivos y medios de almacenamiento están en dos estados:
pasa corriente o no pasa, las cintas están magnetizadas en un
sentido u otro. Es electrónica y esta compuesta por chips, que
son una fina rebanada de una sustancia especial compuesta por
cristales de silicio. Un computador se construye usando
componentes electrónicos en estado sólido llamados circuitos
integrados o chips. El conjunto de programas que gestionan,
controlan y optimizan la explotación de dichos subsistemas
reciben el nombre de sistema operativo. Además de los sistemas
operativos, existe un segundo conjunto de programas, denominado
equipo lógico de usuario, que proporcionan las distintas
funcionalidades a las cuales puede ser destinado un ordenador
personal.

Arquitectura de un computador
Un ordenador está formado por un conjunto de subsistemas o
componentes con funciones específicas dentro del funcionamiento
global del mismo. Siguiendo la arquitectura diseñada por Von
Neumann a principios del siglo XX, un ordenador consta de tres
subsistemas fundamentales: Unidad central de proceso, memoria y
subsistema de estrada y salida.

La unidad central de proceso

Es el subsistema encargado de extraer secuencialmente de la


memoria las instrucciones, analizarlas y ejecutarlas, además de
coordinar todos los subsistemas del ordenador.

La Unidad central de proceso o CPU, se puede definir como un


circuito microscópico que interpreta y ejecuta instrucciones. La
CPU se ocupa del control y el proceso de datos en los
ordenadores. Habitualmente, la CPU es un microprocesador
fabricado en un chip, un único trozo de silicio que contiene
millones de componentes electrónicos. El microprocesador de la
CPU está formado por una unidad aritmético-lógica que realiza
cálculos y comparaciones, y toma decisiones lógicas (determina
si una afirmación es cierta o falsa mediante las reglas del
álgebra de Boole); por una serie de registros donde se almacena
información temporalmente, y por una unidad de control que
interpreta y ejecuta las instrucciones. Para aceptar órdenes del
usuario, acceder a los datos y presentar los resultados, la CPU
se comunica a través de un conjunto de circuitos o conexiones
llamado bus. El bus conecta la CPU a los dispositivos de
almacenamiento (por ejemplo, un disco duro), los dispositivos de
entrada (por ejemplo, un teclado o un mouse) y los dispositivos
de salida (por ejemplo, un monitor o una impresora).

La memoria

Se encarga de almacenar las instrucciones que constituyen el


programa y, eventualmente, los datos y los resultados.

La memoria de un computador se puede definir como los circuitos


que permiten almacenar y recuperar la información. En un sentido
más amplio, puede referirse también a sistemas externos de
almacenamiento, como las unidades de disco o de cinta. Hoy en
día se requiere cada vez más memoria para poder utilizar
complejos programas y para gestionar complejas redes de
computadores.

Las memorias se clasifican, por la tecnología empleada y, además


según la forma en que se puede modificar su contenido, A este
respecto, las memorias se clasifican en dos grandes grupos:
memorias RAM y memorias ROM.

Memorias RAM: Son memorias en las que se puede leer y escribir,


si bien su nombre (Random access memory) no representa
correctamente este hecho. La memoria RAM (memoria de acceso
aleatorio) es un área de almacenamiento temporal que sirve como
lugar de paso obligatorio para acceder al procesador. La memoria
RAM es fundamental en un computador y presenta dos ventajas muy
importantes, trabaja a gran velocidad, y por otra, el procesador
sólo puede trabajar con un dato a la vez y necesita, por tanto,
algún lugar donde guardar los datos y al cuál pueda acceder
directamente. La memoria RAM es volátil y se mantiene mientras
el equipo está encendido. Si éste se apaga, toda la información
almacenada se borra.

Memorias ROM (Read 0nly Memory): Son memorias en las que sólo se
puede leer. La memoria ROM (memoria sólo de lectura) es un tipo
de memoria que almacena ciertos datos e instrucciones que
permiten el funcionamiento correcto del computador. Es
inmodificable y no es volátil. Los programas almacenados en la
ROM no se pierden al apagar el computador, sino que se mantienen
impresos en los chips ROM durante toda su existencia. Es una
memoria de sólo lectura; es decir, los programas almacenados en
los chips ROM son inmodificables. El usuario puede leer (y
ejecutar) los programas de la memoria ROM, pero nunca puede
escribir en la memoria ROM otros programas que los ya
existentes. La memoria ROM suele venir integrada en los
computadores y en varios periféricos que se instalan en el
computador. En la ROM viene almacenado el programa de
inicialización que arranca el computador y realiza los chequeos
de la memoria y los dispositivos; este programa toma el control
del computador y busca un sistema operativo en el disco duro,
cediéndole el control cuando lo encuentra.

En un ordenador hay una jerarquía de memorias atendiendo al


tiempo de acceso y a la capacidad que normalmente son factores
contrapuestos por razones económicas y en muchos casos también
físicas. Comenzando desde el procesador al exterior, es decir en
orden creciente de tiempo de acceso y capacidad, se puede
establecer la siguiente jerarquía:

Registros de procesador: Estos registros interaccionan


continuamente con la CPU (porque forman parte de ella). Los
registros tienen un tiempo de acceso muy pequeño y una capacidad
mínima.
Registros intermedios: Constituyen un paso intermedio entre el
procesador y la memoria, tienen un tiempo de acceso muy breve y
muy poca capacidad.

Memorias caché: Son memorias de pequeña capacidad, normalmente


una pequeña fracción de la memoria principal. y pequeño tiempo
de acceso. Este nivel de memoria se coloca entre la CPU y la
memoria central. Dentro de la memoria caché puede haber, a su
vez, dos niveles denominados caché on chip, memoria caché dentro
del circuito integrado, y caché on board, memoria caché en la
placa de circuito impreso pero fuera del circuito integrado,
evidentemente, por razones físicas, la primera es mucho más
rápida que la segunda.

Memoria central o principal: En este nivel residen los programas


y los datos. La CPU lee y escribe datos en él aunque con menos
frecuencia que en los niveles anteriores. Tiene un tiempo de
acceso relativamente rápido y gran capacidad.

Memorias de masas o auxiliares: Son memorias que residen en


dispositivos externos al ordenador, en ellas se archivan
programas y datos para su uso posterior. También se usan estas
memorias para apoyo de la memoria central en caso de que ésta
sea insuficiente (memoria virtual). Estas memorias suelen tener
gran capacidad pero pueden llegar a tener un tiempo de acceso
muy lento.

Subsistemas de Entrada/Salida.

Permiten la comunicación del ordenador con el exterior. Las


funciones que debe realizar un computador para ejecutar trabajos
de entrada/salida son direccionamiento o selección del
dispositivo que debe llevar a cabo la operación de E/S, la
transferencia de los datos entre el procesador y el dispositivo
(en uno u otro sentido), y la sincronización y coordinación de
las operaciones. Esta última función es necesaria debido a la
deferencia de velocidades entre los dispositivos y la CPU y a la
independencia que debe existir entre los periféricos y la CPU.

Se define una transferencia elemental de información como la


transmisión de una sola unidad de información (normalmente un
byte) entre el procesador y el periférico o viceversa. Para
efectuar una transferencia elemental de información son precisas
las siguientes funciones: Establecimiento de una comunicación
física entre el procesador y el periférico para la transmisión
de la unidad de información. Control de los periféricos, en que
se incluyen operaciones como prueba y modificación del estado
del periférico.

Una de las funciones básicas del computador es comunicarse con


los dispositivos exteriores, es decir, el computador debe ser
capaz de enviar y recibir datos desde estos dispositivo. Sin
esta función, el ordenador no sería operativo porque sus
cálculos no serían visibles desde el exterior.
Existe una gran variedad de dispositivos que pueden comunicarse
con un computador, desde los dispositivos clásicos (terminales,
impresoras, discos, cintas, cte.) hasta convertidores A/D y D/A
para aplicaciones de medida y control de procesos, De todos los
posibles periféricos, algunos son de lectura, otros de escritura
y otros de lectura y escritura (es importante resaltar que este
hecho siempre se mira desde el punto de vista del proceso). Por
otra parte, existen periféricos de almacenamiento también
llamados memorias auxiliares o masivas.

La mayoría de los periféricos están compuestos por una parte


mecánica y otra parte electrónica. Estas partes suelen separarse
claramente para dar una mayor modularidad. A la componente
electrónica del periférico se le suele denominar controlador del
dispositivo o, también, adaptador del dispositivo. Si el
dispositivo no tiene parte mecánica (como, por ejemplo, la
pantalla de un terminal), el controlador estará formado por la
parte digital del circuito. Frecuentemente los controladores de
los dispositivos están alojados en una placa de circuito impreso
diferenciada del resto del periférico. En este caso es bastante
habitual que un mismo controlador pueda dar servicio a
dispositivos de características similares.

El principal problema planteado por los periféricos es su gran


variedad que también afecta a las velocidades de transmisión.
Por tanto, el mayor inconveniente que encontramos en los
periféricos es la diferencia entre sus velocidades de
transmisión y la diferencia entre éstas y la velocidad de
operación del computador.

Dispositivos de entrada: Estos dispositivos permiten al usuario


del ordenador introducir datos, comandos y programas en la CPU.
El dispositivo de entrada más común es un teclado. La
información introducida con el mismo, es transformada por el
ordenador en modelos reconocibles. Otros dispositivos de entrada
son los lápices ópticos, que transmiten información gráfica
desde tabletas electrónicas hasta el ordenador; joysticks y el
ratón o mouse, que convierte el movimiento físico en movimiento
dentro de una pantalla de ordenador; los escáneres luminosos,
que leen palabras o símbolos de una página impresa y los
traducen a configuraciones electrónicas que el ordenador puede
manipular y almacenar; y los módulos de reconocimiento de voz,
que convierten la palabra hablada en señales digitales
comprensibles para el ordenador. También es posible utilizar los
dispositivos de almacenamiento para introducir datos en la
unidad de proceso. Otros dispositivos de entrada, usados en la
industria, son los sensores.

Dispositivos de Entrada/Salida: Los dispositivos de


almacenamiento externos almacenan los datos en forma de cargas
sobre un medio magnéticamente sensible, por ejemplo una cinta de
sonido o, lo que es más común, sobre un disco revestido de una
fina capa de partículas metálicas. Los dispositivos de
almacenamiento externo más frecuentes son los disquetes y los
discos duros, aunque la mayoría de los grandes sistemas
informáticos utiliza bancos de unidades de almacenamiento en
cinta magnética. Los discos flexibles pueden contener, según sea
el sistema, desde varios centenares de miles de bytes hasta
bastante más de un millón de bytes de datos. Los discos duros no
pueden extraerse de los receptáculos de la unidad de disco, que
contienen los dispositivos electrónicos para leer y escribir
datos sobre la superficie magnética de los discos y pueden
almacenar desde varios millones de bytes hasta algunos
centenares de millones. La tecnología de CD-ROM, que emplea las
mismas técnicas láser utilizadas para crear los discos compactos
(CD) de audio, permiten capacidades de almacenamiento del orden
de varios cientos de megabytes (millones de bytes) de datos.
También hay que añadir los recientemente aparecidos DVD que
permiten almacenar más de 4 Gb de información. Otros
dispositivos de entrada y salida son el módem y las tarjetas de
red. Un módem enlaza dos ordenadores transformando las señales
digitales en analógicas para que los datos puedan transmitirse a
través de las líneas telefónicas convencionales. Una tarjeta de
red es algo parecido a un módem, pero funciona con otro tipo de
tecnología, de forma más rápida y sin necesidad de acceso a
través de una línea telefónica. El acceso de un ordenador a la
red necesita de este dispositivo para poder realizar la
conexión.

Dispositivos de salida: Estos dispositivos permiten al usuario


ver los resultados de los cálculos o de las manipulaciones de
datos de la computadora. El dispositivo de salida más común es
la unidad de visualización, que consiste en un monitor que
presenta los caracteres y gráficos en una pantalla similar a la
del televisor. Por lo general, los monitores tienen un tubo de
rayos catódicos como el de cualquier televisor, aunque los
ordenadores pequeños y portátiles utilizan hoy pantallas de
cristal líquido (LCD, acrónimo de Liquid Crystal Displays) o
electroluminiscentes. Otros dispositivos de salida más comunes
son las impresoras, que permiten obtener una copia impresa de la
información que reside en los dispositivos de almacenamiento,
las tarjetas de sonido.

Buses del sistema

Los tres subsistemas definidos anteriormente se comunican entre


sí a través del denominado bus, que es el medio físico empleado
para transmitir la información entre ellos.

El bus se puede definir como un conjunto de líneas conductoras


de hardware utilizadas para la transmisión de datos entre los
componentes de un sistema informático. Un bus es en esencia una
ruta compartida que conecta diferentes partes del sistema, como
el microprocesador, la controladora de unidad de disco, la
memoria y los puertos de entrada/salida (E/S), para permitir la
transmisión de información. En el bus se encuentran dos pistas
separadas, el bus de datos y el bus de direcciones.
3. CONCEPTOS BASICOS DE SISTEMAS OPERATIVOS

Hardware y Software

Para que todo computador funcione requiere de dos componentes


principales: el hardware que es el equipo y el software que son
los programas.

El hardware es el computador como tal, con todos sus componentes


hechos de plástico, metal y cables. Entre estos componentes,
destaca el corazón y cerebro de todo computador: la Unidad
Central de Procesamiento (CPU). Por sí sólo, el hardware no
puede hacer nada, es necesario que exista software, datos que
hagan funcionar el computador. El propio chip o disco de
computador en el que se guardan los datos no es software, sino
hardware, pero los datos que contiene sí lo son.

El software corresponde a los programas, o sea, una serie de


instrucciones escritas de cierta manera que el computador lo
entienda y que permiten que haga lo que se le está pidiendo que
realice. Aquí es posible distinguir dos tipos fundamentales de
software: Los el software de sistemas, es decir las
instrucciones que permiten que un computador funcione y los
programas de aplicación, que realizan tareas específicas
(procesadores de texto, bases de datos, juegos, internet, etc.)

Un maquina de procesamiento de información necesita del hardware


para funcionar. El hardware puede dividirse en tres grandes
grupos:

• Lenguaje de máquina: instrucciones directas a la máquina.


Tiene de 50 a 300 instrucciones y es muy difícil de
programar.
• Microprogramación: control directo de dispositivos. En
memoria de sólo lectura, o a veces en el propio hardware;
interpreta el lenguaje de máquina.
• Dispositivos físicos: chips, cables, fuentes de potencia, conectores, etc.
Una maquina de procesamiento de información sin software no
presta ninguna utilidad. El software puede clasificarse en dos
grandes grupos:

• Programas de sistema (software de sistema): controlan la operación de la


computadora. Esta formado por el sistema operativo (comandos básicos de
CPU) y por las herramientas del sistema (CPU en modo usuario. Editores,
intérpretes de comando, compiladores, etc).
• Programas de aplicación (software de aplicación): resuelven las necesidades
de procesamiento de información de los usuarios. Ej.: reproductores de
audio ó video, juegos, etc.

El Sistema Operativo es el programa fundamental entre los


programas de sistemas; controla todos los recursos de la
computadora y proporciona la base sobre la que pueden escribirse
los programas de aplicación. Es un nivel de software por encima
del hardware que controla todas las partes del sistema y
presenta al usuario una interfaz de alto nivel o máquina
virtual.

En un sistema de computación se reconocen los siguientes


niveles, partiendo desde el usuario hacia la máquina física:
programas de aplicación, herramientas del sistema, sistema
operativo, lenguaje de maquina, microprogramación y dispositivos
físicos.

El sistema operativo se ejecuta en modo súperusuario, con plenos


poderes; no puede ser alterado por el usuario. Los compiladores
y editores se ejecutan en modo usuario, con poderes limitados.
Cada usuario podría escribir su propio editor, compilador u otra
utilidad. Los programas de aplicación son escritos por los
usuarios para resolver problemas particulares.

Qué es un sistema operativo.

El concepto de sistema operativo se puede ver con base en las


funciones que realiza: como maquina extendida y como
administrador de recursos.

Como máquina extendida: El sistema operativo presenta al usuario


una máquina extendida o máquina virtual más fácil de programar
que accionar en forma directa sobre el hardware subyacente. En
este sentido se dice que el sistema operativo define un ambiente
de trabajo, una plataforma de trabajo. El sistema operativo es
un programa que se “coloca” entre el hardware y los programas de
aplicación, ofreciendo a éstos los servicios de una máquina
virtual: interfaz de más alto nivel, extensión y simplificación
de lo ofrecido por el nivel de lenguaje máquina, ocultación de
gran parte de los detalles del hardware e interfaces universales
para los dispositivos.

Como controlador de recursos: Permite la asignación ordenada y


eficiente los recursos del sistema tales como el procesador, la
memoria y los dispositivos de entrada/salida, para que los
programas que compiten por el uso de estos recursos puedan
ejecutar las actividades para los cuales fueron diseñados.

Historia de los Sistemas Operativos

Primera generación (1945-1955): bulbos y conexiones.


Programación en lenguaje de máquina absoluto, o realizando
directamente las conexiones eléctricas. Alrededor de 1950 se
introducen las tarjetas perforadas.

Segunda generación (1955-1965): transistores y sistemas de


procesamiento por lotes. Los programas y datos se entregaban en
tarjetas, se acumulaban y luego eran procesados todos juntos por
la máquina, buscando minimizar los tiempos muertos.

Tercera generación (1965-1980): circuitos integrados y


multiprogramación. El sistema 360 de IBM unifica las
computadoras comerciales y científicas en una sola línea de
máquinas con software compatible. Se introduce la
multiprogramación, que divide la memoria en partes y ejecuta un
programa distinto en cada una. El spooling permite la operación
simultánea y en línea de periféricos. El tiempo compartido es
una variante de multiprogramación que habilita a cada usuario
una terminal en línea. Surge el sistema operativo UNIX.

Cuarta generación (1980-1990): estaciones de trabajo y


computadoras personales. Sistemas operativos DOS y UNIX.
Software “amigable con el usuario”. Sistemas operativos de red,
con varias computadoras interconectadas que pueden ser accedidas
por un mismo usuario. Sistemas operativos distribuidos,
compuestos por varios procesadores que se presentan al usuario
como un sistema único.

Conceptos de Sistemas Operativos UNIX

La interfaz entre los programas de usuario y el sistema


operativo está formada por llamadas al sistema capaces de crear,
utilizar y eliminar procesos y archivos.

Un proceso es básicamente un programa en ejecución. Consta del


programa ejecutable y la pila o stack del programa, su contador
de programa, apuntador de pila y otros registros, así como la
otra información que se necesita para ejecutar el programa. En
si el proceso en el concepto de los sistemas operativos es como
el sistema de tiempo compartido. Esto es, que en forma
periódica, el sistema operativo decide suspender la ejecución de
un proceso y dar inicio a la ejecución de otro, por ejemplo,
porque el primero haya tomado ya más de su parte del tiempo de
la CPU. Cuando un proceso se suspende temporalmente, debe
reiniciarse después exactamente en el mismo estado en que se
encontraba cuando se detuvo. Esto significa que toda la
información relativa al proceso debe guardarse en forma
explícita en algún lugar durante la suspensión.

Archivos. Existen llamadas al sistema para crear, eliminar, leer


y escribir archivos. Los archivos se agrupan en directorios, y
existen llamadas al sistema para crear y eliminar directorios, y
para colocar y quitar archivos de ellos. Esto crea una jerarquía
de directorios y archivos llamada sistema de archivos. Un
archivo se reconoce unívocamente dando la ruta de acceso, que es
la sucesión de directorios que permiten alcanzar el archivo a
partir del directorio raíz. Cada proceso activo tiene un
directorio de trabajo en el que se buscan primariamente los
archivos cuando se indica sólo el nombre y no la ruta de acceso.
En un sistema multiusuario, es preciso dar privacidad a los
archivos de cada persona. Para acceder a un archivo, se
verifican primero sus permisos; si son correctos, el sistema
devuelve un descriptor de archivo o “entrada de manejo”, un
número entero que se utiliza en todas las operaciones
subsiguientes.

UNIX maneja los dispositivos de entrada y salida con un


artificio que los presenta como archivos especiales, lo que
permite escribir y leer en ellos con las mismas llamadas al
sistema que se usan para los archivos. Los archivos especiales
de bloque se usan para dispositivos que organizan los datos en
bloques de tamaño fijo y acceso aleatorio, como los discos. Los
archivos especiales de caracteres modelan los dispositivos
formados con flujos de caracteres como las terminales,
impresoras e interfaces de red.

En UNIX y DOS, al iniciar un proceso se establece el descriptor


de archivo 0 como entrada estándar para recibir datos desde el
teclado y el descriptor de archivo 1 como salida estándar para
presentar información en la pantalla. El descriptor de archivo 2
es el de error estándar; se usa para mensajes de error y se
asigna normalmente a la pantalla.

El intérprete de comandos (shell).

El sistema operativo es el código que realiza las llamadas al


sistema. Los editores, compiladores, ensambladores, enlazadores
e intérpretes de comandos definitivamente no son parte del
sistema operativo, aunque son importantes y útiles. El Shell es
el intérprete de comandos, a pesar de no ser parte del sistema
operativo, hace un uso intenso de muchas características del
sistema operativo y por tanto sirve como un buen ejemplo de la
forma en que se pueden utilizar las llamadas al sistema. También
es la interfaz primaria entre un usuario situado frente a su
terminal y el sistema operativo. Cuando algún usuario entra al
sistema, un “shell” se inicia. El shell tiene la terminal como
entrada y como salida estándar. Este da inicio al teclear una
solicitud de entrada a un conjunto de caracteres, los cuales
indican al usuario que el shell está esperando un comando.
El intérprete de comandos de UNIX, o shell, es un proceso que
muestra un indicador de comandos ($, %, o #) y aguarda que el
usuario digite un comando. Toda vez que el usuario digita un
comando, el intérprete lo valida, y si es correcto crea un
proceso hijo que realiza la acción encomendada. Al terminar el
proceso hijo, exhibe nuevamente el indicador de comando e
intenta leer una nueva línea de la entrada.

Qué es UNIX.

Estrictamente, UNIX designa el núcleo de un sistema operativo


multiusuario y multitarea. En un sentido más amplio, comprende
el núcleo del sistema operativo más un conjunto de programas que
permiten compilar lenguajes de programación, editar texto,
interpretar comandos, manejar archivos y discos, acceder a otras
máquinas, establecer comunicaciones telefónicas, enviar y
recibir correo electrónico, manejar las colas de impresión y un
sinfín de tareas más. Algunos de estos programas pueden haber
sido desarrollados por los propios usuarios.

UNIX designa al mismo tiempo un cierto “ambiente de trabajo”, un


conjunto de circunstancias que encuentra el usuario de la
computadora donde corre UNIX, tales como la presentación en
pantalla, los programas disponibles y la forma de trabajo que
impone o permite.

Cuando hablemos de UNIX nos estaremos refiriendo al sentido


amplio y, conjuntamente, a su ambiente de trabajo.

Características

Algunas características de UNIX se describen a continuación

• Muchas herramientas de software (compiladores, editores,


utilitarios para muchas tareas).
• Reutiliza el software, a través de la combinación de
comandos simples en aplicaciones complejas.
• Portable: el mismo sistema operativo corre en un espectro
de máquinas que van desde notebooks a supercomputadoras.
Es el único sistema operativo con estas características.
• Flexible: se adapta a muchas aplicaciones diferentes.
• Potente: dispone de muchos comandos y servicios ya
incorporados.
• Multiusuario: atiende a muchas personas simultáneamente.
• Multitarea: hace muchas cosas a la vez.
• Elegante: sus comandos son breves, coherentes, específicos
para cada tarea y muy eficientes.
• Orientado a redes desde el comienzo.
• Dispone de un estándar (POSIX) que debe cumplir todo
sistema operativo que pretenda ser UNIX, lo que asegura
una evolución predecible.

Objetivos de UNIX
UNIX fue diseñado teniendo en mente los siguientes objetivos:

• Crear un sistema interactivo de tiempo compartido diseñado


por programadores y para programadores, destinado a
usuarios calificados.
• Que fuera sencillo, elegante, escueto y consistente.
• Que permitiera resolver problemas complejos combinando un
número reducido de comandos básicos.

El UNIX moderno

Orientado en primera instancia a terminales de caracteres,


actualmente dispone de la interfase gráfica X-Windows. Esto ha
simplificado mucho el uso para los no especialistas. Es ideal
para trabajar como servidor: una máquina potente como servidor,
terminales o computadores personales baratas en los puestos de
trabajo. El paquete de libre uso Samba permite que una máquina
UNIX actúe como servidor de puestos de trabajo Windows 3.11,
Windows 95, y Windows NT.

Se orienta en la dirección contraria a la tendencia de hacer


invisible al usuario el sistema operativo, permitiendo el uso de
todas las bibliotecas, llamadas al sistema y herramientas
internas, aunque su uso requiere un alto nivel de
especialización. Es posible compilar un núcleo específicamente
adaptado a las necesidades particulares de una empresa o grupo
de trabajo, reduciendo el uso de recursos y aumentando la
rapidez.

Las máquinas RISC de los '80 y '90 adoptaron UNIX como sistema
operativo; es por lejos el sistema predominante en las
estaciones de trabajo orientadas a cálculos e investigación.
También fue adoptado para la creación de Internet,
mayoritariamente soportada por UNIX.

Por sus características de diseño, está especialmente preparado


para su ampliación y desarrollo en 64 bits y el
multiprocesamiento en varias CPUs.

Qué es Linux?

En la actualidad, la difusión del sistema operativo Linux en


Latinoamérica ha sido intensiva; en la mayoría de los casos a través
de la red y de las universidades, como focos de información hacia el
resto de la comunidad.

El mundo informático esta evolucionando, Linux es el futuro, pero...


¿Qué es Linux? Esta no es la pregunta del millón, es la pregunta de
millones de usuarios de computadores personales que aún desconocen su
significado y su poder. La definición inicial suele ser: Linux es un
Sistema Operativo (SO).
Pero, ¿Qué es un SO?, es lo que muchos podrían preguntar y la primera
referencia con respecto al tema, generalmente suele ser Windows 95 /
98 / 2000 / Me / XP.

Un SO es la plataforma o base sobre la cual se ejecutan aplicaciones


de software (programas) y se administran los diferentes dispositivos
del computador.

Ahora bien, ¿Es necesariamente todo SO igual a los sistemas Windows?


¿Es Linux igual a Windows?, a nuestro parecer la respuesta es: NO!.

Aunque es cierto que existen algunas características similares entre


Linux y los productos de Microsoft, también hay diferencias de forma y
fondo que generan un abismo infinito entre los dos sistemas.

Siguiendo con la definición, Linux es un SO Multi-Usuario y Multi-


Tarea, esto significa, que un número diverso de usuarios puede acceder
a sus recursos (Ej: programas, dispositivos, etc) de manera simultánea
y que permite realizar múltiples tareas en el mismo instante.

Probablemente, la idea anterior puede parecer algo confusa para


muchos, afortunadamente dicha definición puede traducirse a una
expresión un poco más concreta: Linux es un SO enfocado al trabajo en
red.

Si se desea ser un poco riguroso en la definición, entonces Linux debe


entenderse como un sistema orientado a Internet; pues su protocolo de
comunicación nativo es el TCP/IP, el protocolo estándar de transmisión
de datos de la red mundial.

Pero Linux no solo significa "trabajo en red"; gracias al apoyo de


organizaciones como GNU y XFree, en la actualidad, este sistema sirve
como plataforma a un sin número de aplicaciones y de entornos gráficos
igualmente gratuitos y disponibles para todo el mundo a través de
Internet.
Es por ello, que Linux no debe ser visto como una herramienta
exclusiva de expertos en computación.

Partiendo de su precio ($0) y en nuestra opinión como grupo de


investigación, Linux debe ser entendido como una solución gratuita a
las necesidades informáticas de la comunidad mundial; tanto en el
presente, como ya es un hecho, en cientos de empresas y entidades
educativas alrededor del mundo, como en el futuro, dada su constante
evolución con respecto a las tendencias tecnológicas que día a día
cambian el rumbo de los sistemas de computo, las telecomunicaciones y
por ende, de Internet.

Para entender el "¿Por Qué?" de la trascendencia de Linux a nivel


mundial, es importante conocer un poco acerca de su historia:

Antecedentes

En el año de 1991, D.O.S. era el sistema operativo supremo en el mundo


de las computadoras personales. El usuario común no tenia mucho de
donde escoger, pues aunque los equipos Apple de Mac eran una mejor
opción con respecto al D.O.S., su precio era astronómicamente mucho
más alto.
De otro lado, Unix; otra alternativa en cuanto a sistemas operativos,
se enfocó a soluciones empresariales, despreciando la demanda de
usuarios pc y soportando solo arquitecturas tipo servidor, es decir,
computadores especializados en soportar grandes cargas de trabajo
durante 24 horas al dia.

La opción alternativa en ese entonces para investigadores y curiosos


de la computación parecía ser Minix, un Sistema Operativo escrito por
el profesor holandés Andrew S. Tanenbaum y utilizado como herramienta
pedagógica para enseñar el interior de un sistema operativo a los
estudiantes de sus cursos.

Minix fue diseñado para correr en procesadores Intel 8086, que en ese
entonces había invadido el mercado gracias a su diseño y precio,
estrategia dirigida al usuario común.

A pesar de ser un Sistema Operativo limitado, Minix ofrecía una


característica muy particular en ese entonces: la disponibilidad de su
código fuente. Cualquiera que tuviera acceso al libro "Operating
System" escrito por Tanenbaum, tenia acceso a las 12.000 lineas de
código programado en Lenguaje C y en Lenguaje ensamblador; en una
época en la que todas las casas de software ocultaban como su tesoro
más preciado el código fuente de sus aplicaciones (incluyendo a los
Sistemas Operativos).

Muchos estudiantes alrededor del mundo adquirieron copias del código


fuente de Minix, entre ellos: Linus Torvalds, un estudiante de segundo
año de Ciencias de la Computación de la Universidad de Helsinki, en
ese entonces.

En ese mismo año, el proyecto GNU, un movimiento enfocado a la


creación de software libre de calidad, impulsado por Richard Stallman,
convocó a programadores de todo el planeta para iniciar el desarrollo
de una gran variedad de aplicaciones.

GNU liberaría el en ese entonces esperado compilador de C gratuito,


pero aún faltarían algunos años para que el grupo liberara un Sistema
Operativo o al menos una base estable (kernel) .

La esperanza de un Sistema Operativo Gratuito en ese entonces era


remota, pues incluso MINIX requería de Licencia.

El Nacimiento...

El 25 de agosto de 1991, Linus anuncia en un grupo de discusión sobre


MINIX (comp.os.minix), sus adelantos en la elaboración de un Sistema
Operativo gratuito basado en el creado por Tanenbaum, aunque sin
muchas pretensiones.

En Septiembre, la versión 0.01 de Linux es liberada. Muchos


programadores alrededor del mundo adquieren el código fuente, lo
prueban y lo optimizan, enviando sus propias versiones a Torvalds.

En Octubre 5, Linus hace un nuevo anuncio en el grupo de discusión; la


versión 0.02 de Linux es liberada. La nueva versión presenta una gran
cantidad de mejoras con respecto a la primera.
La versión 0.03 vendría unas semanas después. En Diciembre de ese año,
la versión 0.10 saldría a la luz pública. A pesar de ello, la
distribución aún se encontraba en pañales, pues solo poseía soporte
para discos duros AT y no ofrecía el servicio de login (el sistema
arrancaba en un shell bash directamente).

La versión 0.11 fue mucho mejor. Trajo consigo el soporte para teclado
multilenguaje, drivers para la unidad de diskette, soporte para
tarjetas de video VGA,EGA,Hercules, etc.

El número de la versión salto directamente de la 0.12 a la 0.95 y 0.96


y así comenzó a crecer a un ritmo geométrico. Rápidamente el código
fuente de Linux se esparció por todo el mundo a través de Internet.

Grupos de desarrollo alrededor de Linux comenzaron a formarse por todo


el planeta. El proyecto GNU promovió el uso de este sistema operativo,
al enfocar el desarrollo de sus aplicaciones hacia dicha plataforma;
esto aseguraría una gran variedad de alternativas de software para
aquellos usuarios que se decidieran por Linux.

Con el fin de asegurar que su código fuente continuara siendo de libre


acceso para todos, Linux fue registrado bajo un tipo de licencia
especial:

GNU GPL (Licencia Publica General GNU). Con ello se garantizaría que
ninguna versión futura de Linux pudiese ser monopolizada por ningún
grupo en particular.

Rápidamente desarrolladores comerciales comenzaron a migrar a Linux. A


pesar de ser una plataforma gratuita, varias versiones de software
comercial fueron compiladas para dicha plataforma. Compañías como
RedHat, Caldera y Debian comenzaron a obtener una respuesta
significativa por parte de usuarios de todo el mundo.

Con el desarrollo de entornos gráficos (como X-windows y KDE), las


distribuciones de Linux ganaron gran popularidad y aceptación, pues
cambiaron la antigua forma de ver a los sistemas Unix como
herramientas complicadas y de ambientes de trabajo limitados (Ej:
Terminales Brutas).

Entre tanto, eventos curiosos empezaron a suceder alrededor de Linux:

Una versión fue desarrollada para trabajar en un computador


PalmPilot de 3com.

En 1996, la distribución trabajada por RedHat, gana el premio a


"Mejor Sistema Operativo para Equipos de escritorio", otorgado
por el magazin InfoWorld.

En abril de ese año, científicos de "Alamos National


Laboratory" utilizaron Linux para correr 68 computadores como
una maquina de procesamiento paralelo para simular ondas de
expansión atómica.
El proyecto costo 152.000 dólares incluyendo la labor de
interconectar los 68 equipos. Cerca de la décima parte de lo que
hubiese costado una maquina comercial de igual capacidad en esa
época. La velocidad máxima alcanzada por el experimento alcanzo
19 billones de operaciones por segundo, siendo 315 veces mas
rápido que el computador más poderoso del mundo en ese entonces.
Tres meses después, el sistema no había sido reiniciado ni una
sola vez.

Entre Mayo y Junio del mismo año, el logo oficial de Linux es


escogido a partir de una propuesta de su creador, Linus
Torvalds. Un pequeño pingüino de aspecto tierno y de nombre Tux,
es escogido como la imagen representativa de Linux en todo el
mundo.

La compañía Digital Domain es contratada para la realización de


varios efectos especiales para la película "titanic" (1997).
Para dicho proyecto, 160 estaciones alpha fueron utilizadas; 105
de ellas corriendo una distribución Linux (Red Hat).

La pelicula "Shrek", estrenada en E.U. El 18 de mayo del 2001,


es realizada totalmente en computadores y estaciones de trabajo
con el sistema operativo Linux. Es la primera vez en la historia
que una empresa cinematográfica confia a Linux la totalidad de
una producción.

El presente...

En la actualidad, una de las ventajas más sorprendentes de Linux como


sistema operativo, es su capacidad de adaptabilidad a cada nueva pieza
de hardware que sale al mercado. Es el caso del procesador Intel Xeon,
para el cual, unas semanas después de su lanzamiento, el kernel de
Linux ya estaba listo para soportarlo.

De hecho, Linux ha sido adaptado para múltiples plataformas, entre


ellas Alpha, Sun, Mac, PowerPC, e inclusive "palmtops". Y su
desarrollo aún continúa.

El futuro...

Con cada nuevo amanecer, cientos de descubrimientos y de novedades


tecnológicas se encuentran a la orden del dia. Gracias a Internet, la
información viaja a la velocidad del pensamiento, haciendo que cada
rincón del planeta luzca tan distante como la tienda de la esquina.

En el mundo de la ciencia y la tecnología del tercer milenio, el


futuro es el presente y Linux es un fenómeno en constante evolución,
característica que le garantiza un espacio protagónico y constante en
el horizonte de las tendencias de la informática y la computación.

Pero, ¿Para qué sirve linux?

Es una pregunta fácil de contestar, sin embargo, la respuesta nunca es


breve.

En la actualidad, Linux cuenta con el soporte de infinidad de grupos


desarrolladores (como GNU y XFree, mencionados anteriormente)
alrededor del mundo. Esto sin mencionar, a todas las empresas
dedicadas a trabajar en las diferentes distribuciones del sistema, las
cuales invierten gran cantidad de sus recursos en el desarrollo de
software.
En el área de la informática, cada usuario es un mundo aparte y la
gama de necesidades y requerimientos que hacen parte de la expectativa
mundial tiende a ser infinita.

Afortunadamente y gracias a la creciente demanda de utilidades para


Linux, en este momento, el espectro de soluciones es gigante y sigue
en aumento constante.

Desde empleados de oficina, hasta Proveedores de Servicios Internet


(ISP), pasando por Grupos de Investigación Científica, Desarrolladores
de Software y adictos al ciber-espacio, el perfil de los usuarios
Linux no posee limites.

Software para edición de documentos, presentaciones, hojas


electrónicas, gráficos de alta definición, Software para Cálculos
Matemáticos, Modelación Molecular, Aplicaciones para trabajo en Red,
Clientes de Servicios Internet, Juegos de Estrategia, etc., etc... la
clasificación de aplicaciones no parece terminar.
¿Para qué sirve Linux? ¿Para qué sirve el Software Libre? Para TODO!!!

¿Qué es el Software Libre SL?

Es todo aquel software que goza de 4 libertades:

La libertad de ejecutar el programa, con cualquier propósito


(libertad 0).

La libertad de estudiar como funciona el programa, y adaptarlo


a sus necesidades (libertad 1). El acceso al código fuente es
una precondición para esto.

La libertad de distribuir copias a otros usuarios (libertad 2).

La libertad de mejorar el programa, y liberar las mejoras al


público de tal manera que toda la comunidad se beneficie.
(libertad 3). El acceso al código fuente es una precondición
para esto.

También podría gustarte