Multicos


Multics (" Servicio de computación e información multiplexada ") es uno de los primeros sistemas operativos influyentes de tiempo compartido basado en el concepto de una memoria de un solo nivel . [4] [5] Se ha dicho que Multics "ha influido en todos los sistemas operativos modernos desde las microcomputadoras hasta los mainframes". [6]

La planificación y el desarrollo iniciales de Multics comenzaron en 1964, en Cambridge, Massachusetts . Originalmente fue un proyecto cooperativo liderado por el MIT ( Proyecto MAC con Fernando Corbató ) junto con General Electric y Bell Labs . Fue desarrollado en la computadora GE 645 , que fue especialmente diseñada para ello; el primero fue entregado al MIT en enero de 1967.

Multics se concibió como un producto comercial para General Electric y se convirtió en uno para Honeywell , aunque no con mucho éxito. Debido a sus muchas ideas novedosas y valiosas, Multics ha tenido una influencia significativa en la informática a pesar de sus fallas. [7]

Multics tiene numerosas funciones destinadas a garantizar una alta disponibilidad para que admita una utilidad informática similar a las de telefonía y electricidad . La estructura de hardware modular y la arquitectura de software se utilizan para lograr esto. El sistema puede crecer en tamaño simplemente agregando más del recurso apropiado, ya sea potencia informática, memoria principal o almacenamiento en disco. Las listas de control de acceso separadas en cada archivo brindan un intercambio de información flexible, pero privacidad total cuando es necesario. Multics tiene una serie de mecanismos estándar que permiten a los ingenieros analizar el rendimiento del sistema, así como una serie de mecanismos de optimización del rendimiento adaptativo.

Multics implementa un almacén de un solo nivel para el acceso a los datos, descartando la clara distinción entre archivos (llamados segmentos en Multics) y memoria de proceso . La memoria de un proceso consta únicamente de segmentos que se mapearon en su espacio de direcciones . Para leerlos o escribirlos, el proceso simplemente usa las instrucciones normales de la unidad central de procesamiento (CPU), y el sistema operativo se encarga de asegurarse de que todas las modificaciones se guardaron en el disco . En la terminología POSIX , es como si todos los archivos fueran mmap()editados; sin embargo, en Multics no existe el concepto de memoria de proceso, separada de la memoria utilizada para almacenar archivos mapeados, como lo ha hecho Unix . Toda la memoria del sistema forma parte de algún segmento, que aparece en el sistema de archivos ; esto incluye la memoria temporal temporal del proceso, su pila de kernel, etc.

Una desventaja de esto era que el tamaño de los segmentos estaba limitado a 256 kilopalabras , poco más de 1  MB . Esto se debió a la arquitectura de hardware particular de las máquinas en las que se ejecutaba Multics, que tenían un tamaño de palabra de 36 bits y registros de índice (utilizados para direccionar dentro de segmentos) de la mitad de ese tamaño (18 bits). Se tuvo que usar código extra para trabajar en archivos más grandes que este, llamados archivos multisegmento. En los días en que un megabyte de memoria era prohibitivamente costoso, y antes de las grandes bases de datos y más tarde de los enormes gráficos de mapas de bits, este límite rara vez se encontraba.


Manual de referencia de Comandos Multics