Download historia de los sistemas operativos
Document related concepts
Transcript
HISTORIA DE LOS SISTEMAS OPERATIVOS HISTORY OF OPERATING SYSTEMS LUIS GUILLERMO GONZALEZ AYALA lggonzaleza @unal.edu.co LILIANA MARTINEZ RINCON lilmartine zrin@unal.e du.co EDWIN YAMID ALDANA eyaldana b@unal.edu.c o RESUMEN: Durante el desarrollo de este informe trataremos los aspectos generales de los sistemas operativos y su evolución en los periodos de 60s a 80s, 80s a 2000 y 2000 a la fecha , también tendremos un breve resumen de los sistemas operativos más comunes, no tan comunes y los especiales como cloud, móviles y servidores de red . PALABRAS CLAVE: evolución, sistema operativos, cloud, móvil. ABSTRACT: During the development of this report discuss general aspects of operating systems and their evolution during periods of 60s to 80s, 80s to 2000 and 2000 to date, we will also have a brief summary of the most common operating systems, and not so common specials such as cloud, mobile and network servers. KEYWORDS: evolution, operating system, cloud, mobile. 1. INTRODUCCIÓN UN SISTEMA OPERATIVO (SO) ES UN CONJUNTO DE PROGRAMAS DESTINADOS A PERMITIR LA COMUNICACIÓN DEL USUARIO CON UN ORDENADOR Y GESTIONAR SUS RECURSOS DE MANERA EFICIENTE. COMIENZA A TRABAJAR CUANDO SE ENCIENDE EL ORDENADOR, Y GESTIONA EL HARDWARE DE LA MÁQUINA DESDE LOS NIVELES MÁS BÁSICOS. DESCRIBIREMOS BREVEMENTE LOS INICIOS Y LOS ACONTECIMIENTOS QUE HAN MARCADO LA HISTORIA DE LOS SISTEMAS OPERATIVOS, PRESENTAREMOS LAS CARACTERÍSTICAS DE LOS SISTEMAS OPERATIVOS UTILIZADOS, LOS COMUNES Y LOS NO COMUNES. 2. INICIOS GENERALES: A finales de los años 40, lo que podríamos llamar la aparición de la primera generación de computadoras, se accedía a la consola de la computadora desde la cual se actuaba sobre una serie de micro interruptores que permitían introducir el programa en la memoria de la computadora predeterminado (al existir tan pocas computadoras todos podrían considerarse prototipos y cada constructor lo hacía sin seguir ningún criterio predeterminado). En ese entonces no existían los sistemas operativos y los programadores debían interactuar con el hardware de la computadora sin ayuda externa. Esto hacia que el tiempo de preparación para realizar una tarea fuera considerable. Todo se hacía en lenguaje máquina. A principios de los años 50 con el objetivo de facilitar la interacción entre persona y computador, los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como: 2.1. El monitor residente: su funcionamiento era bastante simple se limitaba a cargar los programas a memoria, leyéndolos de una cinta o de tarjeta perforadas y ejecutarlos. El problema era encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente. 2.2 El proceso por lotes : como solución para optimizar el tiempo de montaje surgió la idea de agrupar los trabajos en lotes, en una misma cinta o conjunto de tarjetas, de forma que se ejecutaran uno a continuación del otro sin perder apenas tiempo en la transición. esta, cuando un programa lleva cierto tiempo ejecutándose el sistema operativo lo detiene para que se ejecute otra aplicación. Con este se consigue repartir la CPU por igual entre los programas de los distintos usuarios, y los programas de los usuarios no se sienten demasiado lentos por el hecho de que los recursos sean compartidos y aparentemente se ejecutan de manera concurrente. 2.3 Almacenamiento temporal: su objetivo era disminuir el tiempo de cargar de los programas, haciendo simultánea la carga del programa o a salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos técnicas, el buffering y el spooling. 3.3. Tiempo real: Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones. 3. EVOLUCIÓN ENTRE LOS 1960-1980: Se produjeron cambios notorios en varios campos de la informática, con la aparición del circuito cerrado la mayoría orientados a seguir incrementando el potencial de los computadores. Para ello se utilizan técnicas de lo más diversas: 3.1. Multiprogramación: En un sistema multiprogramado, la memoria principal alberga a más de un programa de usuario. El CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pase a ejecutar otro programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles. 3.2. Tiempo compartido: En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece de falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario en el cual existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramación. Pero, a diferencia de 3.4. Multiprocesador: Permite trabajar con máquinas que poseen más de un microprocesador. En un multiprocesador los procesadores comparten memoria y reloj. 3.5. Sistemas operativos desarrollados: Además del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo multiusuario-multitarea desarrollado por los laboratorios Bell de AT&T y programado en PL/1 uno de los pocos SO desarrollados en un lenguaje de alto nivel en aquel tiempo, luego del fracaso del proyecto UNIX comienza a desarrollarse a partir de este a finales de la década. Debido al avance de la electrónica, pudieron empezar a crearse circuitos con miles de transistores en un centímetro cuadrado de silicio, lo que llevaría, pocos años después, a producirse los primeros sistemas integrados. Esta década se podría definir como la de los sistemas de propósito general y en ella se desarrollan tecnologías que se siguen utilizando en la actualidad. Es en los años 70 cuando se produce el boom de los miniordenadores y la informática se acerca al nivel de usuario. En lo relativo a lenguajes de programación, es de señalar la aparición de Pascal y C, el último de los cuales se creó específicamente para reescribir por completo el código del sistema operativo Unix, convirtiéndolo en uno de los pocos SO escrito en un lenguaje de alto nivel. En el campo de la programación lógica se dio a luz la primera implementación de Prolog, y en la revolucionaria orientación a objetos, Smaltalk. 3.6 Inconvenientes de los sistemas existentes: Se trataba de sistemas grandes y costosos, pues antes no se había construido nada similar y mucho de los proyectos desarrollados terminaron con costos muy por encima del presupuesto y mucho después de lo que se marcaba como fecha de finalización. Además, aunque formaban una capa entre el hardware y el usuario, este debía conocer un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, así como el tiempo de procesador consumido. Es por esto que se intentó hacer hincapié en mejorar las técnicas ya existentes de multiprogramación y tiempo compartido 3.7 Características de los nuevos sistemas: Para solventar los problemas antes comentados, se realizó un costosísimo trabajo para interponer una amplia capa de software entre el usuario y la máquina, de forma que el primero no tuviese que conocer ningún detalle de la circuitería. 3.8 Sistemas operativos desarrollados: 3.8.1 Multics: (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell, que comenzó en los 60, pero los laboratorios Bell abandonaron en 1069 para comenzar a crear el sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits; después fue soportado por la serie de máquinas Honeywell 6180. Fue uno de los primeros sistemas operático de tiempo compartido, que implemento un solo nivel de almacenamiento para el acceso a los datos, desechando la clara distinción entre los ficheros y los procesos en memoria, y uno de los primeros sistemas multiprocesador. 3.8.2 MVS (Multiple Virtual Storage): Fue el sistema operativo más usado en los modelos de mainframes-ordenadores grandes, potentes y caros usados principalmente por grandes compañías para el procesamiento de grandes cantidades de datos-Sytem/370 y System/390 de IBM, desarrollado también por IBM y lanzado al mercado por primera vez en 1974. Como características destacables, permitía la ejecución de múltiples tareas, además de que introdujo el concepto de memoria virtual y finalmente añadió la capacidad de que cada programa tuviera su propio espacio de direccionamiento de memoria, de ahí su nombre. 3.8.3 CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador 8080/85 de Intel y el Zilog Z80, salió al mercado en 1976, distribuyéndose en disquetes de ocho pulgadas. Fue el SO más usado en las computadoras personales de esta década. Su éxito se debió a que era portátil, permitiendo que diferentes programas interactuasen con el hardware de una manera estandarizada. Estaba compuesto de dos subsistemas: o CCP (Comand Control Processor): Interprete de comandos que permitía introducir los mandatos con sus parámetros separados por espacios. Además, los traducía a instrucciones de alto nivel destinadas a BDOS. O BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS. El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS supuso su mayor fracaso, por lo que acabó desapareciendo. Con la creación de los circuitos LSI-integración a gran escala, chips que contenían miles de transistores en un centímetro cuadrado de silicio, empezó el auge de los ordenadores personales. En estos se dejó un poco de lado el rendimiento y se buscó más que el sistema operativo fuera amigable, surgiendo menús, e interfaces gráficas. Esto reducía la rapidez de las aplicaciones, pero se volvían más prácticos y simples para los usuarios. En esta época, siguieron utilizándose lenguajes ya existentes, como Smaltalk o C, y nacieron otros nuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y Haskell y Miranda en el campo de la programación declarativa. Un avance importante que se estableció a mediados de la década de 1980 fue el desarrollo de redes de computadoras personales que corrían sistemas operáticos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS, escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacían uso del Motorola 68000. 4. EVOLUCIÓN ENTRE 1980 Y 2000: Para comienzos de los 80´s el único sistema operativo conocido era el CP/M (Programa de control para Microcomputadores), escrito por Gary Kildall, Luego Microsoft creó el DOS (Disk Operator System), que fue revisado por Tim Peterson y luego llamado MS-DOS (Microsoft Disk Operator System), el cual a su vez tomó cosas de UNIX. CP/M, MS-DOS y otros sistemas de los primeros microcomputadores se basaron en que el usuario escribía comandos usando el teclado. La invención del GUI (Grafical User Interface), con ventanas, íconos, menús y mouse fue tomada en cuenta por Xerox y PARC para ser incorporadas en sus máquinas. Aparece Windows, un sistema operativo basado en GUI y que no fue más que un entorno gráfico por encima del MS-DOS, el cual ha presentado varias versiones: Windows 1.0, 3.1, 95, 98, NT (NT stands for new technology), el cual es compatible con Windows 95 pero fue totalmente reescrito, es un sistema de 32 bits, el líder de Windows NT fue David Cutler, quien también fue uno de los disñadores de los sistemas operativos VAX VMS, de hecho muchas de las ideas de VMS están presentes en Windows NT. La versión 5 de Windows NT fue llamada Windows 2000 (1999), Microsoft presentó una nueva versión de Windows 98 llamada Windows ME (Mellenium Edition). El otro mayor contendor en los sistemas operativos para computadores personales en el mundo es UNIX (y sus derivados). UNIX es muy fuerte con las redes y con los servidores de empresa, pero en la actualidad está incrementando su uso en computadores de hogar, especialmente en China e India. En computadores Pentium, Linux se está volviendo una alternativa popular para estudiantes y usuarios corporativos. FreeBSD es también un derivado popular de UNIX, originalmente del proyecto BSD en Berkeley. Todos los computadores modernos Macintosh corren una versión modificada de FreeBSD, muchos usuarios UNIX, especialmente programadores experimentados, prefieren una interfaz basada en comandos a una GUI. A mediados de los 80´s se dio el desarrollo del trabajo en red por parte de los sistemas operativos. Los sistemas operativos de redes no son muy diferentes de los sistemas operativos de un simple procesador, ellos necesitan un controlador para la interfaz de red y algunos de bajo nivel que lo manejen. 4.1. Resumen de los sistemas operativos Durante las épocas mencionadas se dio el desarrollo de diferentes sistemas operativos de los cuales podemos destacar algunos importantes, al igual que sus características. En los años 80 los computadores se limitaban a usuarios avanzados y grandes instituciones, algunas empresas decidieron cambiar esta situación, poniendo al alcance de los usuarios comunes, computadores a bajos precios y así lograr un mayor acceso por parte de la gente común, se desarrollaron entornos de escritorios, algunos de los sistemas operativos que utilizaron esta característica. Mac OS, MS-DOS, Unix, Gnu-linux, Solaris, Bsd, fueron algunos de los más importantes en el ámbito de escritorio unos no tan conocidos como freebsd, openbsd, chromeOS, haiku (beos), pcBSd. OS X: antes llamada Mac OS X, es una serie de sistemas operativos basados en Unix desarrollado, comercializado y vendido por Apple Inc. que ha sido incluido en su gama de computadoras Macintosh desde 2002. Es el sucesor del Mac OS 9 (la versión final del Mac OS Classic), el sistema operativo de Apple desde 1984.Está basado en BSD, y se construyó sobre las tecnologías desarrolladas en NeXT entre la segunda mitad de los 80's y finales de 1996, cuando Apple adquirió esta compañía. Desde la versión Mac OS X 10.5 Leopard para procesadores Intel, el sistema tiene la certificación UNIX 03. Microsoft Windows: Microsoft Windows es el nombre de una familia de sistemas operativos desarrollados y vendidos por Microsoft. Microsoft introdujo un entorno operativo denominado Windows el 20 de noviembre de 1985 como un complemento para MS-DOS en respuesta al creciente interés en las interfaces gráficas de usuario (GUI). Las versiones de Windows son Windows 8, Windows Server 2012, Windows Phone 8, Windows 7, Windows XP, Windows Vista, Windows 2000, Windows NT 4.0, Windows 98, Windows 95, Windows 3.1. GNU/Linux: El nombre GNU, GNU's Not Unix (GNU no es Unix), viene de las herramientas básicas de sistema operativo creadas por el proyecto GNU, iniciado por Richard Stallman en 1983 y mantenido por la FSF. El nombre Linux viene del núcleo Linux, inicialmente escrito por Linus Torvalds en 1991. Es un sistema operativo orientado a la seguridad informática, usuario final y grandes compañías, es de libre acceso y distribución. SOLARIS: Solaris es un sistema operativo de tipo Unix desarrollado desde 1992 inicialmente por Sun Microsystems y actualmente por Oracle. Es un sistema certificado oficialmente como versión de Unix. Funciona en arquitecturas SPARC y x86 para servidores y estaciones de trabajo. Unix: Unix es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969, por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy. Algunas de sus características: - - Está escrito en un lenguaje de alto nivel: C. Dispone de un lenguaje de control programable llamado SHELL. Ofrece facilidades para la creación de programas y sistemas y el ambiente adecuado para las tareas de diseños de software. Emplea manejo dinámico de memoria por intercambio o paginación. Tiene capacidad de interconexión de procesos. Permite comunicación entre procesos. FREEBSD: FreeBSD es un avanzado sistema operativo para arquitecturas x86 compatibles (como Pentium® y Athlon™), amd64 compatibles (como Opteron™, Athlon™64 EM64T), UltraSPARC®, IA-64, PC-98 y ARM. FreeBSD es un derivado de BSD, la versión de UNIX® desarrollada en la Universidad de California, Berkeley. FreeBSD es desarrollado y mantenido por un numeroso equipo de personas. El soporte para otras arquitecturas está en diferentes fases de desarrollo. OPENBSD: El proyecto OpenBSD produce un sistema operativo LIBRE de tipo Unix, multiplataforma y basado en 4.4BSD. Sus esfuerzos se concentran en la portabilidad, estandarización, corrección, seguridad proactiva y criptografía integrada. BeOS: Originalmente (1995-1996) el sistema operativo corría sobre su propio hardware, conocido como BeBox. Más tarde (1997) fue extendido a la plataforma PowerPC y finalmente (1998) se añadió compatibilidad con procesadores x86. La intención original de Be era venderle el sistema operativo a Apple para reemplazar Mac OS, pero los planes de venta fracasaron y el sistema nunca alcanzó gran popularidad en el mercado. En el año 2001 la propiedad intelectual de Be fue vendida a la empresa Palm que la pasó a palmSource y es ahora de Access Co. El último lanzamiento del sistema fue su versión 5 en el año 2000, aunque existía en proyecto una versión nueva y mejorada antes de la bancarrota. ANDRIOD: Android es un sistema operativo basado en Linux, diseñado principalmente para móviles con pantalla táctil como teléfonos inteligentes o tabletas inicialmente desarrollados por Android, Inc., que Google respaldó financieramente y más tarde compró en 2005, actualmente tiene el 84% de mercado en dispositivos móviles TIZEN: Es un proyecto de un sistema operativo móvil basado en Linux, patrocinado por Linux Foundation y la Fundación LiMo. Tizen se origina en MeeGo, que a su vez fue una combinación de los sistemas operativos móviles Moblin, creado por Intel, y Maemo, creado por Nokia, y está destinado a sustituirlo. El código base de MeeGo sigue estando disponible. iOS: iOS es un sistema operativo móvil de la empresa Apple Inc. Originalmente desarrollado para el iPhone (iPhone OS), siendo después usado en dispositivos como el iPod Touch, iPad y el Apple TV. Apple, Inc. no permite la instalación de iOS en hardware de terceros. La interfaz de usuario de iOS está basada en el concepto de manipulación directa, usando gestos multitáctiles. Los elementos de control consisten de deslizadores, interruptores y botones. La respuesta a las órdenes del usuario es inmediata y provee de una interfaz fluida. La interacción con el sistema operativo incluye gestos como deslices, toques, pellizcos, los cuales tienen definiciones diferentes dependiendo del contexto de la interfaz. BlackBerry OS: Es un sistema operativo móvil desarrollado por Research In Motion para sus dispositivos BlackBerry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada adoptados por RIM para su uso en computadoras de mano, particularmente la trackwheel, trackball, touchpad y pantallas táctiles. SymbianOS: Es un sistema operativo que fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Mobile Communications, Psion, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado EPOC32, utilizado en PDA's y Handhelds de PSION. 4.2 SISTEMAS OPERATIVOS EN LA NUBE(CLOUD) EyeOS: Es una plataforma de nube privada con una interfaz de escritorio basada en la web. Comúnmente llamado escritorio en la nube por su interfaz única, eyeOS proporciona un escritorio completo desde la nube con gestión de archivos, herramientas de gestión de la información personal, herramientas colaborativas y aplicaciones de la compañía. REFERENCIAS [] HISTORIA DE ANDROID [en línea] < http://android.cix.pe/lecciones/la-historia-deandroid/ >[citado el 16 de febrero de 2013]. [] BLACKBERRY, UN POCO DE HISTORIA. [en línea] <http://www.xatakamovil.com/blackberry/blackb erry-un-poco-de-historia > [citado el 16 de febrero de 2013]. [] MODERN OPERATING SYSTEMS, A. Tanenbaum, tercera edición, 2007 [] OPERATING SYSTEMS, Internasl and Design Principles, W. Stallings, Seventh Edition, 2012 [] SISTEMA OPERATIVO CLOUD [en línea] < http://www.eyeos.com/es/ >[citado el 16 de febrero de 2013].