# MUSIC/SP

MUSIC/SP (Multi-User System for Interactive Computing / System Product; Originalmente llamado "McGill University System for Interactive Computing") Fue desarrollado en la Universidad McGill en la década de 1970 poco después del "IBM time-sharing system(sistema de tiempo compartirdo)" llamado RAX (Sistema de Computación por Acceso Remoto). El sistema operativo funciona en los equipos IBM S/360, S/370, y 4300-series mainframe, y ofrecía nuevas características (por el momento) como el control de acceso a archivos y la compresión de datos. Fue desarrollado para permitir a los académicos y estudiantes crear y ejecutar sus programas interactivamente en una Terminal, en un área en el que toda la computación mainframe se estaba haciendo utilizando tarjetas perforadas. Con los años, el desarrollo continuó y el sistema evolucionó para abarcar el correo electrónico, internet y eventualmente la WWW. En su punto máximo a finales de 1980, había más de 250 universidades, colegios y distritos escolares que utilizan el sistema en el Norte y Sur América, Europa y Asia.

## Historia

1966 - Lanzamiento del IBM RAX (Remote Access Computing System - Sistema de Computación por Acceso Remoto).
1972 - Se aceptan las modificaciones del RAX por parte de McGill por parte de IBM para la distribución como "Programa instalado para el usuario" bajo el nombre de "McGill University System for Interactive Computing" (MUSIC).
1978 - MUSIC 4.0 Un cambio grande permite al sistema de archivos manejar nombres de archivo más largos y un control de acceso avanzado.
1981 - MUSIC 5.0 Soportado por IBM 4300 series CPUs y discos FBA.
1985 - MUSIC/SP 1.0 Adoptado por IBM como "Producto del sistema". Soporte para Memoria Virtual.
1991 - MUSIC/SP 2.3 Soporte para Internet y sistema de ficheros con estructura en árbol.

## Características
### Sistema de Archivos

El sistema de archivos del MUSIC/SP fue único en varios aspectos. Hubo un único sistema de archivo de índice de ancho. La ID de usuario del propietario y el nombre del archivo se mezclaron para localizar el archivo en este índice, por lo que cualquier archivo en el sistema podría ser ubicado con una única E / S de una única operación. Sin embargo, este presentó un "plano" del sistema de archivos para el usuario. Carecía de la estructura de directorios comúnmente ofrecidos por el DOS, Windows y Unix. En 1990, se superpuso una "estructura de árbol" para ver el directorio del sistema de archivos, proporcionando un sistema más acorde con los sistemas de archivos que estaban disponibles entonces. Por defecto, la información almacenada en los archivos se comprimen. Esto ofrecía un considerable ahorro en el espacio de disco. El sistema de archivos poseía un sofisticado sistema de control de acceso que permite al propietario controlar quién puede leer, escribir, añadir y ejecutar el archivo. También tuvo el concepto de un archivo de "público" que era visible para todos los usuarios y un archivo "privado" que sólo fuese visible para el propietario.

### Memoria Virtual

Las versiones iniciales del sistema no proporcionaron el apoyo para la memoria virtual y traducción de direcciones. Sólo un usuario activo podría utilizar la memoria del procesador a la vez. La lectura/escritura en disco se utilizó para compartir el tiempo entre los diferentes usuarios. El uso de la memoria virtul se introdujo en 1985. Esto permitía a múltiples usuarios utilizar la memoria del procesador al mismo tiempo, eliminando muchas de las restriciciones en el tamaño de los programas que se podrían ejecutar y proporcionó una gran mejora del rendimiento. El rendimiento del sistema mejoró también la precarga de módulos de uso común en la memoria virtual en tiempo de inicio en el que podría estar disponible para todos los usuarios de forma simultánea.

### Lenguajes de Programación

El sistema diseñado para apoyar a la informática académica y la enseñanza de las ciencias de la computación para un variado conjunto de lenguajes de programación estaba disponible. El núcleo del sistema (kernel) fue escrito en lenguaje ensamblador del IBM/370 pero la mayoría de las aplicaciones nativas fueron escritos en Fortran. El sistema soporta la WATFIV Waterloo y compiladores WATBOL y también proporcionó compiladores de Pascal, C, PL / 1, BASIC, APL, ALGOL, RPG, y GPSS. Al sistema le faltaba un lenguaje de comandos por lotes hasta que REXX lo importó de la CMS en 1984. Más tarde, en 1986, una interfaz de usuario completa fue escrita enteramente en REXX.

### Correo electrónico e Internet

El correo electrónico es una de las principales aplicaciones en MUSIC/SP. La interfaz de correo electrónico inicialmente permitía acceder al correo electrónico localmente. Como las redes desarrolladas, este fue ampliado para facilitar el acceso a BITNET y correo electrónico basado en Internet. MUSIC/SP no tendrá acceso directo a Internet hasta 1990, cuando el código TCP/IP de la Universidad de Wisconsin Wiscnet fue portado al sistema, permitiendo que el sistema proporcione acceso a todos los servicios de Internet.

### Compatibilidad con otros sistemas de IBM

Una característica importante del sistema es su capacidad para ejecutar programas que fueron diseñados para funcionar en el sistema operativo principal del mainframe de IBM (MVS). Esto se llevó a cabo usando un emulador de MVS que interceptaba las llamadas al sistema en el nivel SVC (Supervisor de llamadas). La mayoría de las aplicaciones de terceros se ejecutaban de esta forma. En lugar de escribir su propia versión de una aplicación, los desarrolladores de MUSIC/SP parten de la versión MVS y la recompilan para que se ejecute en modo de emulación de MVS. Desde que la emulación MVS fue un subconjunto muy limitidado de una cosa real, las aplicaciones generadas se ejecutaban mucho más eficientemente en MUSIC/SP.

### Otras Características

Una gran ventaja que el sistema tenía en el entorno educativo es que a través de la utilización de líneas especiales llamadas "tarjetas de control" en la parte superior de un archivo, archivos de código fuente de cualquier lenguaje soportado podía ser dirigido automáticamente hacia el compilador adecuado (Fortran es el predeterminado), compilado, vinculados, y ejecutado, (con la compilación, enlace, y las opciones de ejecución también se especifica en las tarjetas de control), simplemente introduciendo el nombre de archivo en una línea de comandos.
Una amplia variedad de terminales se soportan a partir de 1980, incluyendo tanto las unidades basadas en EBCDIC usando los protocolos de IBM, y unidades de ASCII asíncrona. Desde que se conectaron los terminales a través de diversos tipos de procesos de comunicación (según la práctica común de IBM de tiempo compartido tanto entonces como ahora), y por lo tanto podría funcionar sin la atención de la CPU para una cantidad considerable de tiempo, MUSIC/SP utilizada longitudes variables de partes de tiempo, que podría usar, en la envoltura del procesamiento computacional, para conseguir el máximo número de segundos por cada porción de tiempo.

## Emulación

El emulador Sim390 que funciona en Microsoft Windows contiene un sistema de demostración de MUSIC/SP. Es de libre acceso. El sistema de demostración también funciona bajo Hércules, para aquellos usuarios que no ejecutan Windows.