Está en la página 1de 4

Estructura de los sistemas operativos con mquinas

virtuales.
Las primeras versiones de OS/360 eran sistemas estrictamente por lotes. No
obstante, muchos usuarios de 360 queran tener tiempo compartido, de modo que
diversos grupos, tanto dentro como fuera de IBM, decidieron escribir sistemas de
tiempo compartido para l.
El sistema de tiempo compartido oficial de IBM, TSS/360, se entreg tarde, y
cuando por fin lleg era tan grande y lento que pocos sitios realizaron la
conversin. Finalmente, este sistema fue abandonado despus de
que su
desarrollo haba consumido unos 50 millones de dlares (Graham, 1970). Por otro
lado, un grupo del Centro Cientfico de IBM en Cambridge, Massachusetts,
produjo un sistema radicalmente diferente que IBM finalmente acept como
producto, y que ahora se utiliza ampliamente en las macrocomputadors IBM que
quedan. Este Sistema, llamado originalmente CP/CMS y que ms adelante fue
rebautizado como VM/ 370 (Seawright y MacKinnon, 1979), se basaba en una
astuta observacin: un sistema de tiempo compartido ofrece: (1)
multiprogramacin y (2) una mquina extendida con una interfaz ms cmoda que
el hardware solo. La esencia de VM!370 consiste en separar por completo estas
dos funciones El corazn del sistema, conocido como monitor de mquina virtual,
se ejecuta en el hardware solo y realiza la multiprogramacin, proporcionando no
una, sino varias mquinas virtuales a la siguiente capa superior. Sin embargo, a
diferencia de otros sistemas operativos, estas mquinas virtuales no son mquinas
extendidas, con archivos y otras caractersticas bonitas; ms bien, son copias
exactas del hardware solo, incluido el modo de kernel/usuario, E/S, interrupciones
y todo lo dems que la mquina real tiene.

Estructura del sistema operativo

Cmo funciona?
Cuando creas una mquina virtual para instalar otro sistema operativo tendrs que
asignar todos los recursos que necesitas: cunto espacio de disco duro, cunta
memoria RAM, cuanta memoria grfica, decidir en qu lugar se tendr el disco
duro virtual, etc. Todo esto ser tomado de los recursos que tengas en tu
ordenador.

Implementacin
Cuando un programa de usuario ejecuta una llamada al sistema, la llamada se
atrapa y se
enva al sistema operativo de su propia mquina virtual, no al
VM/370, tal como se hara si el programa se estuviera ejecutando en una mquina
real en lugar de una virtual. A continuacin, CMS emite las instrucciones de E/S
del hardware normal para leer su disco virtual, o lo que sea que se necesite para
llevar a cabo la llamada.
Estas instrucciones de E/S son atrapadas por el VM/370, el cual, entonces, las
ejecuta como parte de su simulacin del hardware real. Al separar por completo
las funciones de multiprogramacin y de suministro de una mquina extendida,
cada uno de los componentes puede ser mucho ms sencillo, flexible y fcil de
mantener. El concepto de mquina virtual se usa mucho hoy da en un contexto
diferente: la ejecucin
de viejos programas para MS-DOS en una Pentium (u
otra CPU Intel de 32 bits). Al disear la Pentium y su software, tanto Intel como
Microsoft se dieron cuenta de que habra una gran demanda por ejecutar software
viejo en el nuevo hardware. Por esta razn, Intel provey un modo 8086 virtual en
la Pentium. En este modo, la mquina acta como una 8086 (que es idntica a

una 8088 desde la perspectiva del software) incluido direccionamiento de 16 bits


con un lmite de 1 MB. Este modo es utilizado por WINDOWS, OS2 y otros
sistemas operativos para ejecutar programas de MS-DOS. Estos programas se
inician en modo 8086 virtual y, en tanto ejecuten instrucciones normales, operan
en el hardware solo. Sin embargo, cuando un programa trata de entrar por una
trampa al sistema operativo para efectuar una llamada al sistema, o trata de
realizar E/S protegida directamente, ocurre una trampa al monitor de la mquina
virtual.

Beneficios
Las utilidades y beneficios que podemos sacar de una mquina virtual son
numerosos.
Algunos de los usos que podemos dar a las mquinas virtuales son los siguientes:
1. Para probar sistemas operativos. Si toda vuestra vida habis usado
Windows y queris probar otro sistema operativo, como por ejemplo Linux
Mint, podis hacerlo a travs de una mquina virtual. Adems el proceso de
una instalacin en la mquina virtual es sumamente fcil ya que no nos
tendremos que preocupar de crear particiones adicionales en nuestro disco
duro, etc.
2. Para usar un software que no est disponible en nuestro sistema
operativo. As por ejemplo si somos usuarios de Linux y queremos usar
Photoshop, lo podemos hacer a travs de una mquina virtual.
En ocasiones tenemos que usar software que nicamente se puede
ejecutar en sistemas operativos que son obsoletos. As por lo tanto si
tenemos un programa que solo se puede usar en Windows 98, podemos
crear una mquina virtual con Windows 98 y ejecutar y usar el software sin
ningn tipo de problema.
3. Podemos experimentar en el sistema operativo que corre dentro de la
mquina virtual haciendo cosas que no nos atreveramos a realizar con
nuestro sistema operativo, como por ejemplo aplicar una actualizacin de
software, navegar de forma segura en una pgina web que consideramos
sospechosa, etc.
4. Podemos usar las mquinas virtuales como sandbox con el fin de por
ejemplo ejecutar aplicaciones maliciosas o abrir correos
sospechosos en un ambiente controlado y seguro.
5. Podemos crear/simular una red de ordenadores con tan solo un
ordenador. Esta red de ordenadores virtualizados la podemos usar con
fines formativos y de este modo adquirir conocimientos sobre
administracin de redes.
6. Si eres un desarrollador de software puedes testear si el programa que
ests desarrollando funciona correctamente en varios sistemas
operativos.
Para testear versiones alfa, Beta y Release candidate de ciertos programas
y sistemas operativos.
7. Para montar un servidor web, un servidor VPN, un servidor de correo o
cualquier otro tipo de servidor.

Para probar multitud de programas en Windows y evitar que se ensucie el


registro mediante las instalaciones y desinstalaciones de los programas.