Multics

Multics (Multiplexed Information and Computing Service) va ser un dels primers sistemes operatius de temps compartit i va tindre una gran influència en el desenroll dels posteriors sistemes operatius.
Descripció
[editar | editar còdic]Els plans inicials i el desenroll de Multics varen començar en 1964. Originalment, era un proyecte cooperatiu liderat pel científic nortamericà Fernando J. Corbató del MIT, en la participació de la corporació General Electric i els laboratoris Bell. Els laboratoris Bell varen abandonar el proyecte en l'any 1969 i, en 1970, el negoci de computació de General Electric, incloent Multics, va ser adquirit per Honeywell.
Multics va ser concebut com un producte comercial per General Electric, i va alcançar este guany per a Honeywell, pero no va tindre un gran èxit. No obstant, va tindre un gran impacte en el camp de la computació gràcies a les seues moltes idees noves i valioses. Encara que en la seua época va rebre moltes crítiques multicians. org/myths. html, l'història ha demostrat que eren infundades.
Un gran número de característiques intentaven proporcionar alta disponibilitat, de manera que el servici de computació igualara als servicis de telefonia i a la ret elèctrica. Per a alcançar este guany, es va utilisar una estructura modular tant en el software com en l'hardware, i el sistema podia créixer simplement afegint més recursos - poder de computació, memòria principal, almagasenament de disc, etc. Llestes de control d'accés sobre cada archiu proporcionaven un método flexible per a compartir informació, ademés de la privacitat requerida. Contenia diferents mecanismes estàndar per a permetre als ingeniers analisar el rendiment del sistema, ademés de varis mecanismes per a l'optimisació del rendiment.
Aportes de MULTICS
[editar | editar còdic]Multics va ser un dels primers sistemes operatius en el qual va ser implementat un únic nivell d'almagasenament per a l'accés a les senyes, rebujant la clara distinció entre els archius (cridats segments en Multics) i els processos en memòria.
Fins a llavors, la memòria d'un procés consistia solament en segments que estaven assignats en el seu espai de direccions; per a llegir o escriure en ells, el procés simplement utilisava instruccions normals de la CPU, i el sistema operatiu anava en conte d'assegurar-se que totes les modificacions anaren guardades en disc.
En la terminologia de l'estàndart POSIX, era com si cada archiu anara assignat; no obstant, en Multics no existia el concepte de memòria de procés, separat del de la memòria utilisada per a mantindre mapeados sobre els archius, com fa Unix. Tota la memòria del sistema formava part de algun segment, que apareixia en el sistema d'archius; inclosa la memòria temporal del procés, la pila del núcleu, etc. Esta era una desventaja pràctica, donades les particularitats de l'arquitectura del hardware de les màquines en les que s'eixecutava, i no del concepte bàsic, era que el tamany dels segments estava llimitat a 256K paraules de 36 bits, aproximadament igual a 1 MB actual, i per lo tant es devia utilisar còdic extra per a treballar en archius majors que açò, cridats archius multisegmento. En els dies anteriors a les bases de senyes grans, i els posteriors gràfics de mapes de bits de gran tamany, no era freqüent trobar-se en esta llimitació.
Un atre aporte de Multics, va anar el concepte d'enllaç dinàmic, per mig del qual un procés en eixecució pot solicitar que atres segments s'afigguen al seu espai de direccions. Estos segments poden incloure còdic que pot ser eixecutat. En esta característica disponible, les aplicacions automàticament utilisaven l'última versió de qualsevol rutina externa que cridaven, estes rutines estaven en atres segments, que s'enllaçaven dinàmicament solament quan un procés intentava eixecutar-les. Com a diferents processos, pertanyents a diferents usuaris, podien utilisar diferents regles de busca, diferents usuaris podien automàticament acabar utilisant diferents versions de les rutines externes.
Igualment important, en la configuració adequada de les característiques de seguritat de Multics, va anar que el còdic en l'atre segment podia guanyar accés a les estructures de senyes mantingudes en un procés diferent.
D'esta manera, per a interactuar en una aplicació eixecutant-se en part com un dimoni (en un atre procés) un procés d'usuari simplement realisa una cridada normal a un procediment, cap a un segment de còdic en el que es va enllaçar dinàmicament (un segment de còdic que implementa alguna operació associada en este dimoni). El còdic en este segment pot llavors modificar les senyes mantingudes i utilisats pel dimoni. Quan l'acció necessària per a començar la solicitut es completa, una simple instrucció de tornada del procés retorna el control del procés d'usuari al còdic de l'usuari.
Estes dos idees, s'utilisen encara en la majoria dels sistemes operatius, independentment del ràpit i enorme alvanç realisat en el camp de la computació des de la década de 1960.
Multics també soportava una reconfiguración en llínea molt agressiva; les CPUs, els bancs de memòria, unitats de disc, etc. podien ser afegides i llevades mentres el sistema continuava funcionant; entrant en servici, o eliminant-se quan fora necessari. Era una pràctica comuna en el sistema del MIT, a on es va realisar la majoria dels desenrolls de software inicials, dividir el sistema; que era un sistema multiprocessador; en dos sistemes separats, al eliminiar suficient components per a formar un segon sistema, deixant el restant encara eixecutant l'els usuaris que tenien una sessió oberta. Les comprovacions sobre el software desenrollat podien realisar-se en la segona màquina; quan les proves concloïen, els components del segon sistema s'afegien de nou en el sistema principal, sense tindre que apagar-ho en cap moment. Com se soportaven vàries CPUs, va ser un dels primers sistemes multiprocessador.
Multics també va ser notable pel seu innovador émfasis en el seu disseny per a obtindre seguritat informàtica, i va anar possiblement el primer sistema operatiu dissenyat com un sistema segur des del seu inici. Independentment d'açò, les primeres versions de Multics es varen mostrar vulnerables, no una volta, sino de forma repetida.
Açò va conduir a més treball per a millorar la seguritat que va traçar les tècniques de seguritat modernes, i va fer els sistemes molt més segurs; en adoptar-se l'hardware de segona generació, en soport hardware per als anells de seguritat (un refinament multinivel del concepte de modo mestre), les intrusions es varen convertir en alguna cosa molt estrany.
Ademés d'haver segut el primer sistema operatiu que va proporcionar un sistema d'archius jeràrquic, els noms dels archius casi podien tindre una llongitut i sintaxis arbitrària; donat un archiu o directori este podia tindre varis noms (típicament un de llarc i un atre curt); també se soportaven enllaços simbòlics entre directoris.
Va ser el primer en utilisar el concepte, hui convertit en característica estàndar, de tindre una pila per procés en el núcleu, en una pila separada per a cada anell de seguritat. També va ser un dels primers sistemes escrits en un llenguage d'alt nivell denominat PL/1, encara que el sistema Burroughs B5000, que utilisava ALGOL va precedir a Multics.
Història del proyecte
[editar | editar còdic]Multics es va desenrollar inicialment per al computador central de General Electric GE-645, un sistema de 36 bits; despuix va ser soportat per la série de màquines Honeywell 6180.
El personal dels Laboratoris Bell va abandonar el proyecte en 1969. Algunes de les persones que havien treballat en el seu desenroll es varen dedicar a crear el sistema operatiu UNIX. Encara que d'un modo superficial, UNIX mostra l'influència de Multics en moltes àrees, inclós el nom dels comandos. No obstant, la filosofia de disseny va ser molt diferent, centrant-se en mantindre el sistema tan menut i simple com fora possible, i d'esta manera corregint lo que es vea com una deficiència de Multics. El nom "Unix" (originalment "Unics", per "UNIplexed information and Computing Service" en lloc de "MULTIplexed Computer and Information Service") és un hack de "Multics". Es rumorea que l'O d'UNIX significia "Uniplexado" en oposició al concepte "Multiplexado" de Multics, resaltant l'intenció dels dissenyadors de rebujar la complexitat de Multics en favor d'una aproximació pràctica més directa.
L'empresa nortamericana Honeywell va comprar la divisió de computació de General Electric, va llançar una millor base d'hardware, i va continuar el desenroll del sistema fins a 1985. Es varen realisar unes 80 instalacions per valor de varis millons de dólars, en universitats, indústries, i administracions. El sistema universitari de França va contar en vàries instalacions en els inicis de la década de 1980. Despuix Honeywell va deixar de soportar Multics, i llavors els usuaris migraron a atres sistemes, incloent atres distribucions d'UNIX. L'última màquina en usar Multics va ser apagada el 31 d'octubre de 2000, en el Ministeri de Defensa de Canadà.
En l'actualitat, el còdic font de Multics ha segut lliberat pel MIT i es pot descarregar des de la seua pàgina.[1]
Influència en atres proyectes
[editar | editar còdic]
Unix
[editar | editar còdic]El disseny i les característiques de Multics varen influir llaugerament en el sistema operatiu Unix, que va ser escrit originalment per dos programadors de Multics, Ken Thompson i Dennis Ritchie.[2] L'influència superficial de Multics en Unix és evident en moltes àrees, incloent la denominació d'alguns comandos. Pero la filosofia de disseny intern era prou diferent, centrant-se en mantindre el sistema menut i simple, i aixina corregir algunes deficiències percebudes de Multics per les seues altes demandes de recursos en el llimitat hardware dels ordenadors de l'época.
El nom Unix (originalment Unics) és un joc de paraules en Multics. Es rumorea que la O d'Unix significa uniplexed en contraposició a la multiplexed de Multics, lo que subralla encara més el rebuig dels dissenyadors a la complexitat de Multics en favor d'un enfocament més senzill i factible per a ordenadors més menuts. (Garfinkel i Abelson[3] citen un orige alternatiu: Peter Neumann en els Laboratoris Bell, veent una demostració del prototip, va sugerir el joc de paraules UNICS - pronunciat "eunucs" - com un "Multics castrat", encara que es diu que Dennis Ritchie ho va negar.[4])
Ken Thompson, en una entrevista transcrita de 2007 en Peter Seibel[2] es referix a Multics com "sobrediseñado i sobreconstruido i sobretot. Era casi inutilisable. Ells [l'Institut Tecnològic de Massachusetts] seguixen afirmant que és un èxit monstruoso, pero està clar que no ho va anar". Sobre l'influència de Multics en Unix, Thompson va declarar que "les coses que em varen agradar lo suficient (de Multics) com per a quedar-me en elles varen ser el sistema d'archius jeràrquic i el shell - un procés separat que es pot substituir per un atre procés".
Dennis Ritchie va escriure que el disseny d'UNIX estava influenciat per CTSS.
Atres sistemes operatius
[editar | editar còdic]El sistema operatiu Prime Computer, COSINS, va ser cridat "Multics en una caixa de sabates" per William Poduska, un dels fundadors de la companyia. Poduska va passar més vesprada a fundar Apollo Computer, els sistemes operatius de la qual AEGIS i més tarde Domain/VOS, a voltes cridats "Multics en una caixa de cerillas", varen ampliar el disseny de Multics a un entorn d'estació de treball gràfic fortament conectat en ret.
El sistema operatiu Stratus VÓS de Stratus Computer (en l'actualitat Stratus Technologies) va estar molt influenciat per Multics, i tant la seua interfaç d'usuari externa com la seua estructura interna guarden moltes similituts en el proyecte anterior. Les característiques d'alta fiabilitat, disponibilitat i seguritat de Multics es varen ampliar en Stratus VÓS per a donar soport a una nova llínea de sistemes informàtics tolerants a fallos que soporten un processament de transaccions segur i fiable. Stratus VÓS és el descendent més directament relacionat en Multics que seguix en desenroll actiu i en us de producció hui en dia.
L'arquitectura de protecció de Multics, que restringix la capacitat del còdic en un nivell del sistema per a accedir a recursos en un atre, va ser adoptada com a base per a les característiques de seguritat del sistema operatiu VME d'ICL.
Comandos
[editar | editar còdic]La següent és una llista de programes i comandos per a tasques informàtiques comunes que són soportades per l'interfaç de llínea de comandos de Multics.[5]«multicians. org/multics-commands. html Comandos de Multics».</ref>
Retrospectiva
[editar | editar còdic]És més que sorprenent descobrir que el núcleu d'este sistema operatiu per a computadores centrals multiprocessador, que va ser criticada en els seus dies inicials pel seu tamany i complexitat, ocupava 135 kB de còdic. El primer GE-645 del MIT va tindre 512 K paraules de memòria (2 MB), de manera que el núcleu solament utilisava una menuda porció de la memòria principal de Multics.
Medit d'una atra forma, el sistema complet, incloent no solament el sistema operatiu, sino també el complex compilador de PL/I, els comandos d'usuari, i les biblioteques d'subrutina, contenia aproximadament 1500 mòduls de còdic font en una llongitut mija, cada u, d'unes 200 llínees de còdic font, i es compilaban per a produir aproximadament 4,5 MB de còdic de procediments, que encara que hui semble menut, era molt gran per als estàndarts de l'época.
Els compiladorés de Multics generalment optimisaven la densitat de còdic abans que la velocitat d'eixecució, per eixemple s'utilisaven menudes subrutina anomenades operadors per a seqüències de còdic freqüents, realisar comparacions directes en el tamany dels objectes de còdic en els sistemes més moderns no té sentit. L'alta densitat de còdic era una bona opció d'optimisació per a un sistema multiusuario en una memòria principal cara, com Multics.
Vore també
[editar | editar còdic]- Compatible Clave-Sharing System
- Unix
- Fernando J. Corbató
- Jerome H. Saltzer
- Jack B. Dennis
- Peter J. Denning
- Robert M. Graham
- Victor A. Vyssotsky
Referències
[editar | editar còdic]- ↑ Heather Anne Harrison. «mit. edu/multics-history/ Multics» (en anglés). Consultat el 13 d'octubre de 2015.
- ↑ 2,0 2,1 Peter Seibel. Coders at Work: Reflections on the Craft of Programming. APress Publications, 2007. ISBN 978-1-4302-1948-4
- ↑ Garfinkel, Simson i Abelson, Harold. Architects of the Information Society: Thirty-Five Years of the Laboratory for Computer Science at MIT. MIT Press, 1999. ISBN 978-0262071963 (anglés)
- ↑ Plantilla:Cite newsgroup
- ↑ «multicians. org/unix. html Unix i Multics».
Bibliografia
[editar | editar còdic]La següent lliteratura conté un gran número de documents sobre Multics i varis components del mateix. Una llista prou completa és accessible a través de multicians. org/biblio. html here. Els més importants i/o informatius són llistats davall.
- F. J. Corbató, V. A. Vyssotsky, multicians. org/fjcc1. html Introduction and Overview of the Multics System (AFIPS 1965)
- F. J. Corbató, C. T. Clingen, J. H. Saltzer, multicians. org/f7y. html Multics -- The First Seven Years (AFIPS, 1972)
Detalls tècnics
[editar | editar còdic]- Jerome H. Saltzer, archive. org/web/20011127053408/http://ncstrl. mit. edu/dienst/ui/2.0/Descriu/ncstrl. mit_lcs/LCS-TR-123? abstract=saltzer Introduction to Multics (MIT Project MAC, 1974)
- Elliott I. Organick, The Multics System: An Examination of Its Structure (MIT Press, 1972)
- V. A. Vyssotsky, F. J. Corbató, R. M. Graham, multicians. org/fjcc3. html Structure of the Multics Supervisor (AFIPS 1965)
- Jerome H. Saltzer, archive. org/web/20011127053649/http://ncstrl. mit. edu/dienst/ui/2.0/Descriu/ncstrl. mit_lcs/LCS-TR-30? abstract=saltzer Traffic Control in a Multiplexed Computer System (MIT Project MAC, June 1966)
- R. C. Daley, P. G. Neumann, multicians. org/fjcc4. html A General Purpose File System for Secondary Storage (AFIPS, 1965)
- A. Bensoussan, C. T. Clingen, R. C. Daley, multicians. org/multics-vm. html The Multics Virtual Memory: Concepts and Design, (ACM SOSP, 1969)
- Paul Green, stratus. com/pub/vós/multics/pg/mvm. html Multics Virtual Memory - Tutorial and Reflections
- stratus. com/pub/vós/multics/pg/mvm. html Archivat el 5 de març de 2001 archivat en Wayback Machine.
- Roger R. Schell, Dynamic Reconfiguration in a Modular Computer System (MIT Project MAC, 1971)
Seguritat
[editar | editar còdic]- (Juny de 1974) nist. gov/publications/history/karg74. pdf Multics Security Evaluation, Air Force Electronic Systems Division, pp. 160.
- Proceedings of the IEEE.63(9)
- 1278-1308.Consultat el 13 d'octubre de 2015.
- (30 de juny de 1977) csail. mit. edu/ana/publications/pubpdfs/final-report-multics-kernal-design-project-MIT-LCS-TR-196. pdf Final Report of the Multics Kernel Design Project, Massachusetts Institute of Technology.
- «acsac. org/2002/papers/classic-multics. pdf Thirty Years Later: Lessons from the Multics Security Evaluation» (en anglés). Annual Computer Security Applications Conference. Consultat el 13 d'octubre de 2015.
Enllaços externs
[editar | editar còdic]- https://web. archive. org/web/20191030094546/https://www. multicians. org/
- loc. gov/all/20011130013712/http://www. mit. edu:8001/afs/net/user/srz/www/multics. html Multics repository
- stratus. com/pub/vós/multics/multics. html Multics repository at Stratus Computer
- stratus. com/pub/vós/multics/multics. html Archivat el 9 de juliol de 2008 archivat en Wayback Machine.
- vaxman. de/historic_computers/multics/multics. html Multics at Universitaet Mainz
- Este artícul conté una traducció derivada de «Multics» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.