Ken Thompson

A HupWiki-ből...

Ken Thompson

Ken Thompson 1943. február 4-én született New Orleans-ben. Dennis M. Ritchie-vel együtt munkálkodtak a UNIX megszületésén.

Ken Thompson a Bell Laboratories munkatársa volt, amikor résztvett a MULTICS projektben. Szerette a MULTICS-ot, de túl komplexnek találta. Thompson a Multics nyomdokain haladva egy PDP-7-esen egy hónap alatt megírta a első UNICS-ot. A UNICS jelentése "Uniplexed Operating and Computing System". Ahogy az operációs rendszer változott, a nevét lerövidítették, és így született meg a rövidebb "Unix" név. A UNICS 1969 szeptemberében jelent meg. A UNICS későbbi kiadásai a UNIX Time-Sharing System-ek voltak.

Ken Thompson és Dennis Ritchie 1973. novemberében mutatta be az első Unix papírokat az Operációs Rendszerek Alapelvei Szimpóziumon (Symposium on Operating Systems Principles) a Purdue Egyetemen. Bob Fabry professzor - aki a Kaliforniai Egyetemem tanított Berkeley-ben - ellátogatott a rendezvényre, és azonnal érdeklődni kezdett az iránt, hogy hogyan kaphatna egy példányt a rendszerből, a célból hogy a Berkeley-n kísérletezhessen vele.

Ebben az időben a Berkeley-nek csak egyetlen nagy mainframe számítógépe volt, amely kötegelt (batch) feldolgozást végzett. Így ahhoz, hogy a kísérletek megkezdődhessenek először egy PDP-11/45 gépet kellett szerezniük, amely képes volt az akkori aktuális Unix Version 4-et futtatni. A berkeley-i Számítástechnikai Tudományok tanszék (Computer Science Department at Berkeley), összefogva a Matematika (Mathematics Department) és a Statisztikai tanszékkel (Statistics Department) közösen vásároltak egy PDP-11/45-öt. 1974 januárjában a Version 4 szalag (annak idején még mágnesszalagon (tape) tárolták az adatokat) megérkezett, és a Unix Keith Standiford végzős hallgató által telepítésre került.

Habár Ken Thompson nem vett részt a Berkeley-ben folyó telepítési munkálatokban, hamarosan mégis szükség volt a segítségére, mert ki kellett találi az okát néhány furcsa rendszer leállásnak. Mivel a Berkeley-nek csak egy 300-baud-os akusztikusan csatolt modeme volt - amely még "auto answer" képességgel sem rendelkezett - Thompson megkérte Standiford-ot, hogy menjen le a gépterembe és helyezze a telefonkagylót a modembe. Ezen keresztül tudta Thompson New Jersey-ből távolról debugolni a crash dump-okat.

Számos rendszerösszeomlást a lemezvezérlő azon hiányossága okozott, hogy a dokumentációban leírtak ellenére nem volt képes megbízhatóan végrehajtani az átfedéses kereséseket (overlapped seeks). A Berkeley 11/45-öse volt az első olyan rendszer, ahol Thompson először találkozott két lemezzel ugyanazon kontrolleren! Thompson távoli hibakeresése volt az első példa a Berkeley és a Bell Labs általi együttműködésre. A Bell Labs kutatóinak az együttműködésre való hajlandósága, a munkájuk eredményének megosztása nagyban hozzájárult ahhoz, hogy a Berkeley-nél gyors fejlődésnek indult a szoftverek tökéletesítése.

Noha a Unix hamarosan megbízhatóan futott, az együttműködés a számítástechnikai, matematikai és statisztikai tanszék között problémákba ütközött. A metamatikai és a statisztikai tanszék futtatni szerette volna a DEC RSTS rendszerét. Sok vita után arra a kompromisszumos megoldásra jutottak, hogy mindegyik tanszék kap egy 8 órás időszeletet. A Unix 8 órát futhat, míg az RSTS 16 órás futása jogosult. Hogy a dolog korrekt legyen, az időszeleteket rotálták minden nap. A Unix futott reggel 8-tól délután 4-ig az egyik nap, délután 4-től éjfélig második nap, és éjféltől reggel 8-ig harmadik nap. A bizarr ütemezés ellenére a tanulók jobban szerették az operációs rendszerek kurzust a Unix gépen végezni, mint a kötegelt gépen.

Eugene Wong és Michael Stonebraker professzorok akadályozva voltak a kötegelt környezet korlátai miatt, így az Ő INGRES adatbázis projektjük csoportja volt az első, amely átköltözött a kötegelt (batch) gépekről a Unix nyújtotta interaktív környezetbe. Hamarosan elviselhetetlenül kevésnek találták azt a gépidőt amely a rendelkezésükre állt a 11/45-ön, ezért 1974 tavaszán vásároltak egy 11/40-est, amely már az új Version 5-öt futtatta. Azzal, hogy 1974 őszén kiadták az INGRES első terjesztését, az INGRES projekt volt az első csoport a számítástechnikai tanszéken, amely terjeszteni kezdte a szoftvereit. Néhány száz INGRES szalagot szállítottak le az elkövetkező 6 évben, amellyel megalapozták a Berkeley hírnevét az igazi rendszerek tervezésében és megalkotásában.

Annak ellenére, hogy az INGRES projekt elhagyta a 11/45-öt, még mindig kevés gépidő állt a tanulók rendelkezésére. Hogy csillapítsák a hiányt, Michael Stonebraker és Bob Fabry professzor 1974 júniusában kihirdette, hogy két oktatói 11/45-öst szereznek be a számítástechnikai tanszék számára. 1975 elején a pénz össze is jött. Valamikor ebben az időben jelentette be a DEC a 11/70-et - azt a gépet, amely sokkal jobb képességekkel rendelkezett, mint a 11/45-ös. A két 11/45-ösre félretett pénzből inkább egy 11/70-est vásároltak, amely 1975 őszére meg is érkezett. A 11/70-es érkezésével egy időben Ken Thompson úgy döntött, hogy kiveszi egy éves kutatói szabadáságát és mint vendég professzor meglátogatja a Berkeley-t, a korábbi iskoláját. Thompson Jeff Schriebman-nel és Bob Kridle-lel együtt feltelepítették 11/70-re az akkori legfrissebb Unix verziót, a Version 6-ot.

1975 őszén szintén érkezett két addig észrevétlen végzős diák is, Bill Joy és Chuck Haley, akik azonnal érdeklődni kezdtek az új rendszer iránt. Először egy Pascal rendszeren kezdtek el dolgozni, amelyet Thompson ütött össze miközben a 11/70-es géptermében lógott. Addig a pontig terjesztették ki és tökéletesítették a Pascal értelmezőjét (interpreter) amíg a tanulók egyik kedvenc programozási rendszere nem lett. Lett, mert kiváló hiba visszakeresési sémával, gyors fordítási- és végrehajtási képességekkel rendelkezett.

Miután a Model 33 teletype-ok helyett ADM-3 képernyő terminálok lettek, Joy és Haley úgy érezte, hogy akadályozza Őket az ed névre hallgató szerkesztőprogram. Miután egy em névre hallgató editoron dolgoztak - amelyet George Coulouris professzortól kaptak, aki a Queen Mary Kollágiumban tanított Londonban - nekiálltak, hogy létrehozzanak egy "line-at-a-time" szerkesztőt, amelynek a neve ex lett.

Miután Ken Thompson 1976 nyarán elhagyta a Berkeley-t Joy-t és Haley-t érdekelni kezdte a Unix kernel belső működése. Első próbálkozásuk az volt a rendszerrel kapcsolatban, amikor Schriebman figyelő szemei mellett feltelepítették azokat javításokat és frissítéseket, amelyet az "ötven változás" ("fifty changes") névre hallgató szalag tartalmazott, és amely a Bell Labs-tól érkezett. Miután megtanultak manőverezni a forráskódban, már néhány kisebb javaslatot tettek arra, hogy hogyan is lehetne csökkenteni a kernel szűk keresztmetszeteit.

Ken Thompson honlapja

Forrás: Berkeley Unix 20 éve - I. rész