Multik - Multics
Fejlesztő | MIT , GE , Bell Labs |
---|---|
Beírták | PL/I , szerelési nyelv |
Működő állapot | Érett, történelmi, emulátor áll rendelkezésre |
Forrásmodell | Nyílt forráskód |
Első kiadás | 1969 |
Legutolsó kiadás | 12.7 / 2021. július 28 |
Adattár | |
Elérhető | angol |
Platformok | GE-645 nagygépek, Honeywell 6180 sorozatú gépek |
Kernel típus | Monolitikus kernel |
Befolyásolt | Unix , GEORGE 3 , ICL VME , PRIMOS , Domain/OS , Stratus VOS |
Alapértelmezett felhasználói felület |
Parancssori felület |
Engedély | Eredetileg szabadalmaztatott , szabad szoftverű multics licenc 2007 óta |
Előtte | Kompatibilis időmegosztó rendszer |
Hivatalos honlapján | www |
A Multics (" Multiplexed Information and Computing Service ") egy befolyásos korai időmegosztó operációs rendszer, amely az egyszintű memória koncepcióján alapul . Azt mondták, hogy a Multics "azóta minden modern operációs rendszert befolyásolt, a mikroszámítógépektől a nagygépekig".
A Multics kezdeti tervezése és fejlesztése 1964 -ben kezdődött, Cambridge -ben , Massachusetts -ben . Eredetileg egy együttműködési projekt volt, amelyet az MIT ( Project MAC és Fernando Corbató ) vezetett a General Electric és a Bell Labs mellett . A GE 645 számítógépen fejlesztették ki , amelyet kifejezetten erre terveztek; az elsőt 1967 januárjában szállították az MIT -hez.
A Multics a General Electric kereskedelmi terméke volt, és a Honeywellé lett , bár nem túl sikeres. Sok újszerű és értékes ötlete miatt a Multics hibái ellenére jelentős hatást gyakorolt az informatikára.
Multics számos olyan szolgáltatást hivatott biztosítani a magas rendelkezésre állás érdekében, hogy támogatni fogja a számítástechnikai segédprogram hasonló a telefon és a villany közművek . Ennek érdekében moduláris hardverstruktúrát és szoftver architektúrát használnak. A rendszer mérete növekedhet, ha egyszerűen hozzáadja a megfelelő erőforrást, legyen az számítási teljesítmény, fő memória vagy lemez tároló. A külön hozzáférés -felügyeleti listák minden fájlban rugalmas információmegosztást biztosítanak, de szükség esetén teljes körű adatvédelmet biztosítanak. A Multics számos szabványos mechanizmussal rendelkezik, amelyek lehetővé teszik a mérnökök számára a rendszer teljesítményének elemzését, valamint számos adaptív teljesítményoptimalizáló mechanizmust.
Újszerű ötletek
Multics valósít egyszintű áruház az adatokhoz való hozzáférés, elöntve a világos különbséget a fájlokat (az úgynevezett szegmens a Multics) és folyamat memória . A memória egy folyamat kizárólag abból áll, szegmensek, amelyek leképezve a címtartomány . Az olvasáshoz vagy íráshoz a folyamat egyszerűen a normál központi processzor (CPU) utasításait használja, és az operációs rendszer gondoskodik arról, hogy az összes módosítást lemezre mentse . A POSIX terminológiájában olyan, mintha minden fájlt mmap()
szerkesztenének; a Multics-ban azonban nincs fogalom a folyamatmemóriáról , elkülönítve a leképezett fájlok tárolására használt memóriától, mint a Unix . A rendszer minden memóriája része egy bizonyos szegmensnek, amely megjelenik a fájlrendszerben ; ide tartozik a folyamat ideiglenes karcoló memóriája, annak kernelkötege stb.
Ennek egyik hátránya az volt, hogy a szegmensek mérete 256 kilowordra korlátozódott , alig több mint 1 MB -ra . Ez annak köszönhető, hogy a Multics futtatott gépek sajátos hardver-architektúrája miatt 36 bites szóméret és indexregiszterek (a szegmenseken belüli címzéshez) fele ekkora méretűek (18 bites). Az ennél nagyobb fájlok, többszegmensű fájlok feldolgozásához extra kódot kellett használni. Azokban a napokban, amikor egy megabájt memória megfizethetetlenül drága volt, és a nagy adatbázisok, majd a későbbi hatalmas bitképes grafika előtt ritkán találkoztunk ezzel a korláttal.
A Multics másik fontos ötlete a dinamikus összekapcsolás volt , amelyben egy futó folyamat kérhet más szegmensek hozzáadását a címteréhez, amelyek olyan kódokat tartalmazhatnak, amelyeket ezután végrehajthat. Ez lehetővé tette az alkalmazások számára, hogy automatikusan használják az általuk meghívott külső rutin legújabb verzióját, mivel ezeket a rutinokat más szegmensekben tárolták, amelyek csak akkor voltak dinamikusan összekapcsolva, amikor egy folyamat először megpróbálta elkezdeni a végrehajtást. Mivel a különböző folyamatok különböző keresési szabályokat használhatnak , a különböző felhasználók automatikusan használhatják a külső rutinok különböző verzióit. Ugyanilyen fontos, hogy a Multics biztonsági létesítmények megfelelő beállításaival a másik szegmens kódja hozzáférhet a más folyamatban fenntartott adatstruktúrákhoz.
Így, hogy egy, részben démonként (más folyamatban) futó alkalmazással kölcsönhatásba léphessen , a felhasználó folyamata egyszerűen végrehajtott egy normál eljáráshívási utasítást egy kódszegmenshez, amelyhez dinamikusan kapcsolódott (egy kódszegmens, amely végrehajtott valamilyen műveletet, amely a démon). Az adott szegmens kódja módosíthatja a démonban karbantartott és használt adatokat. Amikor a kérelem elindításához szükséges művelet befejeződött, egy egyszerű eljárás visszaküldési utasítás visszaadta a felhasználó folyamatának irányítását a felhasználó kódjához.
A multik rendkívül agresszív on-line újrakonfigurálást is támogattak : a központi processzorok , memóriabankok, lemezmeghajtók stb. Hozzáadhatók és eltávolíthatók, miközben a rendszer tovább működik. Az MIT rendszerben, ahol a legtöbb korai szoftverfejlesztés történt, bevett gyakorlat volt, hogy a többprocesszoros rendszert két különálló rendszerre osztották fel a munkaidőn kívül úgy, hogy fokozatosan eltávolították a szükséges összetevőket egy második működő rendszer kialakításához, a többit továbbra is az eredeti naplózva futtatva. -felhasználókban. A rendszer szoftverfejlesztési tesztelése elvégezhető a második rendszeren, majd a második rendszer összetevői visszakerültek a fő felhasználói rendszerbe anélkül, hogy azt le kellett volna állítani. A multik több CPU -t támogattak; ez volt az egyik legkorábbi többprocesszoros rendszer.
A Multics volt az első nagy operációs rendszer, amelyet kezdettől fogva biztonságos rendszerként terveztek . Ennek ellenére a Multics korai verzióiba többször is betörtek. Ez további munkához vezetett, amely sokkal biztonságosabbá tette a rendszert, és előre beállította a modern biztonságtechnikai technikákat. A betörések nagyon ritkák lettek, miután elfogadták a második generációs hardverbázist; hardveresen támogatta a gyűrű-orientált biztonságot , a master mód többszintű finomítását . Az amerikai légierő tigriscsapatának projektje 1973 -ban ZARF kódszó alatt tesztelte a Multics biztonságát. 1997. május 28 -án az Amerikai Nemzetbiztonsági Ügynökség feloldotta a ZARF kódszó használatát.
A Multics volt az első operációs rendszer, amely hierarchikus fájlrendszert biztosított , és a fájlnevek szinte tetszőleges hosszúságúak és szintaxisúak lehetnek. Egy adott fájlnak vagy könyvtárnak több neve is lehet (általában hosszú és rövid formátumú), és a könyvtárak közötti szimbolikus linkek is támogatottak. A Multics volt az első, amely a kernelben a szabványos, per- process stack koncepciót alkalmazta , minden biztonsági gyűrűhöz külön köteggel. Ez volt az első, amely egy parancsfeldolgozót rendes felhasználói kódként valósított meg - ezt az ötletet később a Unix héjban használták fel . Ez volt az egyik első magas szintű nyelven (Multics PL/I ) írt írás, a Burroughs MCP rendszer után , amelyet ALGOL-ban írtak .
A Multics biztonságos számítógépes környezetbe való telepítése ösztönözte az innovatív támogató alkalmazások kifejlesztését is. 1975 -ben Morrie Gasser, a MITER Corporation munkatársa kifejlesztett egy kiejthető véletlenszerű szógenerátort, hogy megfeleljen az olyan létesítmények jelszóval kapcsolatos követelményeinek, mint például a légierő adatszolgáltató központja (AFDSC), amely feldolgozza a minősített információkat. A találgatható jelszavak elkerülése érdekében az AFDSC úgy döntött, hogy jelszavakat rendel hozzá, de arra a következtetésre jutott, hogy a kézi hozzárendelés túl sok adminisztrációs költséget igényel. Így egy véletlenszerű szógenerátort kutattak, majd kifejlesztettek a PL1 -ben. A fonémákon alapuló rendszer helyett a fonémikus szegmenseket (az angol másodrendű közelítései) és más szabályokat alkalmazott a kiejthetőség és a véletlenszerűség fokozására, amelyet statisztikailag más megközelítésekkel modelleztek. Ennek a generátornak a leszármazottját adták hozzá a Multicshoz a Project Guardian során.
A projekt története
1964-ben a Multics-ot kezdetben a 36 bites GE-645 nagyszámítógéphez fejlesztették ki. A GE számítógépes üzletágát, beleértve a Multicsot is, 1970 -ben vette át a Honeywell; 1973 körül a Multics támogatást kapott a Honeywell 6180 gépeken, amelyek biztonsági fejlesztéseket tartalmaztak, beleértve a védőgyűrűk hardveres támogatását .
A Bell Labs 1969 -ben kilépett a projektből; néhányan, akik ott dolgoztak rajta, létrehozták a Unix rendszert. A multics fejlesztése folytatódott az MIT -nél és a General Electricnél.
A Honeywell 1985-ig folytatta a rendszerfejlesztést. Körülbelül 80 millió dolláros webhelyet telepítettek az egyetemeken, az iparban és a kormányzati telephelyeken. A francia egyetemi rendszer több telepítéssel rendelkezett a nyolcvanas évek elején. Miután a Honeywell leállította a Multics támogatását, a felhasználók más rendszerekre, például a Unixra költöztek.
1985 -ben a Multics B2 szintű biztonságos operációs rendszerként kapott tanúsítványt a Nemzeti Számítógépes Biztonsági Központ (NCSC), az NSA részlegének megbízható számítógépes rendszer értékelési kritériumai alapján .
Multics oszlott 1975-2000 által Groupe Bull az európai és a Bull által HN Information Systems Inc. az Egyesült Államokban. 2006 -ban a Bull SAS szabad szoftverlicenc alatt kiadta a Multics MR10.2, MR11.0, MR12.0, MR12.1, MR12.2, MR12.3, MR12.4 és MR12.5 verziójának forráskódját .
A Honeywell hardveren natívan futó utolsó Multics telepítést 2000. október 30 -án leállították a kanadai Nemzetvédelmi Minisztériumban , Halifaxban, Kanadában.
Jelenlegi állapot
2006 -ban a Bull HN kiadta az MIT -nek az utolsó 1992 -es Multics kiadás, az MR12.5 forráskódját. A rendszer nagy része ma már ingyenes szoftverként is elérhető, néhány opcionális rész, például a TCP/IP kivételével .
2014 -ben a Multics sikeresen futott a jelenlegi hardveren egy emulátor segítségével. Az emulátor 1.0 verziója már elérhető. A Multics 12.6f kiadása az emulátor 1.0 verzióját kíséri, és néhány új funkciót is tartalmaz, beleértve a parancssori visszahívást és a videórendszer használatával történő szerkesztést.
Parancsok
Az alábbiakban felsoroljuk azokat a programokat és parancsokat , amelyek a Multics parancssori felület által támogatott gyakori számítási feladatokhoz tartoznak .
Retrospektív megfigyelések
Peter H. Salus , a Unix korai éveit bemutató könyv szerzője egy álláspontot fogalmazott meg: "A Multics -szal sokkal sokoldalúbb és rugalmasabb operációs rendszert próbáltak kialakítani, és ez kudarcot vallott." Ezt a pozíciót azonban széles körben hiteltelenné tették a számítástechnikai közösségben, mivel a Multics számos technikai újítását használják a modern kereskedelmi számítástechnikai rendszerekben.
A Multics állandóan kernelje, amely a maga korában túl nagynak és bonyolultnak becsült rendszer, mindössze 135 KB kódot tartalmazott. Ehhez képest egy Linux rendszer 2007 -ben 18 MB -ot foglalhatott el. Az első MIT GE-645 512 kilowords memóriával (2 MiB) rendelkezett, ami akkoriban valóban hatalmas mennyiségű volt, és a kernel csak mérsékelt részét használta a Multics fő memóriájának.
A teljes rendszer, beleértve az operációs rendszert és a komplex PL/1 fordítót , a felhasználói parancsokat és az alprogramkönyvtárakat, körülbelül 1500 forrásmodulból állt. Ezek átlagosan nagyjából 200 sornyi forráskódot tartalmaztak, és úgy állították össze, hogy összesen nagyjából 4,5 MiB eljárási kódot állítsanak elő, ami a mai szabványok szerint meglehetősen nagy volt.
Multics fordítóprogramok általában optimalizált többet kódot sűrűsége , mint a processzor teljesítményét, például kis al-rutinok nevezett szereplők rövid szabványos kód szekvenciát, ami összehasonlítva a tárgykód méretű korszerű rendszerek kevésbé hasznos. A magas kódsűrűség jó optimalizálási választás volt a Multics számára, mint többfelhasználós rendszer drága fő memóriával.
A kereskedelmi terméktörténet során gyakran hangoztatták belső véleményüket arról, hogy a Honeywell Information Systems (HIS) (később Honeywell-Bull) értékesítési és marketing munkatársai jobban ismerik és kényelmesebbé teszik a Honeywell másik számítógépsorozatának, a DPS 6 GCOS-t futtató üzleti sorának üzleti ügyét. . A DPS-6 és a GCOS jól ismert és megbízható platform volt a készletek, a könyvelés, a szövegszerkesztés és a vertikális piaci alkalmazások, például a banki szolgáltatások számára, ahol jelentős ügyfélkörrel rendelkezett. Ezzel szemben a Multics rugalmasságának teljes potenciálját még a hétköznapi feladatokra sem volt könnyű felfogni abban a korban, és jellemzői általában kívül estek a kortárs üzleti elemzők készségein. Ennek a kapcsolatnak a terjedelmét egy Paul Stachour, CNO/CSC által közölt anekdota konkretizálta:
Amikor az American Telephone and Telegraph 1983 -ban csak AT&T -re változtatta a nevét, megjelent a Honeywell jogi osztályának munkatársa, és megkérdezte egy multikust, hogy gondoskodhat -e a név megváltoztatásáról az összes számítógépes dokumentumukban. Arra a kérdésre, hogy mikor lehet befejezni a folyamatot, a multikus azt válaszolta: "Kész". A személyzet megismételte, hogy több száz, talán ezer dokumentum frissítésére van szüksége. A multik elmagyarázta, hogy globális keresést és cserét hajtott végre, amikor a személyzet beszélt, és a feladat valójában befejeződött.
Hatás más projektekre
Unix
A Multics tervezése és jellemzői nagyban befolyásolták a Unix operációs rendszert, amelyet eredetileg két Multics programozó, Ken Thompson és Dennis Ritchie írt . A Multics felületes hatása a Unixra számos területen nyilvánvaló, beleértve néhány parancs elnevezését is. De a belső tervezési filozófia egészen más volt, arra összpontosított, hogy a rendszer kicsi és egyszerű legyen, és így kijavítsa a Multics egyes észlelt hiányosságait, mivel nagy erőforrásigénye van az akkori korlátozott számítógépes hardverre.
A név Unix (eredetileg Unics ) önmagában is egy szójáték Multics . A pletykák szerint a Unix U -ja uniplexet képvisel , szemben a Multics multiplexelésével , ami aláhúzza a tervezők elutasítását a Multics összetettségéről, és a kisebb számítógépek egyszerűbb és működőképesebb megközelítése mellett dönt. (Garfinkel és Abelson alternatív eredetre hivatkoznak: Peter Neumann, a Bell Labs cégnél, a prototípus bemutatóját figyelve, az UNICS - ejtett " eunuchok " szójátékot javasolta "kasztrált multiknak", bár Dennis Ritchie állítólag tagadta ezt. )
Ken Thompson a Peter Seibellel készített 2007 -es interjúban úgy emlegeti a Multics -ot, mint "túltervezett és túlépített, és minden fölött. Közel volt a használhatatlanhoz. Ők [Massachusetts Institute of Technology] még mindig azt állítják, hogy ez szörnyű siker, de egyszerűen nem volt az ". A Multics Unixra gyakorolt hatásáról Thompson kijelentette, hogy "a dolgok, amiket eléggé szerettem (a Multics -ról) valójában, hogy a hierarchikus fájlrendszert és a héjat - egy külön folyamatot helyettesíthetem más eljárással".
Más operációs rendszerek
A Prime Computer operációs rendszerre, a PRIMOS -ra William Poduska , a cég alapítója " multik a cipősdobozban" hivatkozott . Poduska később az Apollo Computer alapításával foglalkozott, amelynek AEGIS és későbbi Domain/OS operációs rendszerei, amelyeket néha "Multics in a matchbox" -nak neveznek, kiterjesztették a Multics tervezést egy erősen hálózatba kapcsolt grafikus munkaállomás környezetre.
A Stratus Computer (ma Stratus Technologies ) Stratus VOS operációs rendszerét nagyon erősen befolyásolta a Multics, és mind a külső felhasználói felület, mind a belső szerkezet sok hasonlóságot mutat a régebbi projekttel. A Multics nagy megbízhatóságú, rendelkezésre álló és biztonsági jellemzőit a Stratus VOS-ban kibővítették, hogy támogassa a hibatűrő számítógépes rendszerek új sorát, amely támogatja a biztonságos és megbízható tranzakciófeldolgozást . A Stratus VOS a multik legközvetlenebb kapcsolatban álló leszármazottja, akik még ma is aktív fejlesztési és gyártási tevékenységet folytatnak.
A védelmi építészet Multics, korlátozva a kód egy szinten a rendszer hozzáférési források másik fogadták az alapja a biztonsági funkciók ICL „s VME operációs rendszer.
Lásd még
- Az időmegosztó rendszer fejlődése
- Peter J. Denning
- Jack B. Dennis
- Robert Fano - az MIT Project MAC igazgatója (1963–1968)
- Robert M. Graham (informatikus)
- JCR Licklider - az MIT Project MAC igazgatója (1968–1971)
- Peter G. Neumann
- Elliott Organick
- Louis Pouzin - bevezette a shell kifejezést a multikban használt parancsnyelvre
- Jerome H. Saltzer
- Roger R. Schell
- Glenda Schroeder - megvalósította az első parancssori felhasználói felület héját, és javasolta az első e -mail rendszert Pouzinnal és Crismannel
- Victor A. Viszockij
Hivatkozások
További irodalom
A szakirodalom nagyszámú dokumentumot tartalmaz a multikról, és annak különféle összetevőit; meglehetősen teljes lista érhető el a Multics Bibliography oldalon és egy második, rövidebb, 1994 -es Multics bibliográfiában (szövegformátum). Az alábbiakban felsoroljuk a legfontosabb és/vagy informatív információkat.
- FJ Corbató , VA Vyssotsky , Bevezetés és áttekintés a Multics Rendszer ( AFIPS 1965) egy jó bevezetés a rendszer.
- FJ Corbató , CT Clingen , JH Saltzer , Multics - Az első hét év (AFIPS, 1972) kiváló áttekintés, amelyet a kezdeti erőfeszítésekhez képest jelentős használat és javulás után írtak.
- JJ Donovan, S. Madnick , Operációs rendszerek , alapvető olvasmány az operációs rendszerekről.
- JJ Donovan, a Rendszerprogramozás , jó bevezetés a rendszerprogramozásba és az operációs rendszerekbe.
Műszaki információk
- Jerome H. Saltzer , Bevezetés a multikba (MIT Project MAC, 1974) egy lényegesen hosszabb bevezető a rendszerhez, a tényleges felhasználók számára.
- Elliott I. Organick , A multik rendszere: szerkezetének vizsgálata (MIT Press, 1972) a rendszer alapműve , bár dokumentál egy korai verziót, és az abban leírt egyes jellemzők soha nem jelentek meg a tényleges rendszerben.
- VA Vyssotsky , FJ Corbató , RM Graham, A Multics Supervisor struktúrája (AFIPS 1965) leírja a Multics kernel alapvető belső szerkezetét.
- Jerome H. Saltzer , Traffic Control in a Multiplexed Computer System (MIT Project MAC, 1966. június) az eredeti leírás a kernel veremváltásról; az informatika egyik klasszikus dolgozata.
- RC Daley, PG Neumann , A General Purpose File System for Secondary Storage (AFIPS, 1965) leírja a fájlrendszert, beleértve a hozzáférés -ellenőrzési és biztonsági mentési mechanizmusokat.
- RJ Feiertag, EI Organick , The Multics Input/Output System . Leírja az I/O megvalósítás alsó szintjeit.
- A. Bensoussan, CT Clingen, RC Daley, The Multics Virtual Memory: Concepts and Design , ( ACM SOSP , 1969) néhány részletben leírja a Multics memóriarendszert.
- Paul Green , Multics Virtual Memory-Tutorial and Reflections jó alapos pillantást vet a Multics tárolórendszerre.
- Roger R. Schell , Dinamikus újrakonfiguráció egy moduláris számítógépes rendszerben (MIT Project MAC, 1971) leírja az újrakonfigurációs mechanizmusokat.
Biztonság
- Paul A. Karger, Roger R. Schell , Multics Security Evaluation: Sebezhetőségi elemzés (Air Force Electronic Systems Division, 1974) leírja a " tigriscsapat " klasszikus támadásait a Multics biztonsága ellen .
- Jerome H. Saltzer , Michael D. Schroeder , The Information Protection in Computer Systems (Proceedings of the IEEE , 1975. szeptember) a biztonsági frissítések első fordulójának alapjait írja le; egy másik klasszikus papír.
- MD Schroeder , DD Clark, JH Saltzer , DH Wells. A Multics Kernel Design Project zárójelentése (MIT LCS, 1978) a még továbbfejlesztett verzió előállításához hozzáadott biztonsági frissítéseket írja le.
- Paul A. Karger, Roger R. Schell , Harminc évvel később: A multik biztonsági értékelésének leckéi (IBM, 2002) egy érdekes visszatekintés, amely összehasonlítja a tényleges biztonságot a mai ellenséges környezetben azzal, amit évtizedekkel ezelőtt bizonyítottak. Ebből arra a következtetésre jut, hogy a Multics lényegesen nagyobb biztonságot kínált, mint a legtöbb 2002 -ben kereskedelmi forgalomban kapható rendszer.
Külső linkek
-
A multicians.org egy átfogó webhely, sok anyaggal
- Multics papírok online
- Multics szószedet
- A Mítoszok számos mítoszt tárgyalnak részletesen a multikról, beleértve azokat a mítoszokat, amelyek kudarcot vallottak, hogy nagyok és lassúak voltak, valamint néhány érthető félreértést
- Multics biztonság
- Unix és Multics
- Multics általános információk és GYIK Tartalmazza a Multics által befolyásolt egyéb szoftverrendszerek átfogó áttekintését
- Honeywell, Inc., MULTICS rekordok, 1965–1982 . Charles Babbage Intézet , Minnesotai Egyetem. A Multics fejlesztési rekordok tartalmazzák a második MULTICS rendszerprogramozói kézikönyvet; MULTICS Műszaki Közlemények, amelyek leírják az eljárásokat, alkalmazásokat és problémákat, különösen a biztonsággal kapcsolatban; és visszaküldte a "Hozzászólási kérelem űrlapokat", amelyek technikai dokumentumokat és szakdolgozati javaslatokat tartalmaznak.
- Hivatalos forráskódarchívum az MIT -nél
- Az oldal linkje a multimédiás információkhoz a Kongresszusi Könyvtár webarchívumában (archiválva 2001-11-30)
- Multics adattár a Stratus számítógépen
- Multics az Universitaet Mainzban
- Aktív projekt a Honeywell dps-8/m Multics CPU emulálására
- Különféle szkennelt Multics kézikönyvek
- A Multicians.org és az operációs rendszerek története, a Multicians.org kritikus áttekintése, valamint a Multics kapszulatörténete.