[*MiIT}– Computación Personal, herramienta indispensable. 10: ‘Virtualidad’

Carlos M. Padrón

En 1971 salió al mercado la primera versión de la IBM/370.

cuyas capacidades y rendimiento fueron mejorando en tres sucesivas etapas, y así, de contar con memoria a base de chips de 0.8 centímetros de lado (los chips eran cuadrados) y 5 bits por chip, como la IBM/360, pasó a chips de igual tamaño pero con capacidad para 256 bits cada uno, y luego a chips de 3 milímetros de lado y con capacidad para 1.434 bits cada uno. Este drástico aumento en capacidad de memoria y velocidad de procesamiento permitió el anuncio, que nos llegó en 1974 y en base a una nueva versión de la IBM/370, de lo que llamo “virtualidad”, o sea, de la memoria virtual y la máquina virtual, lo cual trajo consigo la realidad en la operación y accesibilidad del concepto de tiempo compartido (time sharing).

El concepto de memoria virtual permitió, a efectos prácticos, que el usuario tuviera a su disposición más memoria principal (memoria del CPU) de la que la máquina realmente tenía. Es un recurso basado en la alta velocidad de acceso y procesamiento que permitieron usar como si fuera memoria principal la que en realidad estaba en los discos (memoria auxiliar) conectados a la IBM/370. En éstos, y en formatos llamados páginas, se guardaba parte importante de lo que, según se entendía hasta entonces, debía residir en la memoria principal, y cuando esas páginas se necesitaban eran copiadas casi instantáneamente en la memoria principal sobre otras que ya no se necesitaban. Todo esto requirió de un nuevo método de acceso y de manejo de archivos que proporcionara la velocidad y seguridad necesarias. Ese método recibió el nombre de VSAM (Virtual Storage Access Method) que se constituyó como de uso obligatorio para el logro de la “virtualidad”.

Una de las expresiones prácticas de la “virtualidad” —la fragmentación virtual de la máquina— hizo posible compartirla entre varios usuarios de forma que cada uno tuviera la impresión de que disponía, para sí solo, de una máquina completa, pues tenía memoria principal (mayormente virtual, por supuesto), tenía espacio en discos, tenía espacio en cintas, tenia almacenados, en área reservada sólo para él, sus programas y aplicaciones, etc. Todo gracias a la gran capacidad de memoria, tanto principal como auxiliar, como a la gran velocidad de procesamiento.

Como ejemplo podemos tomar la técnica que se ha aplicado a las líneas telefónicas y que es lo que permitió que algunas compañías de comunicación ofrecieran llamadas a muy bajo precio. ¿Cómo? Mediante tecnología, tomaban una línea telefónica con ancho de banda normal y la subdividían en varios canales. Por cada uno de ellos gestionaban una conversación diferente, y rotaban a gran velocidad la conexión de cada una de tales conversaciones. Así, si en el canal 1 está la conversación A, en el 2 está la B, etc., dan curso a la A por fracciones de segundo, luego dan curso a la B por igual tiempo, luego a la C, etc. Por supuesto, mientras está en curso la conversación B, las personas de la conversación A no se escuchan entre ellas porque su conexión queda interrumpida y su conversación cortada, pero como las interrupciones son cortas en términos de “tiempo humano”, el cerebro de los que conversan puede reconstruir las pequeñas faltas ocurridas durante esas interrupciones, de sólo fracciones de segundo, de su conversación. A veces se extremó el procedimiento y ello dio lugar a que se escucharan otras conversaciones, y a que hubiera interferencias o interrupciones demasiado largas que hacían perder sílabas y hasta palabras. Pero ésta es la base que en computación tiene el concepto del tiempo compartido.

Por supuesto que tanto la memoria virtual como la cantidad de máquinas virtuales y la cantidad de usuarios que pueden disfrutar “simultáneamente” de tiempo compartido, es limitada, pues todo eso está en función de los recursos reales de la máquina; a más recursos reales (memoria principal, memoria auxiliar, velocidad de procesamiento, etc.) mayor la cantidad de usuarios que pueden disfrutar de la “virtualidad”, y mejor (más corto) el tiempo de respuesta que tiene para con cada uno la computadora que todos están usando.

Es obvio que un mecanismo tan sofisticado como éste requería de un sistema operativo adecuado y capaz para administrarlo eficientemente y que se entendiera con el VSAM. Y en 1974, a poco de anunciarse la primera versión de la IBM/370, se anunció —junto con la técnica de “virtualidad”, y especialmente diseñado para manejarla y administrarla— el sistema operativo MVS (Multiple Virtual Storage) que fue mejorando en el tiempo y que, aunque ha tenido sucesores como el OS/390, se usa aún en mainframes.

Como habrán notado, a pesar de todo esto la computadora sigue haciendo lo mismo: recibiendo órdenes que cumple a cada vez mayor velocidad. Sigue siendo tonta, sigue sin crear nada realmente nuevo, sin hacer nada que el hombre no le haya dicho cómo hacerlo.