Grado de dificultad: 1 (hablamos de funcionalidades elaboradas que todos deberían conocer por la popularización de las máquinas virtuales)
Columnista: Roberto
La noticia
Una info para todos (dummies incluidos)
Nuestra categoría “Dummies” no es solo para aprender cosas básicas. A veces sirve también para aclarar cosas muy elaboradas, de manera sencilla.
La nueva funcionalidad “Sandbox”, que Microsoft acaba de anunciar para Windows 10 viene al buen momento para ayudarnos a explicar nociones de las cuales hemos hablado recientemente. Ahora, hablaremos de desarrollo, de seguridad y de máquinas virtuales.
Empezamos por la noticia. El 18 de diciembre de 2018, Microsoft publicó en su blog “Windows Kernel Internals”, un articulo anunciando la aparición de la funcionalidad “Sandbox” en su sistema operativo en el transcurso del año 2019.
El artículo es el siguiente:
https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849
Limitaciones
No necesitan entender todo el artículo, lo hemos vinculado para que lo tengan disponible. Tampoco “tienen que” activar la funcionalidad, porque, aunque lo pongan a disposición, no es una maniobra sencilla.
Además, no estará disponible para todas las versiones de Windows 10, solo Windows 10 Pro y Windows 10 Enterprise, las “completas” y costosas (una licencia de Windows 10 Pro cuesta 800000 pesos colombianos).
Lo anterior confirma que esta funcionalidad es de uso prudente, vamos a ver porque.
Una última cosa: está solo disponible para los que activan la opción “Insider” a partir del menú de Configuración de Windows, categoría “Actualización y Seguridad”.

En otros términos, está reservada a los desarrolladores software (no activan la opción “Insider” si no pertenecen a esta categoría muy exclusiva).
No se sabe cuándo la nueva funcionalidad estará disponible para gente “más normal”.
De qué trata la funcionalidad “Sandbox
Descripción sencilla
El papel del procesador
Hagamos una descripción sencilla (o intentémoslo).
En un artículo anterior, “PCs: las máquinas pequeñas”, hemos introducido el principio de máquina virtual.
Nota: No se asusten, lo mantendremos a un nivel muy básico.
El usuario normal está acostumbrado a ver un PC como una máquina física sobre la cual está montado un sistema operativo que le permite funcionar.
Resulta que nuestros PCs, descendientes de un ancestro nacido en 1981, son ahora máquinas mucho más potentes. En particular, uno escucha que los “procesadores” que los animan son “multiprocesadores”.
Nos hablan de 2, 4, 8 o hasta más “núcleos”, los cuales manejan 2 “threads” (o hilos) de comandos, que doblan la capacidad de procesamiento.
Un “núcleo” es un calculador, el corazón (“núcleo”) del procesamiento. Varios núcleos permiten distribuir la tarea de cálculo, atribuyendo a cada núcleo su secuencia de operaciones que puede ejecutar “en paralelo”.
El hyperthreading: un refinamiento
La noción de “hilo” (“thread”) es un refinamiento del caso anterior.
Los fabricantes se dieron cuenta de que el cuello de botella no era la velocidad de procesamiento, sino la capacidad de organizar las “secuencias de operaciones”: unas operaciones son más rápidas que otras, así que varias operaciones sencillas se pueden ejecutar de manera simultánea.
Si, en lugar de tener una sola “cola de espera”, tengo dos, multiplico la habilidad del núcleo a ejecutar operaciones sencillas si están presentadas al mismo tiempo.
Tendrán razón si preguntan qué pasa si una operación más compleja se presenta. La respuesta es que la doble cola de espera no le sirve más, a menos que tengan más de un procesador.
En claro, el hyperthreading aumenta la capacidad de procesamiento de un núcleo, pero no lo “dobla”.
Los multiprocesadores y la cantidad de bits
La multiplicación de los núcleos y de los hilos es la combinación que permite aumentar la eficiencia del procesamiento simultáneo.
El tamaño de las instrucciones es otro factor de aceleración: los procesadores recientes manejan todos instrucciones “de hasta 64 bits”, mientras que generaciones anteriores solo alcanzaban instrucciones de 32 bits.
Hay un “pero” importante: que el sistema operativo, el firmware y las aplicaciones estén capaces de distribuir las instrucciones entre los procesadores (por eso entre más procesadores, más fácil), y que los programas sean diseñados sobre 64 bits.
Sobre este último punto, los más curiosos habrán notado que Windows distribuye las aplicaciones en dos carpetas: una se llama “Program files”, la otra “Program files (x86)” (en la versión en inglés)

La carpeta “Program files” contiene las aplicaciones en 64 bits, mientras que la carpeta “Program files (x86)” contiene las aplicaciones 32 bits, que son muchas todavía, por razones históricas.
Nota: no se decepcionen demasiado, un programa en 64 bits no es 2 veces más rápido que uno en 32 bits…
El hyperthreading es una forma básica de virtualización
Este titulo es un tanto abusivo, pero sirve de presentación para dummies: el hecho de presentar dos colas de espera a un mismo núcleo es dividirlo en dos procesadores virtuales.
Una máquina virtual es una versión un poco más sofisticada (ni tanto) de este principio: si tengo muchos procesadores (lo cual es netamente preferible para el caso), puedo asignar cada núcleo (o más atrevido, cada thread) a una “máquina virtual”.
Por supuesto, tendré que hacer lo mismo con la memoria RAM, y atribuir a cada “máquina virtual” un pedazo del espacio de almacenamiento.
La realidad es solo ligeramente más complicada que eso: hay “aplicaciones” de nivel administración de sistemas, capaces de engañar la máquina física para que se puedan hospedar más máquinas virtuales (en particular jugando sobre la velocidad del procesador físico).
Llegamos a la noción de “Sandbox
Una forma particular de máquina virtual
Hacer una “Sandbox”, es aislar una zona del computador para ejecutar una operación. Es el equivalente de lo que muestra la foto de presentación del artículo: el usuario del PC puede “jugar” en un entorno aislado, con la diferencia de que es contenido de la Sandbox que puede ser “sucio”.
Es técnicamente una máquina virtual, cuyo propósito es para protección.
El principio de sandbox es muy útil a los desarrolladores que están trabajando sobre una aplicación: durante este proceso, la obra inconclusa puede siempre afectar la estabilidad de la máquina física.
Si el contenido de la máquina virtual en cuestión se bloquea por culpa de esta aplicación, el desarrollador puede simplemente “apagar” esta máquina, borrando al mismo tiempo los daños que sufrió.
El caso de Microsoft Sandbox
Este es el otro caso de uso de una Sandbox: cuando no se tiene confianza en una aplicación recibida (por descarga o por llave USB). Los daños potenciales por virus estarán limitados a la máquina virtual, y desaparecen al apagarla.
Es una táctica de administrador de sistemas para verificar la salubridad de nuevas aplicaciones antes de desplegarlas.
La Sandbox de Microsoft es una instalación separada de Windows, y solo dura el tiempo de ejecución de la aplicación a probar.
Limitaciones
En teoría, es una herramienta chévere. Sin embargo, hay que tomar este nuevo jueguito con mucha calma
- El hecho de activar una sandbox en una máquina física baja la eficiencia de esta. Es un elemento que puede tener efectos muy perversos sobre otros procesos “no protegidos” (es otro Windows).
- Definir una “aplicación peligrosa” es mucho más claro para un administrador sistema que para un usuario de perfil convencional. Siendo una acción voluntaria, lo más probable es que el usuario se cansara de los inconvenientes.
- Es más que preferible que la máquina sobre la cual se active una sandbox sea muy potente.
¿A quién sirve una Sandbox?
A nosotros en TMN, nos sirvió para este articulo de aclaración sobre unos principios de máquinas virtuales, y sirvió a nuestros lectores dummies…
Sí, el anuncio de Microsoft es muy interesante y útil… esencialmente para los administradores y los desarrolladores.
Para los demás, es mucho menos evidente: en general, es mucho mejor almacenar sus datos personales en discos duros distintos del principal, y eventualmente en la nube.
Tener la disciplina de solo instalar las aplicaciones que uno usa (incluyendo los juegos) es más efectivo de manera organizacional.
Escanear manual y sistemáticamente los programas antes de instalarlos es otra costumbre a adquirir.
En resumen, es una mejora que no nos afecta mucho en las tareas del día a día: no tenemos los reflejos de los administradores y no tenemos por qué tenerlos.
I value the details on your website. Cheers.