Sistemas Operativos y Uso de Máquinas Virtuales
Sistemas Operativos y Uso de Máquinas Virtuales
Sistemas Operativos y Uso de Máquinas Virtuales
Antes de comenzar el estudio de sistemas operativos como Windows 7 y Ubuntu 16.04, es conveniente que el lector
conozca aspectos comunes a todos los sistemas operativos que se verán plasmados en estos. Además, el uso de
software de virtualización es cada vez más común de manera que se estudia VirtualBox, características, partes y
opciones más relevantes, para realizar las instalaciones de los SO indicados en los siguientes capítulos.
La división hardware-software es bastante amplia. En capítulos anteriores estudiábamos todos los componentes que
forman la parte hardware, desde elementos eléctricos como transistores o condensadores, a placas de PCB donde se
encuentran anclados los chips (puertas lógicas, sumadores, restadores, etc.).
Ahora que comenzamos el estudio del software, éste no se centra sólo en el estudio de programas ya acabados, sino
en todas las herramientas que se usan para desarrollarlos. En el capítulo 1, además de conceptos propios informáticos
se enseñaba al alumno software para creación de documentos, hojas de cálculo y navegación web, software sin más
relevancia que para la que fue diseñado, es decir, aplicaciones que se encargan de realizar alguna función que no
repercute en nuestro sistema hardware. A este software recordamos que lo denominábamos software de aplicación.
El sistema operativo constituye el software más importante de un sistema informático, también se denomina software
base. Sin él, el mejor equipo hardware sería un conjunto de componentes sin ninguna utilidad.
Según esto, la siguiente imagen muestra los niveles conceptuales de un sistema informático.
Es necesario dividir un sistema informático en niveles ya que es un sistema complejo y diseñar algo para el conjunto
es muy complicado. Por ejemplo, si necesitamos un nuevo elemento para establecer comunicación con una nueva
arquitectura de red es más sencillo que una persona se dedique a la construcción del componente físico y otra al
desarrollo de herramientas software para su uso, ya sea drivers como aplicaciones concretas de transmisión.
El sistema operativo se encuentra en la frontera entre los elementos hardware y el software de aplicación, usado por
el hombre de modo que:
• Se encargará de la gestión y asignación de los recursos hardware. Los recursos a gestionar serán: procesador,
memoria, periféricos y sistema de archivos.
• Proporcionará una interfaz al usuario para que pueda usar el sistema con facilidad.
• El núcleo.
• Los servicios.
• El intérprete de órdenes o Shell.
7.2.1. EL NÚCLEO
El núcleo es la parte del sistema operativo que interacciona directamente con el hardware del equipo, dejando que
las aplicaciones accedan a estos de forma segura. Se encargará de la gestión de los recursos del mismo, como el
procesador, la memoria, etc.
La gestión de los recursos las realiza en función de los servicios, es decir, si una aplicación concreta necesita del uso
de la memoria, esta aplicación realizará una llamada al sistema para alertar al gestor de memoria, el gestor de memoria
se encargará de localizar las zonas ocupadas y finalmente será el núcleo el que entre en contacto con el hardware para
que la acción se lleve a cabo.
• Gestor de memoria. Es la parte del sistema operativo que se encarga de la gestión de la memoria principal. Se
encarga de conocer las partes de la misma que estén libres u ocupadas, además de la asignación y liberación de
los procesos.
• Gestor de procesos. Este elemento se encarga de la gestión del procesador. Cuando ejecutamos un programa
este pasa a denominarse proceso (programa en ejecución) y comienza a precisar del microprocesador para poder
ejecutarse. Si solo disponemos de un procesador el paralelismo real no existe, de forma que éste proceso debe
convivir con otros y usar la CPU conjuntamente a intervalos de tiempo determinados. El gestor de procesos se
encargará de asignar qué proceso debe usar en qué momento el procesador y en caso de que existan recursos
del sistema que puedan ser accesibles por varios procesos, que no se produzca el acceso al mismo tiempo.
Además, una vez finalizada la ejecución debe encargarse de la destrucción de los procesos.
NOTA: Según la RAE (Real Academia Española), se define programa como: "Conjunto unitario de instrucciones que
permite a un ordenador realizar funciones diversas, como el tratamiento de textos, el diseño de gráficos .... ".
Ciertamente es así, teniendo en cuenta que cada instrucción será escrita usando una sintaxis concreta, proporcionada
por un lenguaje de programación determinado. A la hora de ejecutarse este programa, se hará de arriba abajo
(siempre que no existan sentencias de control como bucles o condicionales) como si leyéramos un libro. Normalmente,
una aplicación estará compuesta por un conjunto de programas sencillos.
• Gestor de la E/S. Elemento encargado de la gestión de los dispositivos de entrada y salida de información, es
decir, dispositivos periféricos.
• Gestor de archivos y directorios. Encargado de la gestión del almacenamiento secundario, gestión de ficheros y
directorios.
• Comunicación y sincronización entre procesos. Se encarga de establecer mecanismos para que los procesos
puedan comunicarse entre sí y sincronizar esta comunicación.
• Seguridad. Es el elemento que se encarga de conocer qué puede hacer cada usuario que accede al sistema, para
así indicar al núcleo qué recursos se pueden usar.
ACTIVIDAD 7.1
Es la interfaz que usan los servicios para comunicarse con las aplicaciones de nivel superior, gracias a esta interfaz
estas aplicaciones podrán realizar peticiones a los gestores de servicios que antes hemos estudiado.
Básicamente una interfaz en este caso no es más que una serie de funciones elementales.
Según el sistema operativo el Shell variará y las órdenes serán diferentes. Utilizaremos el intérprete de comandos de
forma más práctica cuando estudiemos los sistemas operativos Windows 7 y Ubuntu 11.10.
ACTIVIDAD 7.2
La complicación que presentan estos sistemas operativos viene dada a la hora de modificar los mismos para agregar
funcionalidad, servicios o modificar los que ya existen.
NOTA: En sistemas operativos como las diferentes distribuciones de GNU/Linux, se puede configurar el núcleo en
función de nuestras necesidades. Normalmente, cuando obtenemos las fuentes de una nueva versión del núcleo, lo
que hacemos es compilar ésta, de forma que en el proceso indicamos qué partes deben compactarse con él y cuáles
deben almacenarse como módulos que puedan ser usados en función del momento preciso de ejecución.
La ventaja que tienen es que al estar estructurados en capas, se dividen sus funciones y cada parte es menos compleja,
además cada capa conoce las funciones que ella implementa y no la que implementan las demás, solo conoce la
interfaz, cabeceras de funciones que puede usar, no su código, de la que está justo debajo de ella.
Esta estructura fue usada por primera vez en 1968, en el sistema operativo THE (Technische Hogeschool Eindhoven),
creado por Edsger W. Dijkstra.
Windows XP, Vista, 7, etc., sigue este esquema, aunque algunos de sus servidores (gestor de memoria, gestor de
procesos, etc.), pueden ejecutarse en modo núcleo(*) ya que aumentan la eficiencia. Estos sistemas se denominan
sistemas operativos híbridos.
(*) Las funciones se implementan en un único programa llamado núcleo, como en los sistemas operativos monolíticos.
A esto se le llama trabajar en modo núcleo.
Con el estudio de los elementos que forman un sistema operativo hemos introducido ya su funcionalidad, aun así
digamos que sus cometidos principales son:
NOTA: Ejemplos de estas interfaces del sistema operativo con el programador son POSIX y WIN32.
ACTIVIDAD 7.3
¿Qué se entiende por memoria virtual? Busca información y redacta un documento breve donde lo expliques.
ACTIVIDAD 7.4
Localiza en la web los términos POSIX y WIN32. Crea una presentación breve donde expliques las características
principales de cada API.
7.5. TIPOS DE SISTEMAS OPERATIVOS. VISIÓN HISTÓRICA
Los sistemas operativos han ido evolucionando a lo largo de los años, de forma que encontraremos diferentes tipos
en función de la época en la que se ubica.
Todos los trabajos se ejecutaban en serie, se introducía uno, se esperaba la salida y a continuación se comenzaba con
el siguiente.
Así, el programador dejaba el conjunto de tarjetas perforadas (lote de programas) sobre la correspondiente bandeja
de entrada y el sistema operativo se encargaba de ir procesando la salida de cada uno de forma secuencial.
Sistemas operativos que permitían mantener varios programas simultáneamente en memoria principal. El objetivo es
mejorar la productividad del sistema ejecutando varios programas a la vez, al mismo tiempo que se hace un mejor uso
de los recursos.
El sistema operativo comparte sus recursos con todos los usuarios del sistema de forma que asigna a cada uno de ellos
tiempos de uso de memoria, CPU, etc. En realidad, esta forma de trabajar es transparente al usuario, ya que este cree
que usa los recursos al completo sin compartirlos con nadie. Es una forma de trabajar bastante habitual hoy día, incluso
solemos hacerlo en arquitecturas cliente-servidor, donde los usuarios están configurados en una máquina a la que
podemos acceder a través de terminales conectados a la red: Desde una máquina podemos iniciar una sesión con un
usuario de la máquina principal donde está el sistema operativo de tiempo compartido.
SISTEMAS OPERATIVOS EN TIEMPO REAL
Se construyen para tareas muy específicas y se instalan en sistemas que deben procesar gran cantidad de eventos. Su
objetivo es proporcionar rápidos tiempos de respuesta ante los sucesos que registra del exterior. Se usan para el
control del tráfico aéreo, de trenes, etc.
Sistemas operativos que eran capaces de operar en lotes, en multiprogramación, tiempo real o tiempo compartido. El
hecho de que el sistema operativo fuera capaz de trabajar como cualquiera de los sistemas operativos antes
estudiados, repercutió en un software más complejo y en la necesidad de que los programadores o usuarios del
sistema debían de aprender un lenguaje de control complicado para poder preparar sus trabajos, tenían que
especificar muchas opciones y detalles.
Sistemas operativos que aún sin dejar de realizar su función son cada vez más accesibles por todos. No es necesario el
estudio de comandos complejos o instrucciones para su uso. Esta definición se ha adoptado firmemente en estos
tiempos, si observamos Windows 7,8, 10 o Ubuntu 16.10 (actual), veremos interfaces cada vez más fáciles de usar,
cada vez más intuitivas.
Según Tanenbaum "un sistema distribuido es una colección de computadoras independientes que aparecen ante los
usuarios del sistema como una única computadora".
Un sistema operativo distribuido es aquel común a varios equipos que mantienen comunicación a través de la red, de
forma que cuando un usuario accede al mismo no sabe dónde están almacenados sus ficheros o dónde se están
procesando los datos. Ejemplo de sistema distribuido es el que forma la red de sucursales de un banco. El operario
que mira tu cuenta de ahorros accede a ella sin saber dónde está almacenada realmente la información y la actualiza
con seguridad aunque en otro lugar se esté accediendo al mismo tiempo.
Es una evolución de los sistemas operativos distribuidos. Se denomina middleware a una capa software que se ejecuta
sobre un equipo que tiene un sistema operativo propio y que es la encargada de gestionar el sistema distribuido.
En los sistemas operativos distribuidos teníamos equipos independientes con hardware diferente y un sistema
operativo común, en sistemas operativos middleware, los equipos disponen de su propio hardware y su propio sistema
operativo, agregando un software que hace las veces de sistema operativo distribuido.
Con la virtualización podemos tener en nuestro propio PC, que corre con su propio sistema operativo (sistema
operativo anfitrión), varios sistemas operativos huéspedes. El software de virtualización gestionará los recursos (CPU,
memoria, etc.) entre todas las máquinas virtuales que tengamos configuradas.
Cada vez este concepto se usa más en aulas dedicadas al estudio de ciclos formativos, ya que el alumno puede usar
con seguridad todos los sistemas operativos necesarios para cada módulo sin deteriorar el sistema operativo principal,
con lo que los equipos se mantienen siempre en buen estado y disponibles.
• Según el número de usuarios que pueden usar el sistema al mismo tiempo, sistemas operativos monousuario
o multiusuario.
• Según el número de tareas que pueda realizar al mismo tiempo, sistemas operativos monotarea o multitarea.
7.7.1. MICROSOFT
MS-DOS (Microsoft Disk Operating System). Adoptado por IBM al principio de la década de los 80 como el sistema
operativo para el IBM-PC.
Windows 3.0, 3.1 y 3.11 para trabajo en grupo. Estos no eran sistemas operativos como tal, solo proporcionaban una
interfaz gráfica más amigable y fácil de usar pero bajo ellos seguíamos encontrando MS-DOS.
Windows 95. Primer sistema operativo Windows de 16/32 bits con multiprogramación. Su nombre data del año en el
que salió al mercado.
Windows 98 y Windows ME. Aparecen en 1998 y 2000 respectivamente, siendo el primero de ellos un sistema
operativo bastante aceptable en contraposición de Windows ME que realizaba una pésima gestión de los recursos.
Windows XP. Año 2001, distribuido en diferentes versiones ha sido uno de los sistemas operativos Windows
más usados e incluso aún existen empresas que lo mantienen.
Windows Vista. Sistema operativo que pretendía ser mucho más intuitivo y fácil de usar por personas que nunca
hubieran utilizado un PC, pero que resultó un fracaso para Microsoft ya que muchos consideraban que era la
continuación de Windows ME.
Windows 7. Sistema operativo usado en la actualidad. Muchos consideran que es una mejora de Windows XP que usa
una interfaz parecida a la generada en Windows Vista.
Windows 8 y 8.1. Evoluciones del 7 y algunas novedades técnicas, como soporte por soft de virtualización, etc...
Windows 10. Anterior sistema operativo de Microsoft y que se comercializaba como un servicio. Pretendia ser el
“último Windows” con seriales. A partir de él serían todo actualizaciones sobre Windows 10. Ye vemos que no...
Windows 11. Actual sistema operatívo de Microsoft, que también se comercializa como un servicio.
Casi al mismo tiempo que algunos de los sistemas operativos vistos, Microsoft comercializó otros para máquinas más
potentes o servidores. Algunos de ellos:
Windows NT Server. Aparece por la época de Windows 95. Potente sistema operativo servidor. Aunque estos equipos
podían configurar redes con sistemas operativos Windows 95 existía una versión cliente del mismo Windows NT
Workstation.
Windows 2000 Server. Evolución de Windows NT con sus sistemas operativos cliente Windows 2000 Professional.
Windows 2003, hasta el actual Windows Server 2022, siendo este último la versión servidora más reciente.
Actualmente existen multitud de distribuciones Linux, siendo Linux el núcleo del sistema operativo al que se le agrega
multitud de software de aplicación útil para el usuario. La versión del kernel a día de hoy es la 4.10
(http://www.kemel.org/). Ubuntu, Fedora, OpenSUSE, Debian, Red Hat o CentOS son algunas distribuciones de las
más conocidas.
Android creado por GOOGLE. Normalmente, sus versiones se secuencian por una letra, y suele adoptar una palabra
asociada (Ejemplo: versión 7, letra N, nombre Nougat). Actualmente está al liberarse la versión 8, que sería la O, y no
se conoce nombre aún.
Windows Phone de Microsoft. En 2015 Microsoft abandona Windows Phone, dejando Windows 10 Mobile como
sistema para todos los dispositivos móviles.
CHROME OS. GOOGLE en 2009 ha implementado un nuevo sistema operativo para PC, sistema operativo basado en
WEB.
Firefox OS. En 2012 Mozilla lanza un sistema operativo para móviles basado en HTML5, con núcleo Linux. En 2015 da
por finalizado el proyecto.
Libertad 0. Puede ejecutarse siempre que se quiera y con los propósitos que el usuario quiera.
Libertad 1. Acceso al código fuente, de forma que se puede estudiar cómo funciona y puede adaptarse a las
necesidades de cada uno.
Libertad 3. Posibilidad de mejorar el software y compartir las mejoras con otros usuarios.
Si el software es propietario decimos que incumple algunas de las libertades indicadas, ya que:
No se pueden distribuir copias del mismo libremente, incluso si hemos comprado una copia no podemos usar la misma
para instalar en dos equipos diferentes (libertad 2).
Al no ser posible el acceso al software no es posible su mejora por parte de la comunidad de usuarios (libertad 3).
Licencia. Contrato entre el desarrollador del software y el usuario, donde se establecen los derechos y deberes de
ambos. Será el creador del software quien elija el tipo de licencia para el mismo.
Patente. Conjunto de derechos garantizados por un gobierno al inventor de un nuevo producto. Este producto podrá
ser producido y comercializado beneficiando al poseedor de su patente, siendo esta concedida por un período
determinado de tiempo.
Derecho de autor o copyright. Es la forma en la que las leyes actuales protegen las obras originales. Todo software
con copyright está protegido ante la piratería mediante la legislación vigente.
Así, y entendidos estos conceptos, existen diferentes tipos de licencias tanto para software libre como para software
propietario.
Licencia Pública General de GNU, GNU General Public License o simplemente GNU GPL, es una licencia creada por Free
Software Foundation en 1989. Esta licencia está orientada a la protección de las cuatro libertades del software libre:
libertad de uso, distribución, modificación y mejora del software.
La licencia GPL debe preservar que el software sea siempre libre protegiendo al mismo de intentos de apropiación que
le hagan perder algunas de las libertades que tiene por derecho.
El documento de licencia donde se especifican sus características puede leerse en la web de GNU
http://www.gnu.org/licenses/gpl-3.0.html. Este alcanzó la versión 3 en junio de 2007.
Cuando adquirimos un software propietario debemos tener en cuenta que este está protegido por unos derechos de
autor y quien lo compre debe regirse a ellos. La única forma legal de asegurar que se cumplen los derechos de autor
es mediante el uso de licencias. Existen diferentes tipos de licencias:
CLUF (Contrato de Licencia para Usuario Final) o EULA (End User License Agreement). Licencia de código cerrado en
las que el autor del software es quien decide qué se puede hacer con él.
Licencias que se tienen al adquirir equipos con una versión del sistema operativo o software preinstalada. A menudo
ocurre que los fabricantes de PC llegan a acuerdos con los fabricantes de software de forma que estos instalan unas
versiones del software especiales (OEM) en los discos duros de los equipos nuevos.
Licencia de producto empaquetado. Adquisición del producto original en caja donde aparece el contrato de licencia
de uso.
Licencias por volúmenes. Ejemplos de estas licencias son Open License, Select License o Enterprise Agreement. Son
licencias para empresas con un determinado volumen del PC a las que se le facilita la compra de licencias mediante
descuentos por volumen o mayor período de tiempo de cobertura.
Licencias educativas y para otros sectores. En función del sector que vaya a hacer uso del software se pueden
configurar licencias ajustadas a las necesidades del mismo.
Puedes visualizar las características de la licencia OEM o cualquiera de las usadas por Microsoft desde la web
https://www.microsoft.com/es-es/licensing/licensing-options/oem.aspx.
Tenernos una capa software llamada VMM (Virtual Machine Monitor) que se encuentra entre el hardware y el sistema
operativo de la máquina virtual, de forma que consigue abstraer los recursos de esta máquina para que sean
distribuidos por todas las máquinas virtuales instaladas, es decir, el sistema operativo huésped.
Así, VMM se encarga de distribuir los cuatro recursos fundamentales del hardware entre los sistemas operativos
huésped que tengamos instalados.
Existen diferentes tipos de software de virtualización. Entre las diferentes opciones que encontramos en el mercado
nos decantamos en este libro por VirtualBox, ya que es un software libre y el uso de este tipo de software es una de
las filosofías a seguir en el desarrollo del mismo.
Virtualización a nivel de Sistema Operativo. En este tipo de virtualización disponemos de hardware real y un único
kernel del sistema operativo anfitrión que usarán todos los sistemas virtualizados. Tendremos procesos que se
agrupan para realizar las funciones de los sistemas operativos que se quieren virtualizar.
Paravirtualización. Este tipo de virtualización consiste en ejecutar sistemas operativos huésped sobre otro sistema
operativo llamado anfitrión que actúa como hypervisor. Para conseguir la virtualización y que los sistemas operativos
huésped funcionen como sistemas instalados en máquinas reales es necesario que estos se comuniquen con el
hypervisor y en ocasiones puedan ser modificados.
Virtualización completa. Es similar a la paravirtualización pero no es necesario que el sistema operativo huésped
colabore con el anfitrión.
NOTA: Actualmente, lNTEL y AMD han incorporado en sus microprocesadores nuevas tecnologías que facilitan la
paravirtualización y la virtualización completa: Intel VT y AMD-V.
ACTIVIDAD 7.5
Proporciona información sobre el propio proceso de instalación. Clic en Next para comenzar con la instalación.
3. Si desea proceder con la instalación de red y su configuración. La pantalla se muestra con una advertencia debido a
que durante el proceso de instalación de esta se resetea nuestra conexión de red.
PASO 3: INSTALACIÓN
Llegados a este punto, si todos los aspectos de configuración se han escogido adecuadamente, tan solo queda hacer
clic sobre Install. En caso de que alguna de las opciones debiera cambiarse es el momento de pinchar sobre Back y
modificar estas.
Llegados a este punto, los componentes seleccionados han sido instalados en nuestro PC y esta pantalla del asistente
es lo que nos dice. Tan solo tendremos que elegir entre ejecutar directamente el software una vez hayamos hecho clic
sobre Finish o bien no ejecutarlo. Se indica esta acción seleccionando o no la casilla de verificación "Start Oracle VM
VirtualBox 5.1.8 after installation"
Además, localizaremos a la izquierda un recuadro vacío donde se irán listando todas las máquinas virtuales que se
vayan creando. En la derecha observaremos las características de las mismas y podremos configurar el hardware
ficticio de cada una.
Nueva. Nos permitirá crear una nueva máquina virtual para poder instalar un nuevo sistema operativo.
Configuración. Una vez creada una máquina virtual podrá ser configurada a través de este botón. Al pulsar sobre él
aparecerá un nuevo cuadro de diálogo desde el que podremos modificar desde la imagen ISO que hemos colocado en
la unidad de CD hasta las características del adaptador de red que estamos usando. Este botón sólo estará activo si
hemos creado una máquina virtual con anterioridad y si esta está seleccionada.
Iniciar. Como su nombre indica, inicia la máquina virtual seleccionada. Iniciar una máquina virtual es equivalente a
pulsar el botón de encendido de un PC, de forma que veremos como aparece una nueva ventana de virtualbox en la
que cargará el sistema operativo que se haya instalado en ella y con la que podremos interactuar como si estuviéramos
en otro ordenador de forma física real.
Descartar. Esta opción se activa cuando hemos guardado algún estado de la máquina virtual, pero ¿qué quiere decir
esto? Las máquinas virtuales proporcionan ciertas ventajas en el uso de sistemas operativos, ya que permiten pausar
su ejecución retomando ésta desde un estado concreto. La opción descartar permite eliminar posibles estados
guardados.
Si observamos la figura 7.10., vemos tres pestañas referidas a los diferentes elementos de almacenamiento: Disco
duro, CD/DVD o disquete.
A la hora de crear una máquina virtual, debemos indicar al software la cantidad de disco duro real que vamos a usar.
Cuando el proceso de creación de la máquina virtual finaliza queda registrado un disco duro virtual que referencia esa
parte de disco que anteriormente mencionábamos. Este disco, junto a los creados en otras máquinas virtuales, se
listará en la pestaña discos duros.
Cuando comenzamos a instalar un sistema operativo, los ficheros de instalación del mismo deben ser aportados de
algún modo. Para esto tenemos una unidad de CD o DVD virtual, de manera que podemos indicar un fichero ISO como
CD o DVD de instalación. La pestaña imágenes de CD/DVD mostrará un listado con todas las imágenes de CD/DVD
cargadas en algún momento y vinculadas a las máquinas.
Por último, si en lugar de tener un CD o DVD de instalación tenemos un disquete, como era el caso de sistemas
operativos MS-DOS o Windows 3.11, necesitaremos una unidad virtual de disquete que se configura en la tercera
pestaña, imágenes de disquete.
Desde el cuadro de diálogo Administración de medios virtuales podemos eliminar un medio virtual concreto, copiar,
modificar, etc. Todas estas opciones se muestran en la barra de herramientas del cuadro de diálogo.
Es importante dejar claro que para para poder eliminar un medio es necesario liberar antes el mismo, es decir, el
medio estará ligado a una máquina virtual concreta, así que antes de eliminarlo debemos hacer que deje de estar
conectado a ella.
Básicamente podemos tener varias máquinas y empaquetarlas de forma que puedan ser usadas en otros programas
dedicados a la virtualización que también soporten OVF. Por ejemplo, imaginamos nuestras máquinas bien
configuradas en VirtualBox y que se empaquete para uso en VMWare.
La opción por defecto es General, pudiendo cambiar entre Sistema, Pantalla, etc., según se observa en la lista de la
izquierda.
• Pestaña Básico
Modificar el nombre de la máquina virtual.
Cambiar el tipo de sistema operativo que alberga.
Cambiar la versión del sistema operativo.
• Pestaña Avanzado
Especificar si se quiere el uso compartido o no del portapapeles entre la máquina anfitrión y la máquina
huésped. Es decir, se permita copiar, corta y pegar entre ambos sistemas.
Indicar la ubicación de la carpeta de instantáneas.
Establecer si se muestra la barra de herramientas de máquina virtual cuando ésta se encuentra a pantalla
completa (esta barra nos permite cargar un dispositivo en tiempo de ejecución, minimizar la máquina entre
otras cosas).
• Pestaña descripción
Establecer un comentario relacionado con la máquina virtual que pueda sernos de ayuda en el futuro y que
nos recuerde determinados aspectos de la propia máquina, proceso de instalación del sistema operativo, etc.
Desde Sistema podremos modificar características relacionadas con el hardware, como CPU, RAM, etc. Veamos qué
funcionalidad nos proporcionan las opciones de cada una de sus pestañas.
ACTIVIDAD 7.6
• Pestaña vídeo:
Establecer la cantidad de memoria de video que tendrá nuestro adaptador gráfico.
Indicar el número de monitores a usar. El máximo es 8.
Habilitar funciones extendidas tales como habilitar aceleración 3D o aceleración de video 2D.
• Pestaña pantalla remota:
Configuramos el sistema como servidor de Protocolo de Escritorio Remoto (RPD), de forma que escritorios
remotos clientes podrán acceder a la máquina y operar con ella.
En la creación de la máquina virtual creamos un disco nuevo o bien utilizamos alguno existente. Si no es el adecuado
tenemos opción a cambiar el dispositivo virtual en la zona de árbol de almacenamiento en Almacenamiento.
Encontraremos controlador SATA que hará referencia al disco duro y CD o DVD vinculado con la máquina virtual;
controlador IDE que hace referencia al CD o DVD en caso de ser IDE. Uno de estos, contiene los ficheros de instalación
del sistema operativo (normalmente en lugar de CD/DVD elegimos un fichero de imagen ya que es la opción más
cómoda).
Si en el controlador IDE del CD/DVD no se ha indicado qué imagen debe cargarse en él, podemos establecerla pulsando
sobre el icono en forma de disco de la derecha. Se mostrarán todos los medios anteriormente usados. Si queremos
escoger uno que no se encuentra en la lista, pulsaremos sobre Seleccionar un archivo de disco virtual de CD/DVD.
Desde audio, puertos serie y USB tendremos opción a modificar aspectos relacionados con estos componentes.
Desde red podemos configurar la interfaz de red del dispositivo. Podemos simular hasta cuatro interfaces de red, de
forma que suponemos cuatro tarjetas de red en el mismo PC. La configuración de cada una de ellas cambiará en
función del elemento escogido en la lista. Veremos la configuración de red en los capítulos dedicados al estudio de
sistemas operativos en red.
CONFIGURACIÓN PREVIA
1. Compartimos una carpeta desde las opciones de configuración de virtualBox para la máquina virtual que vamos a
usar Configuración Carpetas compartidas Agregar carpeta compartida.
3. Instalamos las Guest Additions accediendo al menú dispositivos. Al hacer clic en dispositivos Guest Additions el
sistema responde de forma similar a cuando se inserta un CD/DVD o USB en tiempo de ejecución, es decir, detecta el
nuevo medio y pregunta qué hacer con él. En esta ocasión preguntará si debe instalar el software que contiene ya que
es autoarrancable. Si nos da un error al abrir las Guest (“VERR_PDM_MEDIA_LOCKED”), se intenta solucionar de la
manera siguiente:
Recordemos que al crear las carpetas, hay una opción que dice “automontar”. Esto sería algo así como que esas
órdenes se ejecutaran automáticamente cuando arrancamos la máquina.
En Linux, una vez montada, accedemos con el uso de nautilus o cualquier visor de archivos/recursos.
Si al crear máquinas de virtual box, no tenemos opciones de crear máquinas de 64 bits, comprobaremos en orden:
• Que esté activada la virtualización por hardware. Esta opción se encuentra en la BIOS o en la UEFI. Tiene distintos
nombres y puede ir en diversas partes del menú. Para Intel, hay que buscar VT-X y para AMD AMD-v o SMV.
Puede estar en Seguridad, Procesador, CPU... Hay BIOS que no lo mostrarán incluso si el procesador lo soporta.
Son decisiones del fabricante para abaratar modelos, etc. Solo queda buscar en Internet si alguien ha modificado
tu BIOS para acceder a estas opciones ocultas. Habrá que “flashear” la BIOS, con el riesgo que conlleva.
• En sistemas más modernos, ejemplo Windows 10 u 11, si seguimos así todo sin poder crear máquinas virtuales
de 64 bits, tendremos que dar un paso más y comprobar que no tiene activada su propia opción de
virtualización (Windows 10 y 11, ya vienen con soporte por software para virtualizar). Se llama Hyper-V, y si está
activado, solo se permite un soporte de virtualización simultaneo. La solución, evidentemente, pasa por
inhabilitarlo:
•
Desde búsqueda, por ejemplo, llegamos hasta Activar o desactivar las características de Windows.
Figura 7.17 Desactivado de la opción Hyper-v
En el árbol localizamos Hyper-V, y desactivamos todas las opciones de esa rama. Aceptamos.
Windows buscará y reemplazará los archivos necesarios, y luego reiniciará como si hubiera una actualización.
En unos segundos arrancará con la opción desactivada, y podremos crear máquinas de 64 bits.
COMPRUEBA TU APRENDIZAJE
1. ¿Qué entiendes por sistema operativo?
5. ¿Qué tipos de sistemas operativos caracterizan la cuarta etapa de los sistemas operativos?
10. ¿Qué proceso debo seguir para modificar la memoria RAM asignada a mi máquina virtual Ubuntu? ¿Y para
compartir una carpeta desde el equipo anfitrión al equipo huésped?
ACTIVIDADES DE AMPLIACIÓN
1. Realiza un esquema del capítulo (incluye los aparatados dedicados al estudio del sistema operativo).
3. Aunque MS-DOS es un sistema operativo en desuso es interesante el estudio sobre su gestión de memoria. Busca
información en la web o en bibliografía aportada por el profesor donde puedas observar la forma en la que este
sistema operativo gestionaba su memoria. Crea un documento breve donde lo expliques y agrega algún diagrama
representativo.
4. ¿Qué se entiende por paginación de memoria? Desarrolla un documento donde expliques con tus palabras este
procedimiento que usa el sistema operativo.
5. Cuando se programa un sistema operativo o la forma en que se gestionan sus procesos se habla de señales o
tuberías. ¿Qué es una señal? ¿y una tubería? Sería interesante que investigaras la programación de procesos y
realizaran algún programa pequeño para ser ejecutado en alguna máquina virtual Linux.
6. Investiga sobre el concepto de concurrencia o paralelismo. ¿Qué aspectos se tienen en cuenta cuando hablamos
de concurrencia? ¿Qué es una sección crítica? ¿Qué tipos de bloqueos se pueden dar?
7. Windows XP es un sistema operativo multitarea, pero ¿es monousuario o multiusuario? Piensa un poco la
respuesta y justifícala.
9. Instala VirtualBox en tu PC. Aunque aún no vayamos a realizar la instalación de ningún sistema operativo, crea una
máquina virtual Windows para albergar Windows 7, de la mitad de capacidad de la RAM real que tengas y unos 10
GB de disco duro.
Prepárala para cuando se arranque se inicie desde la unidad de CD/DVD y ubica en esta la imagen ISO de Windows 7.
10. Haz una operación similar al ejercicio 9 pero para Ubuntu. Con una RAM de 512 MB y 8GB de espacio en disco.
11. ¿Qué es una licencia OEM? ¿Qué sistema operativo usas? ¿Y qué licencia?
12. Realiza una exportación de las máquinas creada. Investiga algo más sobre esta opción del menú archivo, redacta
un documento donde expliques claramente su utilidad, además, indica pasos a seguir en el proceso y peculiaridades
de cada paso.
13. Configura la máquina Windows para que soporte dos interfaces de red.
14. Crea una carpeta en el escritorio de tu PC. Accede a las máquinas creadas en los ejercicios 9 y 10 y compártelas
con ellas.
15. VMWare es otro software de virtualización bastante conocido. Realiza un documento donde comentes sus
principales características, el proceso de instalación y cuál es el proceso de creación de una máquina virtual.
16. GIMP, el editor gráfico de Linux, ¿es software libre? Justifica tu respuesta.