viernes, 5 de octubre de 2012

Generaciones de Software (Sistemas Operativos) Y Generaciones de Hardware


GENERACIONES DE SISTEMAS OPERATIVOS

Los sistemas operativos, al igual que el hardware de los computadores, 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 circuito integrados (tercera generación), a circuitos integrados de gran y muy gran escala (cuarta generación). Cada generación sucesiva de hardware han 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 mas 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 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 laboratorios de investigación de la General Motors implementaron el primer sistema operativo en los 50's generalmente corría una tarea a la vez y suavizó la transición entre tareas para obtener máxima utilización del sistema de la computadora. Los sistemas operativos de los años cincuenta fueron diseñados para hacer mas fluida 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 de 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, esta tenia control total de la maquina. Al terminar cada trabajo (bien normal o anormalmente), el control era envuelto al sistema operativo, el cual "limpiaba" y leía e inicia el trabajo siguiente. 

Segunda generación (primera 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 compartido con multiprogramación, y los principios del multiprocesamiento. En los sistemas de multiprogramación, varios programas de usuarios se encuentran el 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 maquina. 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 especifica 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 numero 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 una cinta en esa unidad.

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

Los sistemas operativos desarrollados durante los 60s tuvieron una enorme conglomeración de software escrito por gente quienes realmente no entendía el software, también como el hardware, tenias que ser ingeniero para ser digno de confianza, entendible y mantenible. Finalmente cuando encontraron y removieron algunos errores que nunca pudieron completar el sistema original. Errores en las fases fáciles de los proyectos no fueron localizados antes de un largo tiempo fueron entregados a los clientes; por este lado los errores fueron enormemente grandes para corregir. La gente obtuvo frecuentemente números grandes de módulos de software empezó a ser fragmentado y reescrito por personas nuevas porque existían módulos que realmente no se entendían. Se tomo mas atención a estos problemas eventualmente científicos de la computación y profesionales en la industria comenzaron a dedicar considerables recursos para el problema de construir sistemas de software. La emergencia de el campo de ingeniería de software y el reconocimiento de la importancia del desarrollo de una disciplinada y desarrollada aproximada a la construcción software digno de confianza, entendible y mantenible fuertemente unidos por la vasta experiencia con algunos de los sistemas operativos desarrollados en los 60s.

Tercera generación (mitad de la década de 1960 a la mitad de la década de 1970)
 
La tercera generación de sistemas operativos comenzó en forma efectiva, en 1964, con la introducción de la familia de computadores Sistemas/360 de IBM. Las variadas computadoras 360 fueron diseñadas para ser compatibles con el hardware, para usar el OS/360 sistema operativo, y para ofrecer mayor poder computacional a como iba avanzando el usuario en las series. Sistemas operativos mas avanzados fueron desarrollados para servir a múltiples usuarios interactivos a la vez. Los usuarios interactivos se comunicaban con la computadora vía terminales que están en línea conectadas directamente a la computadora. Los computadores de la tercera generación fueron diseñados como sistemas de usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propósito de serlo todo para toda la gente. Este concepto vendió gran cantidad de computadores, pero tenia su precio. Los usuarios que necesitaban de algunas aplicaciones particulares que no requerían de este tipo de poder pagaban caro el elevado tiempo de ejecución, tiempo de , tiempo de depuración, mantenimiento, etc. Los sistemas operativos de la tercera generación eran sistemas de modos múltiples. Algunos soportan 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 arriba del presupuesto y mucho después de lo que el planificador marcaba como fecha de terminación. 

Cuarta generación (de la 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 del computadora personal, uno de los desarrollos de notables consecuencias sociales mas importantes de las ultimas décadas. Ahora muchos usuarios han desarrollado sistemas de computación que son accesibles para sus uso personal en cualquier momento del día o de la noche. La potencia de computador, que costaba varios cientos de miles de dólares al principio de la década de 1960, hoy es accesible por menos de mil dólares. El porcentaje de la población que tiene acceso a un computador en la década de los ochenta es mucho mayor y aumento rápidamente. Individuos podían 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 de computadoras. 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 de software continuó evolucionando con una mayor confianza proveniente de los E.U. . Los ambientes del usuario, altamente simbólicos, mnemónicos y orientados hacia las siglas de las décadas de los sesenta y setenta, están siendo 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. En los 90's habremos de entrar a la era de la verdadera distribución de computación en la cual calcula dentro de subcalculos que pueden ser ejecutados en otros procesadores en computadoras de múltiples procesadores y en conmutadores de red. Estos tipos de conectividad son facilitados para abrir sistemas estándar y protocolos que se empiezan desarrollar para grupos. 

1ª G – Válvula termoiónica (1940-1955)

El elemento básico de construcción eran válvulas con triodos de filamento, con dimensiones y apariencia de bombillas, pero en las que es posible regular el paso de corriente eléctrica.
ENIAC fue el nombre del primer ordenador de esta generación. Fue construido por John Presper y John W. Mauchly con financiación del gobierno de los EEUU de América y tenía como objetivo la automatización de procesos estadísticos (y quién sabe qué otros de tipo militar).

Era un auténtico monstruo, ocupando 167 m² y se componía de: 7.468 válvulas, 7.200 diodos, 1.500 relés, 70.000 resistencias, 10.000 condensadores, 6.000 interruptores y 5 millones de soldaduras. Pesaba en total la nada desdeñable cifra de 27 Tm.
Era tan grande su consumo eléctrico que produjo numerosos apagones en Filadelfia(160KW).

2ª G – Transistor (1956-1963)
 
Junto con el diodo constituyen los primeros elementos electrónicos de estado sólido, en relación a la ausencia de filamentos encapsulados.

Fue inventado en Laboratorios Bell USA (1947) por Bardeen, Houser y Shockley, Premio Nobel Física 1956.
La industria de la Energía Atómica fue la que financió el desarrollo de esta generación.

3ª G – Circuito Integrado (1964-1970)

Es el nacimiento del Chip de Silicio, en el cual se integran múltiples transistores en un circuito (de sí su denominación).

El primero fue creado por la empresa Fairchild en 1964, tenía el nombre comercial µA702, y aglutinaba la escalofriante cifra de 10 transistores.

4ªG – Microprocesador (1971-1981)

Esta era se caracteriza por la integración de un alto número de transistores, pero también por la integración de casi todos los componentes de la arquitectura Von Neumann en un único chip
El primer Microprocesador fue creado por Intel en 1971, se denominaba I4004, tenía un tamaño de palabra de 4 bits, 2.250 transistores, velocidad de reloj de 740KHz (sí, ni mega ni giga) ¡qué vértigo, ejecutaba 92.000 Instrucciones Por Segundo! El tamaño de las pistas era de 10 μm.

5ªG – Chips de alta escala de integración (1981-hasta la actualidad)

Parece mentira, pero desde 1981 no hay grandes avances en arquitecturas, tan sólo se tira del hilo aumentando enormemente la integración de transistores en un único chip, lo que llevó en los últimos años incluso a la multiplicación del número de microprocesadores incluidos en la misma cucaracha.
Por ejemplo un Intel Xeon Quadcore de 2007 ya procesaba palabras de 64bits, tenía 45nm de tamaño de pista, velocidad de reloj de 3GHz, 820 Millones de transistores, 110.253 MIPS y 74.580 MFLOPS (estas son las instrucciones matemáticas por segundo)
En 2010 seguimos sin cabiar generación, pero ya tenemos en el mercado micros con varios millardos de transistores integrados en un único chip, pistas de 32 nm y velocidades cercanas a los 4 GHz.

3 comentarios: