ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Historia De Los SO


Enviado por   •  7 de Noviembre de 2012  •  2.508 Palabras (11 Páginas)  •  363 Visitas

Página 1 de 11

EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS

Autor: Ismael Punzano del Águila.

Curso: 1º S.M.R. Vespertino.

Toledo, a 10 de Noviembre de 2012

HISTORIA DE LOS SISTEMAS OPERATIVOS.

La evolución de los sistemas operativos (SO) es paralela a la evolución de las computadoras ya que su principal función siempre fue y es controlar a la computadora.

Inicialmente la principal función de los SO era “controlar eficientemente los recursos del sistema”, sobre todo por el alto costo de esa primeras computadoras y la pérdida que significaba tener equipos tan costosos haciendo su tarea de manera ineficiente.

A ese objetivo inicial, aún vigente, se han incorporando otros que, en algunos casos, han pasado a ser mas importantes en dependencia del propósito del SO. Entre ellos cabe destacar el de “brindar una interfaz cómoda para el uso eficiente de los recursos”, que es un objetivo importante para cualquier SO destinado a computadoras personales usadas, en muchos casos, por personas que no son especialistas en Computación.

Cuando el SO trata de controlar los recursos, surgen conflictos que deberá resolver y por eso “resolver conflictos”, es también una de sus funciones principales.

Seguidamente se hace una apretada síntesis de la evolución de los SO a través del tiempo.

EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS.

La primera computadora digital real fue diseñada por el matemático ingles Charles Babbage ( 1792 - 1871). Aunque Babbage gastó la mayor parte de su vida y de su fortuna intentando construir su " máquina analítica", nunca la hizo funcionar adecuadamente porque era un diseño puramente mecánico y la tecnología de su época no podía producir las ruedas, el engranaje y otras partes mecánicas con la alta precisión que él necesitaba. La máquina analítica no tuvo un sistema operativo.

La Primera Generación (1945 - 1955 ): Tubos de vacío y tableros enchufables.

Después de los esfuerzos frustrados de Babbage, se progresó poco en la construcción de computadoras digitales hasta la segunda guerra mundial, alrededor de la mitad de la década de 1940, Howard Aiken en Hardvard, Jon Von Neumann en el Instituto de Estudios Avanzados en Princeton, J. Presper Ecker y William Mauchley en la Universidad de Pennsylvania y Konrad Zuse en Alemania, entre otros, todos obtuvieron resultados óptimos en la construcción de maquinas de cálculo mediante el uso de tubos de vacío.

Toda la programación se realizó en lenguaje de máquina absoluto. Los lenguajes de programación se desconocían (todavía no existía el lenguaje ensamblador). Los primeros sistemas operativos eran extraños. El modo usual de operación consistía en que el programador firmaba para tener acceso a un bloque de tiempo en la hoja de registro situada en la pared, después bajaba al cuarto de máquinas, insertaba su tablero enchufable en la computadora y pasaba las siguientes horas esperando que ninguno de los 20,000 tubos de vació se fundiera durante la ejecución de su programa.

Los trabajos de esta era incipiente de la computación estaban limitados a aplicaciones científicas o militares, corría el tiempo de las grandes computadoras, como la Z4 de Konrad Suze (tubos al vacío o bulbos) que ocupaban salones enormes y la computación estaba muy lejana de convertirse en algo de uso masivo como lo es hoy en día.

Un programa estaba formado por todo el conjunto de instrucciones que la computadora necesitaba para llevar a cabo sus funciones, por ejemplo instruía a la CPU acerca de detalles, tales como: dónde y cuándo almacenar las instrucciones de memoria, qué calcular, dónde encontrar los datos, dónde enviar la salida, etc.

Queda claro que estos especialistas sólo conocían el tipo específico de computadora en la que trabajaban y resultaba muy difícil expandir sus resultados a medios diferentes a esos. Al pasar el tiempo, el hardware y el software se hicieron más estándares y la ejecución de los programas requería menos pasos. Se desarrollaron lenguajes que expresaban, en un código más cercano al lenguaje humano, las instrucciones a ejecutar, surgieron los compiladores y ensambladores para traducir a código binario esos lenguajes de nivel más alto.

Se pensó que era mejor escribir el código para el manejo de cada tipo de equipo y tenerlo listo para ejecutarlo cuando se necesitara manipular algo hacia o desde él, desechando la vieja idea de escribir (una y otra vez) el código para el manejo del equipo en la propia aplicación. Se hicieron bibliotecas de funciones que hicieran esas tareas, surgiendo, de esta forma, los primeros manipuladores de equipos (device drivers). Al final de esta época comenzaron a tomar vida los sistemas operativos más rudimentarios en la forma de creación de macros, subrutinas estándar, programas utilitarios y manejadores de equipos.

La siguiente imagen muestra como se era el ciclo de programación en esta época:

La Segunda Generación (1955 - 1965): Transistores y Sistemas de Lote.

En esta época las computadoras seguían siendo muy caras y por esa razón se sentía la necesidad de hacer que trabajaran lo más eficientemente posible. Una forma para vencer la barrera de los costos era tratar de mantener la computadora ocupada el mayor tiempo posible.

La solución tomó dos caminos principales, uno con relación a la eficiencia de la persona que trabajaba con la computadora hizo surgir el nuevo trabajo de “operador de computadora” él cual tenía la responsabilidad de mantenerla ocupada todo el tiempo, disminuyendo los tiempos en que debían permanecer sus componentes inactivos (principalmente la CPU). Otra persona era el programador que ya no tendría que interactuar más con la máquina.

El segundo camino hizo surgir el concepto de lote de tareas (sistemas batch), que no es más que la agrupación de un conjunto de tareas con requisitos afines, en una sola tarea. El operador somete la tarea (como un todo) al equipo de cómputo y las salidas se clasifican para enviarla al destino apropiado.

Un ejemplo típico de un lote de trabajo consiste en la compilación de varios programas con el mismo compilador (Fortran, por ejemplo). Esta solución no resolvía el problema totalmente, por ejemplo si un trabajo se detenía el operador debía darse cuenta de eso (observando la consola) determinar si la terminación era normal o anormal, hacer un vaciado de memoria (si era necesario) para después cargar el lector con el próximo trabajo y restaurar la computadora. Durante todo ese tiempo, la CPU estaba inactiva y ese era un tiempo muy grande para el costo de la computadora.

...

Descargar como (para miembros actualizados) txt (16 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com