Los sistemas operativos de computadoras (OS) proporcionan un conjunto de funciones necesarias y utilizadas por la mayoría de los programas de aplicación en una computadora, y los vínculos necesarios para controlar y sincronizar el hardware de la computadora. En las primeras computadoras, sin sistema operativo, cada programa necesitaba la especificación completa del 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 hicieron que los sistemas operativos se convirtieran en una necesidad para el uso diario.
Las primeras computadoras eran mainframes que carecían de cualquier tipo 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 cintas magnéticas o de papel. El programa se cargaba en la máquina y esta se ponía a funcionar hasta que el programa se completaba o dejaba de funcionar. Los programas generalmente se podían depurar a través de un panel de control que utilizaba diales, interruptores y luces.
Los lenguajes simbólicos, los ensambladores [1] [2] [3] y los compiladores se desarrollaron para que los programadores tradujeran el código simbólico del programa en código de máquina que antes se hubiera codificado a mano. Más tarde, las máquinas llegaron con bibliotecas de código de soporte en tarjetas perforadas o cintas magnéticas, que se vinculaban al programa del usuario para ayudar en operaciones como la entrada y la salida. Este fue el génesis del sistema operativo moderno; sin embargo, las máquinas todavía ejecutaban un solo trabajo a la vez. En la Universidad de Cambridge en Inglaterra, la cola de trabajos fue en un momento una cuerda de la que se colgaban cintas unidas a los tickets de trabajo correspondientes con clavijas de papelería. [4]
A medida que las máquinas se hicieron más potentes, el tiempo necesario para ejecutar los programas disminuyó y, en comparación, el tiempo necesario para entregar el equipo al siguiente usuario se hizo más largo. La contabilidad y el pago del uso de las máquinas pasaron de consultar el reloj de pared al registro automático por parte de la computadora. Las colas de ejecución evolucionaron desde una cola literal de personas en la puerta hasta una pila de medios en una mesa de espera de trabajos o lotes de tarjetas perforadas apiladas una sobre otra en el lector, hasta que la propia máquina pudo seleccionar y secuenciar qué unidades de cinta magnética procesaban qué cintas. Si bien originalmente los desarrolladores de programas tenían acceso para ejecutar sus propios trabajos en la máquina, fueron reemplazados por operadores de máquinas dedicados que cuidaban de la máquina y estaban cada vez menos preocupados por implementar tareas manualmente. Cuando los centros de computación 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 uso indebido de los recursos del sistema. Se necesitaba un control automatizado 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 señalar cuándo se requería la intervención del operador para realizar tareas como cambiar cintas magnéticas y formularios en papel. Se añadieron funciones de seguridad a los sistemas operativos para registrar registros de auditoría de qué programas accedían 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 fueron acumulando hasta formar el repertorio de un sistema operativo totalmente funcional. Con el tiempo, las bibliotecas de ejecución se convirtieron en un programa amalgamado que se iniciaba antes del primer trabajo del cliente y podía leer el trabajo del cliente, controlar su ejecución, registrar su uso, reasignar recursos de hardware una vez finalizado el trabajo y continuar inmediatamente con el procesamiento del siguiente trabajo. Estos programas residentes en segundo plano, capaces de gestionar procesos de varios pasos, solían denominarse 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 informática personal . Pero ha habido un cambio en el significado de SO. Así como los primeros automóviles carecían de velocímetros, radios y aires acondicionados que luego se convirtieron en estándar, cada vez más funciones de software opcionales se convirtieron en estándar en cada paquete de SO. 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 y algunas aplicaciones como administradores de archivos , editores de texto y herramientas de configuración.
El verdadero descendiente de los primeros sistemas operativos es lo que hoy se denomina " núcleo ". 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 sistemas de control en tiempo real , que no ejecutan aplicaciones de usuario en el front-end. Un sistema operativo integrado en un dispositivo de hoy no está tan alejado como uno podría pensar de su antecesor 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 informático .
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 [5] para su IBM 704. [ 6] [ especificar ] La mayoría de los otros sistemas operativos tempranos para mainframes de IBM también fueron producidos por clientes. [7]
Los primeros sistemas operativos eran muy diversos: cada fabricante o cliente producía uno o más sistemas operativos específicos para su computadora mainframe en particular . Cada sistema operativo, incluso del mismo fabricante, podía tener modelos radicalmente diferentes de comandos, procedimientos operativos y funciones como ayudas para la depuración. Por lo general, cada vez que el fabricante lanzaba una nueva máquina, había un nuevo sistema operativo y la mayoría de las aplicaciones debían ajustarse, compilarse y probarse de nuevo manualmente.
La situación se prolongó hasta la década de 1960, cuando IBM , que ya era un importante proveedor 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 utilizaban la misma instrucción y arquitectura de entrada/salida. IBM pretendía desarrollar un único sistema operativo para el nuevo hardware, el OS/360 . Los problemas encontrados en el desarrollo del OS/360 son legendarios y están descritos por Fred Brooks 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 toda la gama de hardware y a los retrasos en el desarrollo del software, se introdujo una familia completa de sistemas operativos en lugar de un único OS/360. [8] [9]
IBM terminó lanzando una serie de soluciones provisionales seguidas de dos sistemas operativos de mayor duración:
IBM mantuvo la compatibilidad total con el pasado, de modo que los programas desarrollados en los años sesenta todavía pueden ejecutarse en z/VSE (si se desarrollaron para DOS/360) o z/OS (si se desarrollaron para MFT o MVT) sin cambios.
IBM también desarrolló TSS/360 , un sistema de tiempo compartido para el System/360 Model 67. Para compensar la importancia que percibían de desarrollar un sistema de tiempo compartido, pusieron a trabajar en el proyecto a cientos de desarrolladores. Las primeras versiones de TSS eran lentas y poco fiables; cuando TSS tuvo un rendimiento y una fiabilidad aceptables, IBM quería que sus usuarios de TSS migraran a OS/360 y OS/VS2; aunque IBM ofreció un PRPQ TSS/370, lo abandonaron después de tres versiones. [10]
Varios sistemas operativos para las arquitecturas IBM S/360 y S/370 fueron desarrollados por terceros, incluidos Michigan Terminal System (MTS) y MUSIC/SP .
Control Data Corporation desarrolló los sistemas operativos SCOPE [NB 1] en la década de 1960, para el procesamiento por lotes y más tarde desarrolló el sistema operativo MACE para tiempo compartido, que fue la base para el posterior Kronos . En cooperación con la Universidad de Minnesota , se desarrollaron los sistemas operativos Kronos y más tarde NOS durante la década de 1970, que admitían el uso simultáneo de lotes y tiempo compartido. Al igual que muchos sistemas comerciales de tiempo compartido, su interfaz era una extensión del sistema de tiempo compartido DTSS , uno de los esfuerzos pioneros en el tiempo compartido y los lenguajes de programación.
A finales de los años 1970, Control Data y la Universidad de Illinois desarrollaron el sistema PLATO , que utilizaba pantallas de plasma y redes de tiempo compartido a larga distancia. PLATO fue notablemente innovador para su época; el modelo de memoria compartida del lenguaje de programación TUTOR de PLATO permitió 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 fue portado al UNIVAC 1108. Más tarde, UNIVAC desarrolló el sistema operativo EXEC 8 para el 1108; fue la base de los sistemas operativos para los miembros posteriores de la familia. Como todos los primeros sistemas 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 basado en el sistema Dartmouth BASIC .
Burroughs Corporation introdujo el B5000 en 1961 con el sistema operativo MCP ( Master Control Program ). El 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 de máquina o lenguaje ensamblador ; el MCP fue el primer [ cita requerida ] sistema operativo escrito completamente en un lenguaje de alto nivel - ESPOL , un dialecto de ALGOL 60 - aunque ESPOL tenía instrucciones especializadas para cada "sílaba" [NB 2] en el conjunto de instrucciones del B5000. MCP también introdujo muchas otras innovaciones revolucionarias, como ser una de [NB 3] las primeras implementaciones comerciales de memoria virtual . La reescritura de MCP para el B6500 ahora se comercializa como 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 adquiriera el negocio de computadoras de GE, cambió su nombre a General Comprehensive Operating System (GCOS). Honeywell amplió 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 derivaban del GECOS original.
El proyecto MAC del MIT, en colaboración con GE y Bell Labs , desarrolló Multics , que introdujo el concepto de niveles de privilegio de seguridad en anillo.
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 comunidad ARPANET en sus inicios. Bolt, Beranek y Newman desarrollaron TENEX para un PDP-10 modificado que admitía paginación por demanda ; este fue otro sistema popular en las comunidades de investigación y ARPANET, y más tarde fue desarrollado por DEC para convertirse en TOPS-20 .
Scientific Data Systems /Xerox Data Systems desarrolló varios sistemas operativos para la serie de computadoras Sigma , como el Basic Control Monitor (BCM), el Batch Processing Monitor (BPM) y el Basic Time-Sharing Monitor (BTM). Más tarde, el BPM y el BTM fueron reemplazados por el Universal Time-Sharing System (UTS); fue diseñado para proporcionar servicios de multiprogramación 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 combinaba el UTS con el sistema operativo Xerox, fuertemente orientado a los lotes .
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 de tiempo compartido RSTS 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 los ordenadores Modular Computer Systems Modcomp II y Modcomp III. Se caracterizaba por tener como mercado objetivo el mercado de control industrial. Las bibliotecas 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 (a la que llaman "de gama media") 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 aplicación y la mayor parte del sistema operativo de las dependencias de hardware (incluidos detalles como el tamaño de la dirección y el tamaño del registro) e incluía un RDBMS integrado . El sucesor OS/400 (ahora conocido como IBM i ) para el IBM AS/400 y posteriormente IBM Power Systems no tiene archivos, solo objetos de diferentes tipos y estos objetos persisten en una memoria virtual plana muy grande, llamada almacenamiento de un solo nivel.
El sistema operativo Unix fue desarrollado en los Laboratorios AT&T Bell a finales de los años 1960, originalmente para el PDP-7 y más tarde para el PDP-11. Debido a que era esencialmente gratuito en las primeras ediciones, fácil de obtener y de modificar, logró una amplia aceptación. También se convirtió en un requisito dentro de las compañías operadoras de sistemas Bell. Dado que estaba escrito en 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 minicomputadoras y la primera generación de estaciones de trabajo , y su uso se generalizó. Unix ejemplificó la idea de un sistema operativo que era conceptualmente el mismo en varias plataformas de hardware. Debido a su utilidad, inspiró a muchos y más tarde se convirtió en una de las raíces del movimiento del software libre y del software de código abierto . Numerosos sistemas operativos se basaron en él, incluidos Minix , GNU/Linux y Berkeley Software Distribution . El sistema operativo macOS de Apple también se basa en Unix a través de NeXTSTEP [11] y FreeBSD . [12]
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 a BASIC llamado Data/BASIC y un lenguaje de manipulación de bases de datos estilo SQL llamado ENGLISH. Con licencia para una gran variedad de fabricantes y vendedores, a principios de los años 1980 los observadores vieron al sistema operativo Pick como un fuerte competidor de Unix. [13]
A mediados de los años 70, apareció en el mercado una nueva clase de ordenadores pequeños. Con procesadores de 8 bits, normalmente el MOS Technology 6502 , el Intel 8080 , el Motorola 6800 o el Zilog Z80 , junto con interfaces de entrada y salida rudimentarias y tanta memoria RAM como fuera posible, estos sistemas comenzaron como ordenadores para aficionados basados en kits, pero pronto se convirtieron en una herramienta empresarial esencial.
Aunque muchas computadoras domésticas de ocho bits de la década de 1980, como la BBC Micro , Commodore 64 , Apple II , las computadoras Atari de 8 bits , Amstrad CPC , la serie 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 integrados se diseñaron en una época en la que las unidades de disquete eran muy caras y no se esperaba que la mayoría de los usuarios las usaran, por lo que el dispositivo de almacenamiento estándar en la mayoría era una unidad de cinta que usaba casetes compactos estándar . La mayoría, si no todas, de estas computadoras se enviaban con un intérprete BASIC integrado en ROM, que también servía como una interfaz de línea de comandos rudimentaria , lo que permitía al usuario cargar un sistema operativo de disco separado para ejecutar comandos de administración de archivos y cargar y guardar en el disco. La computadora doméstica más popular [ cita requerida ] , la Commodore 64, fue una notable excepción, ya que su DOS estaba en la ROM en el hardware de la unidad de disco, y la unidad estaba direccionada de manera idéntica a las impresoras, módems y otros dispositivos externos.
Además, esos sistemas se entregaban con cantidades mínimas de memoria de computadora (entre 4 y 8 kilobytes era el 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 de tiempo real dedicado . En este hardware, la sobrecarga de un sistema operativo complejo que admitiera múltiples tareas y usuarios probablemente comprometería el rendimiento de la máquina sin que realmente fuera necesaria. Como esos sistemas se vendían en gran parte completos, con una configuración de hardware fija, tampoco había necesidad de un sistema operativo que proporcionara controladores para una amplia gama de hardware para abstraer las diferencias.
Los videojuegos e incluso las hojas de cálculo , bases de datos y procesadores de texto disponibles para los ordenadores domésticos eran en su mayoría programas autónomos que se apoderaban por completo de la máquina. Aunque existía software integrado para estos ordenadores, normalmente carecían de funciones en comparación con sus equivalentes independientes, en gran medida debido a las limitaciones de memoria. El intercambio de datos se realizaba principalmente a través de formatos estándar como texto ASCII o CSV , o mediante programas especializados de conversión de archivos.
Dado que prácticamente todas las consolas de videojuegos y 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 anteriores de Pong ), algunas de ellas llevaban una forma mínima de BIOS o juego incorporado, como la ColecoVision , la Sega Master System y la SNK Neo Geo .
Las consolas de juegos y los videojuegos modernos, empezando por 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, incluyen bibliotecas para que las utilicen los desarrolladores, 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 una BIOS mínima, como la PlayStation , pero puede cargar el sistema operativo Windows CE desde el disco de juego, lo que permite trasladar fácilmente juegos del mundo de la PC , y la consola de juegos Xbox , que es poco más que un PC basado en Intel camuflado que ejecuta una versión secreta y modificada de Microsoft Windows en segundo plano. Además, existen versiones de Linux que también se pueden ejecutar en una Dreamcast y consolas de juegos posteriores.
Mucho antes, 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 un PC normal y una "Black PlayStation" especialmente modificada que podía interconectarse con un PC y descargar programas desde él. Estas operaciones requieren en general un sistema operativo funcional en ambas plataformas involucradas.
En general, se puede decir que las consolas de videojuegos y las máquinas arcade de monedas usaban como máximo una BIOS incorporada durante los años 1970, 1980 y gran parte de los años 1990, mientras que a partir de la era PlayStation y más allá comenzaron a volverse 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.
El desarrollo de los microprocesadores hizo que la computación barata estuviera disponible para las pequeñas empresas y los aficionados, lo que a su vez condujo al uso generalizado de componentes de hardware intercambiables que utilizaban una interconexión común (como los buses S-100 , SS-50, Apple II , ISA y PCI ) y a una creciente necesidad de sistemas operativos "estándar" para controlarlos. El más importante de los primeros sistemas operativos en estas máquinas fue el CP/M -80 de Digital Research para las CPU 8080/8085/Z-80. Se basaba 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 suministraba IBM, fue diseñado para ser similar al CP/M-80. [14] Cada una de estas máquinas tenía un pequeño programa de arranque en ROM que cargaba el propio sistema operativo desde el disco. El BIOS de las máquinas de la clase IBM-PC fue una extensión de esta idea y ha acumulado más características y funciones en los 20 años transcurridos desde que se introdujo la primera IBM-PC en 1981.
El costo decreciente de los equipos de visualización y procesadores hizo que fuera práctico proporcionar interfaces gráficas de usuario para muchos sistemas operativos, como el sistema genérico X Window que se proporciona con muchos sistemas Unix u otros sistemas gráficos como el Mac OS y macOS clásicos de Apple , el OS-9 Level II/Multi-Vue de Radio Shack Color Computer , AmigaOS de Commodore , Atari TOS , OS/2 de IBM y Microsoft Windows . La GUI original se desarrolló en el sistema informático Xerox Alto en el Centro de investigación de Xerox Palo Alto a principios de la década de 1970 y fue comercializada por muchos proveedores durante las décadas de 1980 y 1990.
Desde finales de la década de 1990, ha habido tres sistemas operativos en uso generalizado en computadoras personales: macOS de Apple Inc. , Linux de código abierto 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 mantuvo 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 reemplazadas hace mucho tiempo y fuera de producción, y SPARC y MIPS , que se usan 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.
A principios de los años 1990, Psion lanzó el PDA Psion Series 3 , un pequeño dispositivo de computación móvil. Admitía aplicaciones escritas por el usuario que se ejecutaban 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 cuota 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, al igual que Mac OS X , se basa en el sistema operativo Darwin , similar a Unix . Además de estos fundamentos, también introdujo una potente e innovadora interfaz gráfica de usuario que más tarde también se utilizó en la tableta iPad . Un año después, se presentó Android , con su propia interfaz gráfica de usuario, basada en un núcleo 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 éstos, una amplia gama de otros sistemas operativos móviles compiten en este área.
Los sistemas operativos originalmente se ejecutaban directamente en el propio hardware y proporcionaban servicios a las aplicaciones, pero con la virtualización, el propio sistema operativo se ejecuta bajo el control de un hipervisor , en lugar de tener el control directo del hardware.
En los mainframes, IBM introdujo el concepto de máquina virtual en 1968 con CP/CMS en el IBM System/360 Modelo 67 , y lo amplió más tarde en 1972 con Virtual Machine Facility/370 (VM/370) en el System/370 .
En las computadoras personales basadas en x86 , VMware popularizó esta tecnología con su producto de 1999, VMware Workstation , [15] y sus productos VMware GSX Server y VMware ESX Server de 2001. [16] Más tarde, una amplia gama de productos de otros, incluidos Xen , KVM y Hyper-V, significaron que para 2010 se informó que más del 80 por ciento de las empresas tenían un programa o proyecto de virtualización en marcha, y que el 25 por ciento de todas las cargas de trabajo del servidor estarían en una máquina virtual. [17]
Con el tiempo, la línea entre máquinas virtuales, monitores y sistemas operativos se fue difuminando:
En muchos sentidos, el software de máquina virtual desempeña hoy el papel que antes desempeñaba el sistema operativo, incluida la gestió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 permitir que los administradores del sistema administren el sistema.