Historia de los sistemas operativos - History of operating systems

Los sistemas operativos de computadora (SO) proporcionan un conjunto de funciones necesarias y utilizadas por la mayoría de los programas de aplicación en una computadora, y los enlaces necesarios para controlar y sincronizar el hardware de la computadora. En las primeras computadoras, sin sistema operativo, cada programa necesitaba la especificación completa de hardware para ejecutarse correctamente y realizar tareas estándar, y sus propios controladores para dispositivos periféricos como impresoras y lectores de tarjetas de papel perforado . La creciente complejidad del hardware y los programas de aplicación eventualmente hizo que los sistemas operativos fueran una necesidad para el uso diario.

Fondo

Las primeras computadoras eran mainframes que carecían de cualquier forma de sistema operativo. Cada usuario tenía el uso exclusivo de la máquina durante un período de tiempo programado y llegaba a la computadora con el programa y los datos, a menudo en tarjetas de papel perforadas y cinta magnética o de papel. El programa se cargaría en la máquina y la máquina estaría configurada para funcionar hasta que el programa se completara o fallara. Los programas generalmente se pueden depurar a través de un panel de control utilizando diales, interruptores de palanca y luces del panel.

Se desarrollaron lenguajes simbólicos, ensambladores y compiladores para que los programadores tradujeran el código simbólico del programa en código de máquina que anteriormente habría sido codificado a mano. Las máquinas posteriores vinieron con bibliotecas de código de soporte en tarjetas perforadas o cinta magnética, que se vincularían al programa del usuario para ayudar en operaciones como entrada y salida. Esta fue la génesis del sistema operativo moderno; sin embargo, las máquinas seguían ejecutando un solo trabajo a la vez. En la Universidad de Cambridge en Inglaterra, la cola de trabajos fue en un momento un tendedero del que se colgaban cintas con pinzas de ropa de diferentes colores para indicar la prioridad del trabajo.

A medida que las máquinas se volvieron más poderosas, el tiempo para ejecutar programas disminuyó y el tiempo para entregar el equipo al siguiente usuario se hizo grande en comparación. La contabilidad y el pago del uso de la máquina pasó de consultar el reloj de pared al registro automático por computadora. Las colas de ejecución evolucionaron desde una cola literal de personas en la puerta hasta un montón de medios en una mesa de espera de trabajos, o lotes de tarjetas perforadas apiladas una encima de la otra en el lector, hasta que la máquina misma pudo seleccionar y secuenciar qué unidades de cinta magnética procesaron qué cintas. Cuando los desarrolladores de programas habían tenido acceso originalmente para ejecutar sus propios trabajos en la máquina, fueron reemplazados por operadores de máquinas dedicados que se ocupaban de la máquina y estaban cada vez menos preocupados por implementar las tareas manualmente. Cuando los centros informáticos disponibles comercialmente se enfrentaron a las implicaciones de la pérdida de datos por manipulación o errores operativos, los proveedores de equipos se vieron presionados para mejorar las bibliotecas de tiempo de ejecución para evitar el mal uso de los recursos del sistema. La supervisión automatizada era necesaria no solo para el uso de la CPU , sino también para contar las páginas impresas, las tarjetas perforadas, las tarjetas leídas, el almacenamiento en disco utilizado y para indicar cuándo se requería la intervención del operador para trabajos como el cambio de cintas magnéticas y formularios en papel. Se agregaron características de seguridad a los sistemas operativos para registrar pistas de auditoría de qué programas estaban accediendo a qué archivos y para evitar el acceso a un archivo de nómina de producción por parte de un programa de ingeniería, por ejemplo.

Todas estas características se estaban construyendo hacia el repertorio de un sistema operativo totalmente capaz. Con el tiempo, las bibliotecas en tiempo de ejecución se convirtieron en un programa combinado que se inició antes del primer trabajo del cliente y que podía leer el trabajo del cliente, controlar su ejecución, registrar su uso, reasignar recursos de hardware una vez finalizado el trabajo e inmediatamente pasar a procesar el siguiente trabajo. Estos programas en segundo plano residentes, capaces de gestionar procesos de varios pasos, a menudo se denominaban monitores o programas de monitorización antes de que se estableciera el término "sistema operativo".

Un programa subyacente que ofrece administración básica de hardware, programación de software y monitoreo de recursos puede parecer un antepasado remoto de los sistemas operativos orientados al usuario de la era de la computación personal . Pero ha habido un cambio en el significado de SO. Así como los primeros automóviles carecían de velocímetros, radios y acondicionadores de aire que luego se convirtieron en estándar, cada vez más características de software opcionales se convirtieron en características estándar en todos los paquetes de sistemas operativos, aunque algunas aplicaciones como los sistemas de administración de bases de datos y las hojas de cálculo siguen siendo opcionales y tienen un precio separado. Esto ha llevado a la percepción de un SO como un sistema de usuario completo con una interfaz gráfica de usuario integrada , utilidades, algunas aplicaciones como editores de texto y administradores de archivos y herramientas de configuración.

El verdadero descendiente de los primeros sistemas operativos es lo que ahora se llama " kernel ". En los círculos técnicos y de desarrollo, el antiguo sentido restringido de un sistema operativo persiste debido al continuo desarrollo activo de sistemas operativos integrados para todo tipo de dispositivos con un componente de procesamiento de datos, desde dispositivos portátiles hasta robots industriales y control en tiempo real. sistemas, que no ejecutan aplicaciones de usuario en el front-end. Un sistema operativo integrado en un dispositivo hoy en día no está tan alejado como podría pensarse de su antepasado de la década de 1950.

Las categorías más amplias de sistemas y software de aplicación se analizan en el artículo sobre software de computadora .

Mainframes

El primer sistema operativo utilizado para el trabajo real fue GM-NAA I / O , producido en 1956 por la división de investigación de General Motors para su IBM 704 . La mayoría de los otros sistemas operativos iniciales para mainframes de IBM también fueron producidos por los clientes.

Los primeros sistemas operativos eran muy diversos, y cada proveedor o cliente producía uno o más sistemas operativos específicos para su computadora central en particular . Cada sistema operativo, incluso del mismo proveedor, podría tener modelos radicalmente diferentes de comandos, procedimientos operativos y facilidades tales como ayudas de depuración. Por lo general, cada vez que el fabricante sacaba una nueva máquina, había un nuevo sistema operativo y la mayoría de las aplicaciones tenían que ajustarse, recompilarse y volverse a probar manualmente.

Sistemas en hardware de IBM

La situación continuó hasta la década de 1960 cuando IBM , que ya era un proveedor líder de hardware, dejó de trabajar en los sistemas existentes y puso todo su esfuerzo en desarrollar la serie de máquinas System / 360 , todas las cuales usaban la misma instrucción y arquitectura de entrada / salida. IBM tenía la intención de desarrollar un único sistema operativo para el nuevo hardware, el OS / 360 . Los problemas encontrados en el desarrollo del OS / 360 son legendarios y Fred Brooks los describe en The Mythical Man-Month, un libro que se ha convertido en un clásico de la ingeniería de software . Debido a las diferencias de rendimiento en la gama de hardware y los retrasos en el desarrollo de software, se introdujo una familia completa de sistemas operativos en lugar de un solo OS / 360.

IBM terminó lanzando una serie de medidas provisionales seguidas de dos sistemas operativos de mayor duración:

  • OS / 360 para sistemas grandes y de rango medio. Esto estaba disponible en tres opciones de generación de sistemas :
    • PCP para los primeros usuarios y para aquellos sin los recursos para la multiprogramación.
    • MFT para sistemas de rango medio, reemplazado por MFT-II en OS / 360 Release 15/16. Este tuvo un sucesor, OS / VS1 , que se suspendió en la década de 1980.
    • MVT para grandes sistemas. Esto era similar en la mayoría de los aspectos a PCP y MFT (la mayoría de los programas se podían portar entre los tres sin volver a compilarlos ), pero tiene una gestión de memoria más sofisticada y una función de tiempo compartido , TSO . MVT tuvo varios sucesores, incluido el actual z / OS .
  • DOS / 360 para los modelos System / 360 pequeños tuvo varios sucesores, incluido el actual z / VSE . Fue significativamente diferente de OS / 360.

IBM mantuvo total compatibilidad con el pasado, por lo que los programas desarrollados en los años sesenta aún pueden ejecutarse bajo z / VSE (si se desarrolló para DOS / 360) oz / OS (si se desarrolló para MFT o MVT) sin cambios.

IBM también desarrolló TSS / 360 , un sistema de tiempo compartido para el System / 360 Model 67 . Al compensar en exceso su importancia percibida de desarrollar un sistema de tiempo compartido, pusieron a cientos de desarrolladores a trabajar en el proyecto. Las primeras liberaciones de TSS fueron lentas y poco fiables; para cuando TSS tuvo un rendimiento y confiabilidad aceptables, IBM quería que sus usuarios de TSS migraran a OS / 360 y OS / VS2; mientras que IBM ofreció un PRPQ TSS / 370, lo abandonaron después de 3 lanzamientos.

Varios sistemas operativos para las arquitecturas IBM S / 360 y S / 370 fueron desarrollados por terceros, incluido Michigan Terminal System (MTS) y MUSIC / SP .

Otros sistemas operativos de mainframe

Control Data Corporation desarrolló los sistemas operativos SCOPE en la década de 1960, para el procesamiento por lotes y más tarde desarrolló el sistema operativo MACE para compartir el tiempo, que fue la base para el posterior Kronos . En cooperación con la Universidad de Minnesota , los sistemas operativos Kronos y más tarde NOS se desarrollaron durante la década de 1970, que admitían el uso simultáneo de lotes y tiempo compartido. Como muchos sistemas comerciales de tiempo compartido, su interfaz era una extensión del sistema de tiempo compartido DTSS , uno de los esfuerzos pioneros en lenguajes de programación y tiempo compartido.

A finales de la década de 1970, Control Data y la Universidad de Illinois desarrollaron el sistema PLATO , que utilizaba pantallas de panel de plasma y redes de tiempo compartido de larga distancia. PLATO fue notablemente innovador para su época; el modelo de memoria compartida del lenguaje de programación TUTOR de PLATO permitía aplicaciones como chat en tiempo real y juegos gráficos multiusuario.

Para el UNIVAC 1107 , UNIVAC , el primer fabricante de computadoras comerciales, produjo el sistema operativo EXEC I , y Computer Sciences Corporation desarrolló el sistema operativo EXEC II y lo entregó a UNIVAC. EXEC II se transfirió a UNIVAC 1108 . Posteriormente, UNIVAC desarrolló el sistema operativo EXEC 8 para el 1108; fue la base de los sistemas operativos de los miembros posteriores de la familia. Como todos los primeros sistemas de mainframe, EXEC I y EXEC II eran un sistema orientado a lotes que administraba tambores magnéticos, discos, lectores de tarjetas e impresoras de línea; EXEC 8 admitía tanto el procesamiento por lotes como el procesamiento de transacciones en línea. En la década de 1970, UNIVAC produjo el sistema Real-Time Basic (RTB) para admitir el tiempo compartido a gran escala, también siguiendo el modelo del sistema Dartmouth BASIC .

Burroughs Corporation introdujo el B5000 en 1961 con el sistema operativo MCP ( Programa de control maestro ). La B5000 era una máquina de pila diseñada para soportar exclusivamente lenguajes de alto nivel, sin software, ni siquiera en el nivel más bajo del sistema operativo, escrito directamente en lenguaje máquina o lenguaje ensamblador ; el MCP fue el primer sistema operativo que se escribió completamente en un lenguaje de alto nivel - ESPOL , un dialecto de ALGOL 60 - aunque ESPOL tenía declaraciones especializadas para cada "sílaba" en el conjunto de instrucciones B5000. MCP también introdujo muchas otras innovaciones revolucionarias, como ser una de las primeras implementaciones comerciales de memoria virtual . La reescritura de MCP para el B6500 todavía se usa hoy en la línea de computadoras Unisys ClearPath / MCP.

GE introdujo la serie GE-600 con el sistema operativo General Electric Comprehensive Operating Supervisor (GECOS) en 1962. Después de que Honeywell adquirió el negocio de computadoras de GE, se le cambió el nombre a General Comprehensive Operating System (GCOS). Honeywell expandió el uso del nombre GCOS para cubrir todos sus sistemas operativos en la década de 1970, aunque muchas de sus computadoras no tenían nada en común con la serie GE 600 anterior y sus sistemas operativos no se derivaron del GECOS original.

Project MAC en MIT, en colaboración con GE y Bell Labs , desarrolló Multics , que introdujo el concepto de niveles de privilegios de seguridad anillados.

Digital Equipment Corporation desarrolló TOPS-10 para su línea PDP-10 de computadoras de 36 bits en 1967. Antes del uso generalizado de Unix, TOPS-10 era un sistema particularmente popular en las universidades y en la primera comunidad de ARPANET . Bolt, Beranek y Newman desarrollaron TENEX para un PDP-10 modificado que admitía la búsqueda por demanda ; este fue otro sistema popular en las comunidades de investigación y ARPANET, y luego fue desarrollado por DEC en TOPS-20 .

Scientific Data Systems / Xerox Data Systems desarrollaron varios sistemas operativos para la serie de computadoras Sigma , como el Monitor de control básico (BCM), el Monitor de procesamiento por lotes (BPM) y el Monitor de tiempo compartido básico (BTM). Posteriormente, BPM y BTM fueron reemplazados por el Universal Time-Sharing System (UTS); fue diseñado para proporcionar servicios de programación múltiple para programas de usuario en línea (interactivos), además de trabajos de producción en modo por lotes. Fue reemplazado por el sistema operativo CP-V , que combinó UTS con el sistema operativo Xerox fuertemente orientado por lotes .

Minicomputadoras

Digital Equipment Corporation creó varios sistemas operativos para sus máquinas PDP-11 de 16 bits , incluido el sistema simple RT-11 , los sistemas operativos RSTS de tiempo compartido y la familia RSX-11 de sistemas operativos en tiempo real , así como el Sistema VMS para las máquinas VAX de 32 bits .

Varios competidores de Digital Equipment Corporation, como Data General , Hewlett-Packard y Computer Automation, crearon sus propios sistemas operativos. Uno de ellos, "MAX III", fue desarrollado para computadoras Modular Computer Systems Modcomp II y Modcomp III. Se caracterizó por ser su mercado objetivo el mercado de control industrial. Las bibliotecas de Fortran incluían una que permitía el acceso a dispositivos de medición y control.

La innovación clave de IBM en los sistemas operativos de esta clase (que ellos llaman "rango medio"), fue su "CPF" para el System / 38 . Este tenía direccionamiento basado en capacidades , utilizaba una arquitectura de interfaz de máquina para aislar el software de la aplicación y la mayor parte del sistema operativo de las dependencias de hardware (incluidos incluso detalles como el tamaño de la dirección y el tamaño del registro) e incluía un RDBMS integrado . El OS / 400 subsiguiente para el AS / 400 no tiene archivos, solo objetos de diferentes tipos y estos objetos persisten en una memoria virtual plana muy grande, denominada almacenamiento de un solo nivel. i5 / OS y IBM i posterior para iSeries continúan esta línea de sistema operativo.

El sistema operativo Unix fue desarrollado en AT&T Bell Laboratories a fines de la década de 1960, originalmente para el PDP-7 y más tarde para el PDP-11. Debido a que era esencialmente gratuito en las primeras ediciones, se obtenía fácilmente y se modificaba fácilmente, logró una amplia aceptación. También se convirtió en un requisito dentro de las empresas operativas de sistemas Bell. Dado que estaba escrito en el lenguaje C , cuando ese lenguaje fue portado a una nueva arquitectura de máquina, Unix también pudo ser portado. Esta portabilidad le permitió convertirse en la opción para una segunda generación de miniordenadores y la primera generación de estaciones de trabajo . Por su uso generalizado, ejemplificó la idea de un sistema operativo que era conceptualmente el mismo en varias plataformas de hardware, y más tarde se convirtió en una de las raíces del software libre y los proyectos de sistemas operativos de software de código abierto , incluidos GNU , Linux y Berkeley Software Distribution . MacOS de Apple también se basa en Unix a través de NeXTSTEP y FreeBSD .

El sistema operativo Pick era otro sistema operativo disponible en una amplia variedad de marcas de hardware. Lanzado comercialmente en 1973, su núcleo era un lenguaje similar al BASIC llamado Data / BASIC y un lenguaje de manipulación de bases de datos al estilo SQL llamado ENGLISH. Con licencia para una gran variedad de fabricantes y proveedores, a principios de la década de 1980, los observadores vieron el sistema operativo Pick como un fuerte competidor de Unix.

Microcomputadoras

A partir de mediados de la década de 1970, apareció en el mercado una nueva clase de computadoras pequeñas. Con procesadores de 8 bits, típicamente MOS Technology 6502 , Intel 8080 , Motorola 6800 o Zilog Z80 , junto con interfaces rudimentarias de entrada y salida y tanta RAM como sea posible, estos sistemas comenzaron como computadoras para aficionados basadas en kits, pero pronto evolucionaron a una herramienta empresarial esencial.

Ordenadores domésticos

Mientras que muchas computadoras hogareñas de ocho bits de la década de 1980, como la serie BBC Micro , Commodore 64 , Apple II , la serie Atari de 8 bits , la serie Amstrad CPC , ZX Spectrum y otras, podían cargar un sistema operativo de carga de disco de terceros. , como CP / M o GEOS , generalmente se usaban sin uno. Sus sistemas operativos incorporados se diseñaron en una época en la que las unidades de disquete eran muy caras y la mayoría de los usuarios no esperaban que las usaran, por lo que el dispositivo de almacenamiento estándar en la mayoría era una unidad de cinta con casetes compactos estándar . La mayoría, si no todas, de estas computadoras se enviaron con un intérprete BASIC incorporado en ROM, que también sirvió como una interfaz de línea de comandos burda , permitiendo al usuario cargar un sistema operativo de disco separado para ejecutar comandos de administración de archivos y cargar y guardar en disco. La computadora doméstica más popular, la Commodore 64, fue una excepción notable, ya que su DOS estaba en la ROM en el hardware de la unidad de disco y la unidad estaba dirigida de manera idéntica a impresoras, módems y otros dispositivos externos.

Además, esos sistemas se envían con cantidades mínimas de memoria de computadora (de 4 a 8 kilobytes era estándar en las primeras computadoras domésticas), así como procesadores de 8 bits sin circuitos de soporte especializados como una MMU o incluso un reloj dedicado en tiempo real . En este hardware, la sobrecarga de un sistema operativo complejo que admite múltiples tareas y usuarios probablemente comprometería el rendimiento de la máquina sin que realmente sea necesaria. Como esos sistemas se vendían en gran parte completos, con una configuración de hardware fija, tampoco había necesidad de que un sistema operativo proporcionara controladores para una amplia gama de hardware para eliminar las diferencias.

Los videojuegos e incluso las hojas de cálculo , la base de datos y los procesadores de texto disponibles para las computadoras domésticas eran en su mayoría programas autónomos que se apoderaban de la máquina por completo. Aunque existía software integrado para estas computadoras, generalmente carecían de funciones en comparación con sus equivalentes independientes, en gran parte debido a limitaciones de memoria. El intercambio de datos se realizó principalmente a través de formatos estándar como texto ASCII o CSV , o mediante programas de conversión de archivos especializados.

Sistemas operativos en videojuegos y consolas

Dado que prácticamente todas las consolas de videojuegos y los gabinetes de arcade diseñados y construidos después de 1980 eran verdaderas máquinas digitales basadas en microprocesadores (a diferencia de los clones y derivados de Pong anteriores ), algunos de ellos llevaban una forma mínima de BIOS o juego integrado, como ColecoVision. , el Sega Master System y el SNK Neo Geo .

Las consolas de juegos y los videojuegos de hoy en día, comenzando con PC-Engine , tienen un BIOS mínimo que también proporciona algunas utilidades interactivas como administración de tarjetas de memoria , reproducción de CD de audio o video , protección contra copias y, a veces, llevan bibliotecas para que los desarrolladores las usen, etc. Sin embargo, pocos de estos casos calificarían como un verdadero sistema operativo.

Las excepciones más notables son probablemente la consola de juegos Dreamcast , que incluye un BIOS mínimo, como la PlayStation , pero puede cargar el sistema operativo Windows CE desde el disco del juego, lo que permite transferir fácilmente juegos desde el mundo de la PC y la consola de juegos Xbox , que es poco más que una PC disfrazada basada en Intel que ejecuta una versión secreta y modificada de Microsoft Windows en segundo plano. Además, hay versiones de Linux que se ejecutarán en Dreamcast y también en consolas de juegos posteriores.

Mucho antes de eso, Sony había lanzado una especie de kit de desarrollo llamado Net Yaroze para su primera plataforma PlayStation, que proporcionaba una serie de herramientas de programación y desarrollo para ser utilizadas con una PC normal y una "Black PlayStation" especialmente modificada que podía interconectarse. con una PC y descargar programas desde ella. Estas operaciones requieren en general un SO funcional en ambas plataformas involucradas.

En general, se puede decir que las consolas de videojuegos y las máquinas recreativas que funcionan con monedas utilizaron como máximo un BIOS incorporado durante las décadas de 1970, 1980 y la mayor parte de la de 1990, mientras que a partir de la era de PlayStation y más allá comenzaron a ser cada vez más sofisticadas. hasta el punto de requerir un sistema operativo genérico o personalizado para ayudar en el desarrollo y la capacidad de expansión.

Era de la computadora personal

El desarrollo de microprocesadores hizo que la informática económica estuviera disponible para las pequeñas empresas y los aficionados, lo que a su vez llevó al uso generalizado de componentes de hardware intercambiables mediante una interconexión común (como el S-100 , SS-50, Apple II , ISA y PCI). buses ), y una creciente necesidad de sistemas operativos "estándar" para controlarlos. El más importante de los primeros sistemas operativos de estas máquinas fue el CP / M -80 de Digital Research para las CPU 8080/8085 / Z-80. Se basó en varios sistemas operativos de Digital Equipment Corporation, principalmente para la arquitectura PDP-11. El primer sistema operativo de Microsoft, MDOS / MIDAS , fue diseñado con muchas de las características del PDP-11, pero para sistemas basados ​​en microprocesadores. MS-DOS , o PC DOS cuando lo suministra IBM, fue diseñado para ser similar a CP / M-80. Cada una de estas máquinas tenía un pequeño programa de arranque en ROM que cargaba el sistema operativo desde el disco. El BIOS en las máquinas de clase IBM-PC fue una extensión de esta idea y ha acumulado más características y funciones en los 20 años desde que se introdujo la primera IBM-PC en 1981.

La disminución del costo de los equipos de visualización y procesadores hace que sea práctico para proporcionar interfaces gráficas de usuario para muchos sistemas operativos, como el genérico sistema X Window que se proporciona con muchos sistemas Unix, u otros sistemas gráficos como de Apple 's Mac OS clásico y macOS , el Radio Shack color del ordenador OS-9 Nivel II / Multivue , Commodore 's AmigaOS , Atari TOS , IBM ' s OS / 2 y Microsoft Windows . La interfaz gráfica de usuario original fue desarrollado en el Xerox Alto sistema informático en el Xerox Palo Alto Research Center a principios de 1970 y comercializado por muchos vendedores a través de los años 1980 y 1990.

Desde finales de 1990, se han producido tres sistemas operativos en uso generalizado en los ordenadores personales: Apple Inc. 's macOS , el código abierto Linux y Microsoft Windows . Desde 2005 y la transición de Mac a los procesadores Intel , todos se han desarrollado principalmente en la plataforma x86 , aunque macOS conservó el soporte de PowerPC hasta 2009 y Linux sigue siendo portado a una multitud de arquitecturas, incluidas algunas como 68k , PA-RISC y DEC Alpha , que han sido reemplazados durante mucho tiempo y fuera de producción, y SPARC y MIPS , que se utilizan en servidores o sistemas integrados, pero ya no para computadoras de escritorio. Otros sistemas operativos como AmigaOS y OS / 2 siguen en uso, si es que lo hacen, principalmente por entusiastas de la retrocomputación o para aplicaciones integradas especializadas.

Sistemas operativos móviles

Android es el sistema operativo móvil más utilizado .

A principios de la década de 1990, Psion lanzó la PDA Psion Series 3 , un pequeño dispositivo informático móvil. Admite aplicaciones escritas por el usuario que se ejecutan en un sistema operativo llamado EPOC . Las versiones posteriores de EPOC se convirtieron en Symbian , un sistema operativo utilizado para teléfonos móviles de Nokia , Ericsson , Sony Ericsson , Motorola , Samsung y teléfonos desarrollados para NTT Docomo por Sharp , Fujitsu y Mitsubishi . Symbian fue el sistema operativo para teléfonos inteligentes más utilizado en el mundo hasta 2010, con una participación de mercado máxima del 74% en 2006. En 1996, Palm Computing lanzó Pilot 1000 y Pilot 5000 con Palm OS . Microsoft Windows CE fue la base para Pocket PC 2000, renombrado Windows Mobile en 2003, que en su apogeo en 2007 fue el sistema operativo más común para teléfonos inteligentes en los EE. UU.

En 2007, Apple presentó el iPhone y su sistema operativo, conocido simplemente como iPhone OS (hasta el lanzamiento de iOS 4 ), que, como Mac OS X , se basa en Darwin, similar a Unix . Además de estos fundamentos, también introdujo una interfaz gráfica de usuario potente e innovadora que más tarde también se utilizó en la tableta iPad . Un año después, se introdujo Android , con su propia interfaz gráfica de usuario, basado en un kernel de Linux modificado , y Microsoft volvió a ingresar al mercado de sistemas operativos móviles con Windows Phone en 2010, que fue reemplazado por Windows 10 Mobile en 2015.

Además de estos, una amplia gama de otros sistemas operativos móviles compiten en esta área.

Aumento de la virtualización

Los sistemas operativos originalmente se ejecutaban directamente en el hardware y proporcionaban servicios a las aplicaciones, pero con la virtualización, el sistema operativo se ejecuta bajo el control de un hipervisor , en lugar de tener el control directo del hardware.

En mainframes, IBM introdujo la noción de una máquina virtual en 1968 con CP / CMS en IBM System / 360 Model 67 , y la extendió más tarde en 1972 con Virtual Machine Facility / 370 (VM / 370) en System / 370 .

En las computadoras personales basadas en x86 , VMware popularizó esta tecnología con su producto de 1999, VMware Workstation , y sus productos de 2001 VMware GSX Server y VMware ESX Server. Más tarde, una amplia gama de productos de otros, incluidos Xen , KVM e Hyper-V, significó que para 2010 se informó que más del 80 por ciento de las empresas tenían un programa o proyecto de virtualización implementado, y que el 25 por ciento de todas las cargas de trabajo del servidor estar en una máquina virtual.

Con el tiempo, la línea divisoria entre máquinas virtuales, monitores y sistemas operativos se desdibujó:

  • Los hipervisores se volvieron más complejos y obtuvieron su propia interfaz de programación de aplicaciones, administración de memoria o sistema de archivos.
  • La virtualización se convierte en una característica clave de los sistemas operativos, como lo ejemplifican KVM y LXC en Linux, Hyper-V en Windows Server 2008 o HP Integrity Virtual Machines en HP-UX .
  • En algunos sistemas, como los servidores basados ​​en POWER5 y POWER6 de IBM, el hipervisor ya no es opcional.
  • Los sistemas operativos radicalmente simplificados, como CoreOS, se han diseñado para ejecutarse solo en sistemas virtuales.
  • Las aplicaciones se han rediseñado para que se ejecuten directamente en un monitor de máquina virtual.

De muchas maneras, el software de la máquina virtual hoy desempeña el papel que antes tenía el sistema operativo, incluida la administración de los recursos de hardware (procesador, memoria, dispositivos de E / S), la aplicación de políticas de programación o la posibilidad de que los administradores del sistema administren el sistema.

Ver también

Notas

Referencias

Otras lecturas