Multics
Le Multics (nformation de iplexed par I de Mult de et ervice omputing de S C ) était un en temps partagé du système d'exploitation du tôt extrêmement influent . Le projet a été lancé dans le 1964 . La dernière installation courante de Multics a été arrêtée le 31 octobre , le 2000 .
Vue d'ensemble
La planification et le développement initiaux pour Multics ont commencé dans le 1964 . À l'origine c'était un projet coopératif mené par MIT (avec Fernando Corbató ), avec le General Electric et les laboratoires de Bell de . Les laboratoires de Bell se sont laissés tomber dehors dans le 1969 , et dans l'informatique du 1970 GE, y compris Multics, ont été succédés par le Honeywell .
Multics a été conçu comme produit commercial pour GE et est devenu un pour Honeywell, mais pas très réussi. En raison de ses nombreuses idées originales et valables, Multics a eu un grand impact dans l'informatique, quoiqu'elle alors ait été beaucoup moquée par ses critiques.
Il a fait prévoir de nombreux dispositifs pour avoir comme conséquence facilement disponible, de sorte qu'il produise une utilité de calcul , semblable au téléphone et aux services de l'électricité . Pour réaliser ceci, en plus d'être modulaire en structure de logiciel, le matériel était aussi, et le système pourrait se développer dans la taille en ajoutant simplement plus de la ressource appropriée - puissance de calcul, de mémoire centrale, mémoire à disque, etc. séparent les listes de contrôle d'accès sur chaque partage d'informations flexible fourni par dossier et accomplissent l'intimité une fois nécessaires. Elle a eu un certain nombre de mécanismes standard pour permettre à des ingénieurs d'analyser l'exécution du système, aussi bien qu'un certain nombre de mécanismes adaptatifs d'optimisation d'exécution.
Idées originales
Multics a mis en application un magasin à niveau unique pour l'accès de données, jetant la distinction claire entre les dossiers (appelé le segmente dans Multics) et la mémoire de du processus . La mémoire d'un processus a consisté seulement en segments qui ont été tracés dans son espace d'adressage . Pour leur lire ou écrire, le processus a simplement employé des instructions normales de l'unité centrale de traitement , et le du système d'exploitation a pris soin de veiller que toutes les modifications ont été sauvées au disque . Dans la terminologie du POSIX , il était comme si chaque dossier était Mmap () ed de Un inconvénient de ceci était que la taille des segments a été limitée aux mots du bit 256K 36 (légèrement plus de 1 méga-octet ). C'était dû à l'architecture de matériel particulière des machines que Multics a courues dessus. Le code supplémentaire a dû être employé pour travailler aux dossiers plus grands que ceci, appelé des dossiers de multi-segment. Mais en jours avant de grandes bases de données et graphiques énormes postérieurs de la carte binaire , cette limite a été rarement produite. Une autre nouvelle idée principale de Multics était le de enchaînement dynamique, dans lequel un processus courant pourrait demander que d'autres segments soient ajoutés à son espace d'adressage, les segments qui pourraient contenir le code qu'il pourrait alors exécuter. Ceci applications permises pour employer automatiquement la dernière version de toute routine externe qu'ils ont appelée, puisque ces routines ont été maintenues dans d'autres segments, dans lesquels ont été dynamiquement liés seulement quand un processus a essayé la première fois de commencer l'exécution dans eux. Puisque les différents processus pourraient employer les différents itinéraires de recherche , les différents utilisateurs pourraient finir vers le haut using différentes versions des routines externes automatiquement. Également d'une manière primordiale, avec les arrangements appropriés sur les équipements de sécurité de Multics, le code dans l'autre segment a pu alors accéder aux structures de données maintenues dans un processus différent. Ainsi, pour agir l'un sur l'autre avec une application fonctionnant en partie en tant que démon (dans un autre processus), le processus d'un utilisateur a simplement effectué une instruction normale d'appel de procédure, à un segment de code qu'elle avait dynamiquement lié (un segment de code qui a mis en application une certaine opération liée au démon). Le code dans ce segment a pu alors modifier des données maintenues et utilisées dans le démon. Quand l'action nécessaire pour débuter la demande a été accomplie, une instruction de retour simple de procédé a renvoyé la commande du processus de l'utilisateur au code de l'utilisateur. Ces deux idées ne sont toujours pas disponibles dans leur de toute puissance dans d'autres logiciels d'exploitation employés couramment, en dépit de l'avance rapide et énorme dans l'informatique depuis les années 60 . Elles deviennent plus largement admises et disponibles sous des formes plus limitées, par exemple enchaînement dynamique. Multics a également soutenu la reconfiguration en ligne extrêmement agressive ; Des banques de mémoire des unités centrales de traitement , les unités de disques, etc. pourraient être ajoutés et enlevés tandis que le système continuait de fonctionner. Au système de MIT, où la plupart de développement précoce de logiciel a été fait, il était pratique commune de couper le système de multiprocesseur en deux systèmes séparés pendant des au loin-heures en enlevant incrémentalement assez de composants pour former un deuxième système de fonctionnement, partant du repos tirant toujours l'original noter-dans des utilisateurs. L'essai de développement de logiciel système pourrait être fait sur la deuxième machine, puis les composants du deuxième système ont été ajoutés en arrière sur le circuit principal d'utilisateur, sans jamais l'avoir fermé. Puisque des unités centrales de traitement multiples ont été soutenues, il était l'un des systèmes de multiprocesseur les plus tôt. Multics était le premier commandant du système d'exploitation être conçu comme système bloqué de la terre vers le haut. En dépit de ceci, des versions tôt de Multics ont été divisées en à plusieurs reprises. Ceci a mené pour fonctionner plus loin que fait le système des techniques modernes beaucoup plus bloquées et plus préfigurées de la technologie de sécurité de . Les cambriolages sont devenus très rares une fois que la base de seconde génération de matériel était adoptée ; elle a eu le soutien de matériel de la sécurité anneau-orientée par , une amélioration à multiniveaux du concept du mode de maître de . Multics était le premier du système d'exploitation pour fournir un système de fichiers hiérarchique, et les noms de fichier pourraient être de longueur et de syntaxe presque arbitraires ; un dossier ou un annuaire donné pourrait avoir des noms multiples (typiquement une longue et courte forme) ; et des liens symboliques entre les annuaires ont été également soutenus. C'était la première pour employer le concept maintenant-standard de par les piles du processus au grain , avec une pile séparée pour chaque anneau de sécurité. Elle était également une de d'abord écrit dans un langage de haut niveau évolué, le PL/I . Le système de Burroughs B5000 (1961), qui a précédé Multics, a employé algol . Multics a été développé au commencement pour l'unité centrale du GE-645 , un système du bit du 36 ; plus tard, il a été soutenu sur le Honeywell 6180 machines de série de . Les laboratoires de Bell ont retiré du projet dans le 1969 ; certaines des personnes qui avaient travaillé à lui là ont continué pour créer le système d'Unix . L'influence superficielle de Multics sur Unix est évidente dans beaucoup de secteurs, y compris la nomination des commandes. Mais la philosophie de conception était très différente, se concentrant sur maintenir le système petit et simple, et éliminer ainsi les insuffisances perçues de Multics. Le " nommé ; Unix" ; (à l'origine " ; Unics" ;) est soi-même une entaille sur le " ; Multics" ;. U à UNIX est répandu pour se tenir pour le " ; Uniplexed" ; par opposition au " ; Multiplexed" ; de Multics, autre soulignant les rejets des concepteurs de la complexité de Multics en faveur d'une approche plus franche et plus réalisable. Honeywell acheté division de l'ordinateur de GE, libéré une meilleure base de matériel, et développement de système continu jusqu'au 1985 . Environ 80 emplacements portant sur plusieurs millions de dollars ont été installés, aux universités, à l'industrie, et aux emplacements de gouvernement. Le système d'université français du a eu tout à fait uns dans les années 80 tôt . Après que Honeywell ait cessé de soutenir Multics, les utilisateurs ont émigré à d'autres systèmes comprenant Unix. La machine de Multics de bout a été arrêtée le 31 octobre , le 2000 au département canadien de la défense nationale. Multics a été distribué en 1975 à 2000 par le Groupe Taureau dans le l'Europe , et par Bull HN Information Systems Inc aux USA. En le 2006 de Taureau SAS ouvrir les versions originaires de Multics MR10. Le système entier, y compris le compilateur du système d'exploitation et complexe de PL/I, des ordres d'utilisateur, et des bibliothèques de sous-routine, s'est composé des modules environ 1500 de source. Ceux-ci ont fait la moyenne d'approximativement 200 lignes de code source chacune, et compilé pour produire un total de mb d'approximativement 4.5 de code de procédé, qui bien que petit aujourd'hui était assez grand par les normes du jour. Les compilateurs de Multics ont généralement optimisé plus pour la densité de code que l'exécution d'unité centrale de traitement, par exemple using de petites sous-routines appelées les opérateurs de pour des code-ordres standard courts, rendant la comparaison directe de la taille de code d'objet avec des systèmes plus modernes moins utile. La densité élevée de code était un bon choix d'optimisation pour un système à utilisateurs multiples avec de mémoire centrale cher, tel que Multics. ; cependant, dans Multics il n'y avait aucun concept de la mémoire de processus de , séparé de la mémoire employée pour juger tracé dans les dossiers, comme Unix a. Le toute la mémoire de dans le système faisait partie de le segment d'un certain , qui est apparu dans le système de fichiers ; ceci a inclus la mémoire provisoire d'éraflure du processus, de sa pile de grain, etc. Histoire de projet
Observations rétrospectives
Il effraye que le grain de résident de cette utilité de calcul de multiprocesseur de puissant d'unité centrale, beaucoup moqué en son jour en tant qu'étant trop grand et complexe, était le kB de seulement 135 du code. Le premier MIT GE-645 de a eu les mots 512K de la mémoire (mb de 2 ), ainsi le grain a seulement employé une partie modérée de Multics de mémoire centrale. Voir également
Fernando J. Corbató , chef du projet tandis que le MIT était impliqué
Jerome H. Saltzer
Jack B. Dennis
Peter J. Denning
Robert M. Graham
Victor A. Vyssotsky
Louis Pouzin , présenté la coquille limite pour le langage de commande d'ordres de gestion utilisé dans le Multics
Peter G. Neumann
Roger R. Schell Davantage de lecture
La littérature contient un grand nombre de papiers au sujet de Multics, et divers composants de elle ; une liste assez complète est disponible ici. Le plus important et/ou le plus instructif est énuméré ci-dessous. Vyssotsky, '' introduction et vue d'ensemble du système de Multics '' (AFIPS 1965 de ) est une bonne introduction au système. Saltzer, '' Multics -- Les sept premières années '' (AFIPS, 1972) est une excellente revue, après une période considérable d'amélioration d'utiliser-et. Davantage de lecture - détails techniques
Jerome H. Saltzer, introduction de à Multics (projet MAC, 1974 de MIT) est une introduction considérablement plus longue au système, adapté vers les utilisateurs réels. Organick, le système de Multics : Un examen de sa structure (presse de MIT, 1972) est le travail standard sur le système, bien qu'il documente une version tôt, et quelques dispositifs décrits là-dedans n'est jamais apparu dans le système réel. Graham, structure de du surveillant (AFIPS 1965) de Multics décrit la structure interne de base du grain de Multics. Saltzer, contrôle de trafic de dans un système informatique multiplexé (MAC de projet de MIT, juin 1966) est la description originale de l'idée de commuter des piles de grain ; un des papiers classiques de l'informatique. Neumann, un système de fichiers d'usage universel pour le stockage secondaire (AFIPS, 1965) décrit le système de fichiers, y compris les mécanismes de contrôle d'accès et de support. Organick, le système d'entrée-sortie de Multics . Décrit les niveaux plus bas de l'exécution d'entrée-sortie. Daley, la mémoire virtuelle virtuelleee de Multics : Les concepts et la conception , ( SOSP , 1969 de ACM ) décrit le système mémoire de Multics de manière assez détaillée.
Paul verdissent, mémoire virtuelle virtuelleee de Multics de - le cours d'instruction et les réflexions est un bon regard détaillé au système de stockage de Multics. Schell, reconfiguration dynamique de dans un système informatique modulaire (projet MAC, 1971 de MIT) décrit les mécanismes de reconfiguration. Davantage de lecture - sécurité
Paul A. Schell, évaluation de sécurité de Multics de : L'analyse (Division de systèmes électronique de l'Armée de l'Air, 1974) de vulnérabilité décrit les attaques classiques sur la sécurité de Multics par un " ; " de l'équipe corsaire ;. Schroeder, la protection d'information dans les systèmes informatiques (démarches du IEEE , septembre 1975) décrit les principes fondamentaux derrière le premier rond des mises à niveau de sécurité ; un autre papier classique. Le rapport final de du projet de conception de grain de Multics (MIT LCS, 1978) décrit les mises à niveau de sécurité supplémentaires pour produire bien plus de version améliorée. Schell, trente ans après : Les leçons de l'évaluation de sécurité de Multics (IBM, 2002) est une rétrospective intéressante qui compare la sécurité déployée réelle dans l'environnement hostile d'aujourd'hui à ce qui a été démontré pour être il y a des décennies possibles. Elle conclut que Multics a offert une sécurité considérablement plus forte que la plupart des systèmes disponibles dans le commerce en 2002.
Random links: Le grand feu de Seattle | Dépense indépendante | David Sholtz | Toto (chien) | Sucrerie Barr | Multics