2021-11-16 15:51:46 +00:00
|
|
|
\documentclass[12pt,a4paper]{article}
|
|
|
|
\usepackage[spanish]{babel}
|
|
|
|
|
|
|
|
\title{Ejercicio II: Ventajas de la Virtualización}
|
|
|
|
\author{Nicolás A. Ortega Froysa}
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\pagebreak
|
|
|
|
\tableofcontents
|
|
|
|
\pagebreak
|
|
|
|
\section{Hoja De Control Del Documento}
|
|
|
|
\begin{table}[h!]
|
|
|
|
\begin{center}
|
|
|
|
\caption{Documento/Archivo}
|
|
|
|
\label{tab:document}
|
|
|
|
\begin{tabular}{|l|c|l|c|}
|
|
|
|
\hline
|
|
|
|
{\bf Fecha Última Modificación} & \the\day/\the\month/\the\year &
|
|
|
|
{\bf Versión/Revisión} & v01r01 \\ \hline
|
|
|
|
{\bf Fecha Creación} & 16/11/2021 & \hfill & \hfill \\ \hline
|
|
|
|
{\bf Fecha Finalización} & \the\day/\the\month/\the\year & \hfill &
|
|
|
|
\hfill \\ \hline
|
|
|
|
\end{tabular}
|
|
|
|
\end{center}
|
|
|
|
\end{table}
|
|
|
|
|
|
|
|
\begin{table}[h!]
|
|
|
|
\begin{center}
|
|
|
|
\caption{Registro De Cambios}
|
|
|
|
\label{tab:registro-cambios}
|
|
|
|
\begin{tabular}{|c|c|c|}
|
|
|
|
\hline
|
|
|
|
{\bf Versión/Revisión} & {\bf Página(s)} & {\bf Descripción} \\
|
|
|
|
\hline
|
|
|
|
v01r01 & Todas & Creación y elaboración del documento. \\ \hline
|
|
|
|
\end{tabular}
|
|
|
|
\end{center}
|
|
|
|
\end{table}
|
|
|
|
|
|
|
|
\begin{table}[h!]
|
|
|
|
\begin{center}
|
|
|
|
\caption{Autores Del Documento}
|
|
|
|
\label{tab:autores}
|
|
|
|
\begin{tabular}{|c|c|}
|
|
|
|
\hline
|
|
|
|
{\bf Apellidos, Nombre} & {\bf Curso} \\ \hline
|
|
|
|
Ortega Froysa, Nicolás Andrés & 1 \\ \hline
|
|
|
|
\end{tabular}
|
|
|
|
\end{center}
|
|
|
|
\end{table}
|
|
|
|
|
|
|
|
\begin{table}[h!]
|
|
|
|
\begin{center}
|
|
|
|
\begin{tabular}{|p{4cm}|p{4cm}|p{4cm}|}
|
|
|
|
\hline
|
|
|
|
{\bf Preparado} & {\bf Revisado} & {\bf Aprobado} \\ \hline
|
|
|
|
Ortega Froysa, Nicolás Andrés & \hfill & \hfill \\ \hline
|
|
|
|
\end{tabular}
|
|
|
|
\end{center}
|
|
|
|
\end{table}
|
|
|
|
|
|
|
|
\pagebreak
|
|
|
|
|
|
|
|
\section{¿Qué es la Virtualización?}
|
|
|
|
La {\em virtualización} es una técnica que se usa para crear una máquina o
|
|
|
|
sistema virtual sobre el sistema real. Esto contribuye a uno de los objetivos de
|
|
|
|
los sistemas operativos que es la abstracción. Estas virtualizaciones se pueden
|
|
|
|
hacer de varias maneras:
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Creando toda una máquina virtual entera, simulando todo el {\em
|
|
|
|
hardware} de una máquina para poder correr un sistema por encima. Como
|
|
|
|
generalmente se usa para la virtualización {\em no-nativa}, referiremos
|
|
|
|
a esto como tal.
|
|
|
|
\item Un sistema que funciona a base del {\em hardware} real de la máquina,
|
|
|
|
pero corriendo un sistema operativo distinto. Lo que nosotros llamaremos
|
|
|
|
la virtualización {\em nativa}.
|
|
|
|
\item Hay algunos casos donde lo único que se hace es crear un ambiente
|
|
|
|
virtual para poder correr un único programa, que lo denominaremos
|
|
|
|
virtualización {\em de programa}.
|
|
|
|
\item Existen unas virtualizaciones que son algo entre los dos anteriores,
|
|
|
|
que serían los contenedores. Éstos Pueden correr varios servicios, pero
|
|
|
|
son mínimos, y corren, en cierto modo, sobre el hardware real de la
|
|
|
|
máquina, no un hardware virtual.
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
Todos éstos tienen sus ventajas y desventajas, y se han de aplicar dependiendo
|
|
|
|
de cuáles son los objetivos o las tareas a mano; y por supuesto, tienen sus
|
|
|
|
ventajas y desventajas sobre la {\em no-virtualización} (que es decir correr de
|
|
|
|
forma nativa).
|
|
|
|
|
|
|
|
\section{Virtualización No-Nativa}
|
|
|
|
Al crear hasta un {\em hardware} virtual, este tipo de virtualización simula
|
|
|
|
todo lo que sería un ordenador. Esto nos provee varias ventajas y también
|
|
|
|
desventajas:
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Ventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Se pueden correr programas compiladas para arquitecturas
|
|
|
|
distintas a la de la máquina anfitrión.
|
|
|
|
\item Se pueden correr programas con seguridad de que no afectará ni
|
|
|
|
infectará el {\em hardware} de la máquina.
|
|
|
|
\item En algunos casos se pueden simular otros tipos de dispositivos
|
|
|
|
periféricos.
|
|
|
|
\end{itemize}
|
|
|
|
\item Desventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Al simular toda una máquina, es más lento que otros tipos de
|
|
|
|
virtualización.
|
|
|
|
\item No puede aprovecharse del {\em hardware} real para
|
|
|
|
virtualizar, salvo si la CPU provee interfaces para esta tarea.
|
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
\section{Virtualización Nativa}
|
2021-11-17 19:20:14 +00:00
|
|
|
Al ser nativa, este tipo de virtualización permite aprovecharse más de la
|
|
|
|
máquina física anfitrión, ya que la máquina huésped usa el mismo {\em hardware}
|
|
|
|
que el anfitrión, o al menos la misma arquitectura. Esto aporta lo siguiente:
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Ventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Se puede aprovechar del hardware de la máquina sin necesidad
|
|
|
|
de virtualizarlo.
|
|
|
|
\item Permite probar otros sistemas operativos en una misma máquina
|
|
|
|
con más rendimiento.
|
|
|
|
\end{itemize}
|
|
|
|
\item Desventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Está más limitado al {\em hardware} de la máquina (en cuanto a
|
|
|
|
su arquitectura).
|
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
2021-11-16 15:51:46 +00:00
|
|
|
|
|
|
|
\section{Virtualización de Programa}
|
2021-11-17 19:20:14 +00:00
|
|
|
Para este tipo de virtualización podemos pensar en la máquina virtual de Java.
|
|
|
|
Consta de una máquina virtual que corre un solo programa. Tienen las siguientes
|
|
|
|
ventajas:
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Ventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Un mismo binario se puede correr cualquier máquina que tenga
|
|
|
|
la máquina virtual.
|
|
|
|
\item Al no tener que virtualizar todo un sistema operativo, rinde
|
|
|
|
mejor que las virtualizaciones nativas y no-nativas.
|
|
|
|
\end{itemize}
|
|
|
|
\item Desventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Es más lento que correr una aplicación nativa (en binario para
|
|
|
|
esa arquitectura).
|
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
2021-11-16 15:51:46 +00:00
|
|
|
|
|
|
|
\section{Contenedores}
|
2021-11-17 19:20:14 +00:00
|
|
|
Los contenedores son algo raro entre la virtualización de tipo 2 y la
|
|
|
|
virtualización de programa. Crea su propio sistema aislado para correr las
|
|
|
|
aplicaciones, pero se basa en el sistema anfitrión. Es algo que es muy útil para
|
|
|
|
correr servicios en servidores y crear ambientes limpios. Aporta lo siguiente:
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Ventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Crea un ambiente limpio de desarrollo y trabajo.
|
|
|
|
\item Facilita adelantar puertos para proveer servicios red.
|
|
|
|
\end{itemize}
|
|
|
|
\item Desventajas:
|
|
|
|
\begin{itemize}
|
|
|
|
\item Por lo visto no puedes usarlo para aplicaciones gráficas.
|
|
|
|
\item Está limitado a la misma arquitectura que la máquina
|
|
|
|
anfitrión.
|
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
\section{Conclusión}
|
|
|
|
La virtualización en general es útil para casos donde queremos trabajar en un
|
|
|
|
sistema aislado o probar un sistema/arquitectura distinta. Siempre habrá un
|
|
|
|
coste en cuanto a rendimiento (de más o menos dependiendo del tipo de
|
|
|
|
virtualización).
|
2021-11-16 15:51:46 +00:00
|
|
|
|
|
|
|
\pagebreak
|
|
|
|
|
|
|
|
\section{Derechos de Autor y Licencia}
|
|
|
|
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa <nicolas@ortegas.org>
|
|
|
|
\\
|
|
|
|
Este documento se distribuye bajo los términos y condiciones de la licencia
|
|
|
|
Creative Commons Attribution No Derivatives 4.0 International.
|
|
|
|
|
|
|
|
\end{document}
|