Per Brinch Hansen - Per Brinch Hansen

Per Brinch Hansen
Per Brinch Hansen - 1999.jpg
Per Brinch Hansen v roce 1999
narozený ( 1938-11-13 )13. listopadu 1938
Zemřel 31. července 2007 (2007-07-31)(ve věku 68)
Alma mater Technická univerzita v Dánsku
Známý jako
Manžel / manželka Milena
Děti 2
Ocenění
Vědecká kariéra
Pole Počítačová věda
Instituce
Vlivy
webová stránka brinch-hansen .net

Per Brinch Hansen (13. listopadu 1938 - 31 července 2007) byl dánský - americký počítačový vědec známý pro jeho práci v operačních systémech , souběžné programování a paralelní a distribuované výpočetní .

Životopis

raný život a vzdělávání

Per Brinch Hansen jako student v roce 1959
Věk 21 v roce 1959

Per Brinch Hansen se narodil v Frederiksberg , enkláva obklopená Kodaň , Dánsko . Jeho otec, Jørgen Brinch Hansen , pracoval jako stavební inženýr, stal se předním odborníkem na mechaniku půdy a později přijal profesuru na Technické univerzitě v Dánsku . Jeho matka, Elsebeth Brinch Hansen (rozená Ring), byla dcerou dánského skladatele Olufa Ringa a před svatbou pracovala jako kadeřnice.

Brinch Hansen navštěvoval Skt. Gymnázium Jørgens a poté studoval elektrotechniku ​​na Technické univerzitě v Dánsku, kde hledal oblast, kterou by mohl sledovat, „která byla stále ve své průkopnické fázi“ s přesvědčením, že „pokud se vyučuje předmět, bylo již pravděpodobně příliš pozdě na zásadní příspěvky. . " Po sedmi týdnech studentské stáže v IBM ‚s Hursley laboratoř v Anglii, se rozhodl věnovat svou kariéru k počítačům. Zpočátku se soustředil na konstrukci počítačů a přečetl si knihu o projektu IBM 7030 Stretch, která popisovala organizaci počítače z pohledu programátora, znovu zaměřil jeho zájem stát se počítačovým architektem.

Regnecentralen

Per Brinch Hansen ve věku 29 let, v počítačové laboratoři RC 4000 (1967)
Ve věku 29 let v počítačové laboratoři RC 4000 (1967)

Poté, co v roce 1963 dokončil magisterský titul v oboru elektronického inženýrství , získal Brinch Hansen práci v Regnecentralen , tehdejší výzkumné instituci Dánské akademie technických věd (Akademiet for de Tekniske Videnskaber), která pracovala ve skupině překladačů vedené Peterem Naurem a Jørn Jensen . Jeho prvním významným projektem bylo psaní analyzátoru pro překladač COBOL pro počítač Siemens 3003.

Následně napsal souborový systém, který bude použit při provádění kompilovaných programů COBOL, později pozoroval:

Nyní chápu, že to byl opravdu malý operační systém, který jsem naprogramoval. V polovině šedesátých let však nebyla dělící čára mezi jazykovou implementací a operačními systémy stále jasně chápána.

V roce 1966 se Brinch Hansen přestěhoval do hardwarové skupiny Henning Isaksson v Regnecentralen, do té doby společnosti s akcionáři. Spolu s Peterem Kraftem definoval počítačovou architekturu a sadu instrukcí pro třetí počítač Regnecentralen, RC 4000, pomocí ALGOL 60 jako jazyka popisu hardwaru k vytvoření formální specifikace .

Nezkušený multiprogramováním použil kopii spolupracujících sekvenčních procesů, které mu Edsger Dijkstra poslal, aby porozuměl synchronizaci procesů pomocí semaforů , a poté implementoval specializovaný monitor RC 4000 v reálném čase pro použití při správě závodu na hnojiva. Peter Kraft a Charles Simonyi , který byl ještě teenager, psali překladač p-kódu a programy pro protokolování dat, které byly kompilovány do p-kódu.

V létě roku 1967 opustil Brinch Hansen hardwarovou skupinu Regnecentralen, aby se stal vedoucím vývoje softwaru RC 4000 , kde vedl tým zahrnující Jørn Jensen, Peter Kraft a Søren Lauesen při definování univerzálního multiprogramovacího systému RC 4000 s cílem vyhněte se vývoji vlastního operačního systému pro řízení v reálném čase pro každou instalaci RC 4000 a také pro podporu dávkového zpracování a sdílení času . Výsledný systém nebyl úplným operačním systémem, ale malým jádrem poskytujícím mechanismy, na nichž by bylo možné stavět operační systémy pro různé účely. Na jaře 1969 běžela dobře zdokumentovaná a spolehlivá verze multiprogramovacího systému RC 4000.

Univerzita Carnegie Mellon

Na konci roku 1970 se Brinch Hansen přestěhoval do Pittsburghu a přijal pozvání Alana Perlise, aby jako vědecký pracovník navštívil katedru informatiky na Carnegie Mellon University , zatímco napsal první systematickou učebnici principů operačního systému. Během této doby, na letní škole 1971 v Marktoberdorfu a na sympoziu v Belfastu , začali Brinch Hansen, Tony Hoare a Dijkstra diskutovat o myšlenkách, které se vyvinuly do konceptu monitoru . Na jaře roku 1972, poté, co si Brinch Hansen přečetl o konceptu třídy, který pro Simulu 67 vynalezli Ole-Johan Dahl a Kristen Nygaard , dokončil svůj text kapitolou o ochraně zdrojů, která navrhla první zápis monitoru pomocí sdílených tříd. V roce 1973 byly zveřejněny zásady operačního systému , které se staly první komplexní učebnicí operačních systémů.

Kalifornský technologický institut

Per Brinch Hansen na Taj Mahalu po účasti na konferenci v Bombaji (1975)
V Tádž Mahalu, po účasti na konferenci v Bombaji (1975)

V červenci 1972 nastoupil Brinch Hansen na docent Kalifornského technologického institutu (Caltech) jako docent informatiky, kde začal pracovat na definování programovacího jazyka se souběžnými procesy a monitory. V dubnu 1974 distribuoval technickou zprávu o Concurrent Pascal . Souběžný překladač Pascal pro PDP 11/45 , napsaný doktorandem Brinche Hansena, Al Hartmannem, byl vydán v lednu 1975. Následně Brinch Hansen začal psát modelové operační systémy v Concurrent Pascal, aby vyhodnotil jazyk. V květnu 1975 dokončil Solo, operační systém pro jednoho uživatele pro vývoj programů Concurrent Pascal. Dále přepsal původní plánovač RC 4000 v reálném čase na Concurrent Pascal, jeho napsání trvalo tři dny a jeho systematické testování tři hodiny strojového času.

Když se oddělení počítačové vědy Caltech přesunulo k počítačovému inženýrství a odklonilo se od programování, rozhodl se Brinch Hansen raději odejít, než aby tam hledal místo.

University of Southern California

V roce 1976 si Brinch Hansen vybral University of Southern California (USC) pro svůj další post, aby jeho rodina mohla zůstat ve svém domě Altadena . Na fakultu nastoupil jako řádný profesor a první předseda nově vytvořeného oddělení informatiky a vedl úsilí o identifikaci a přilákání špičkové fakulty k vybudování prvotřídního oddělení. V roce 1980 bylo oddělení počítačové vědy USC hodnoceno Národní radou pro výzkum jako jedno z deseti nejlepších v USA.

Zatímco v USC, Brinch Hansen napsal svou druhou knihu The Architecture of Concurrent Programs, na základě své práce na vývoji operačních systémů s Concurrent Pascal. Vydána v roce 1977, byla to první kniha o souběžném programování. V roce 1978 se Brinch Hansen stal prvním počítačovým vědcem, který získal titul Doctor Technices, nejvyšší akademické vyznamenání v rámci inženýrské a technologické vědy v Dánsku, za práci dokumentovanou v The Architecture of Concurrent Programs . Později v roce 1978 Brinch Hansen publikoval jazykový koncept Distributed Processes, který navrhoval použití vzdálených volání procedur k synchronizaci procesů běžících přes mikropočítačovou síť.

Také v roce 1978, LJ Sevins a Steve Dění z Mostek navštívil Brinch Hansen na USC, kde nastínil low-cost víceprocesorové architektury. Mostek zahájil projekt implementace takového multiprocesoru, přičemž Brinch Hansen pracoval jako konzultant. Brinch Hansen vyvinul pro projekt nový souběžný programovací jazyk Edison. Stejně jako u projektu RC 4000, Edison byl také použit jako formální specifikační jazyk pro hardware. Mostek začal pracovat se 4-uzlovým multiprocesorem a Brinch Hansen napsal přenosný kompilátor Edison na PDP 11/55, ale krátce poté společnost United Technologies získala Mostek a projekt zrušila. V roce 1982 Brinch Hansen přesunul systém Edison na osobní počítač IBM (PC) a poté vydal svou třetí knihu Programování osobního počítače .

V roce 1982 byl Brinch Hansen jmenován prvním profesorem informatiky Henryho Salvatoriho na USC.

University of Copenhagen

V roce 1984, pocit stýskalo po Dánsku poté, co v zahraničí 14 let, Brinch Hansen opustil USC a připojil se k fakultě univerzity v Kodani jako profesor datalogy . V roce 1985 byl zvolen členem Institutu elektrotechnických a elektronických inženýrů (IEEE). Později v roce 1985 byla vydána jeho čtvrtá kniha Brinch Hansen o Pascal Compilers , kterou použil pro svůj vlastní kurz kompilátoru.

Při navrhování vícepočítačového operačního systému pro dánskou společnost GN Elmi dospěl Brinch Hansen k závěru, že potřebuje nový jazyk, tentokrát s využitím paradigmatu předávání zpráv Hoareova CSP . Výsledný jazyk, Joyce , odstranil hlavní omezení CSP zavedením paralelní rekurze . Brinch Hansen vyvinul přenosnou implementaci na počítači IBM PC.

Univerzita Syracuse

Per Brinch Hansen na dovolené ve Washingtonu, DC (1990)
Na dovolené ve Washingtonu, DC (1990)

Poté, co zjistil, že ani on, ani jeho rodina se v Dánsku necítí jako doma, rozhodl se Brinch Hansen vrátit do USA, ale zjistil, že jejich imigrační status to vyžaduje, aby tak učinili velmi rychle. Brinch Hansen kontaktoval Johna Reynoldse na Syracuse University a v roce 1987 nastoupil na fakultu jako významný profesor.

Ve spolupráci se svým studentem Rangachari Anandem byla Joyce přesunuta do multiprocesoru Encore Multimax 320 v centru severovýchodní paralelní architektury SU. Brinch Hansen však uznal omezení škálování u víceprocesorů a našel vhodný multipočítač pro další práci. Získání Meiko Computing Surface v roce 1989, začal experimentovat s vědeckými aplikacemi vývojem paralelních programů pro domácnost metodou (redukce) a poté simulace n-těla jako učební cvičení, a byl překvapen, když zjistil, že oba programy mají téměř identické řídicí struktury. Došel k závěru, že oba zapadají do „paradigmatu všech párů“, a poté se zaměřil na zkoumání opakovaně použitelných struktur paralelních algoritmů, které nazýval „programovací paradigmata“ nebo „generické programy“ (později, lidově známé jako „ návrhové vzory “). V roce 1995 byla vydána pátá kniha Brinche Hansena, Studies in Computational Science: Parallel Programming Paradigms , s programy přepsanými v SuperPascal , plně implementovaném publikačním jazyce, který vytvořil pro paralelní algoritmy.

Minulé roky

V pozdějších letech Brinch Hansen publikoval retrospektivu svých nejdůležitějších prací The Search for Simplicity (1996), text pro kurz programování pro malé společnosti, Programování pro každého v Javě (1999), retrospektivu evoluce operačních systémů, Klasické operační systémy: Od dávkového zpracování k distribuovaným systémům (2001) a retrospektiva vývoje souběžného programování, Původ souběžného programování: Od semaforů k volání vzdálených procedur (2002). Na svém webu sám vydal monografii z roku 2004, Příběh programátora: Život počítačového průkopníka .

V roce 2002 získal Brinch Hansen cenu IEEE Computer Pioneer Award „Za průkopnický vývoj v operačních systémech a souběžné programování, jehož příkladem je práce na multiprogramovacím systému RC 4000, monitorech a Concurrent Pascal“.

Dne 31. července 2007 Brinch Hansen zemřel, krátce poté, co mu byla diagnostikována smrtelná rakovina.

Osobní život

Brinch Hansen se setkal se svou manželkou Milenou (rozenou Hrastar) na třídním výletu do Jugoslávie v roce 1962. Vzali se v roce 1965 a měli dvě děti, dceru Mette a syna Thomase.

Vědecké příspěvky a dopady

V kariéře trvající pět desetiletí Brinch Hansen významně přispěl v oblastech operačních systémů, souběžných počítačů a paralelních a distribuovaných počítačů, které měly vliv na formování rozvoje těchto oborů a jejich postup z technik ad hoc do systematických technických oborů. Dopad jeho práce byl umocněn jeho „neúnavným hledáním jednoduchosti“, jeho důrazem na srozumitelnost, psaním a přepisováním svých papírů mnohokrát před jejich publikováním, čímž se stal „jedním z nejlepších vysvětlivek v oboru“, a jeho odhodláním testovat koncepty. v pracovních systémech - Brinch Hansen implementoval a distribuoval pracovní systémy pro nové koncepty, které vyvinul, přičemž poznamenal:

Není neobvyklé, že počítačový vědec udělá návrh bez testování, zda je to v praxi dobré. Poté, co jsem strávil 3 dny sepisováním návrhu monitoru a 3 roky jeho implementací, mohu tomuto pokušení velmi dobře porozumět. Možná je také někdy lidskou reakcí na obrovský tlak na univerzitní profesory, aby rychle získali financování a uznání. Přesto si musíme pamatovat, že ve strojírenství platí jen jedna věc: Funguje to (ne „může to fungovat“ nebo „nebylo by hezké, kdyby to fungovalo“)?

Operační systémy

Multiprogramovací systém RC 4000 představil nyní standardní koncepci jádra operačního systému a oddělení mechanismu a zásad při návrhu operačního systému. Moderní architektury mikrojáder vycházejí z kořenů rozšiřitelné architektury jádra RC 4000. Zlepšení výkonu mikrojáder bylo hlavním tématem výzkumu operačních systémů po tři desetiletí po RC 4000.

Text Brinche Hansena, Principy operačního systému , byl první komplexní učebnicí operačních systémů. Nakonec vyšlo v šesti jazycích (angličtina, japonština, němčina, čeština, polština a srbochorvatština), zůstalo v tisku desítky let a roky poté, co systém RC 4000, který popisoval, zastaral. V roce 1990, téměř dvě desetiletí po jeho počátečním vydání, jej PJ Plauger zhodnotil a řekl:

Tato kniha je strašně datovaná. Popisuje mnoho algoritmů operačního systému RC4000. RC4000 je podle dnešních standardů pomalý, malý a hladový po periferiích. Algoritmy jsou uvedeny v podmnožině jazyka Pascal. Proč se obtěžovat? Odpověď zní, že Brinch Hansen je jedním z nejlepších vysvětlivek v oboru. Věci vysvětluje jasně a věcně. Dívá se na obecný princip, který je za příkladem, ale dokáže se vyhnout zbytečné abstrakci. Po všech těch letech je stále radost číst.

V roce 2005 členové Asociace pro výpočetní techniku (ACM) hlasovali v Principech operačního systému za 25 nejlepších klasických knih. Principy operačního systému se v průzkumu umístily na 15. místě a objevily se na 8,8% hlasovacích lístků. Nyní je k dispozici v digitální knihovně ACM .

Brinch Hansen pomocí Concurrent Pascal předvedl, že je možné plně implementovat operační systémy v jazycích vysoké úrovně a že se tím sníží vývojové úsilí o jeden až dva řády. Kromě toho by mohly být publikovány celé operační systémy a chápány jako celek. Brinch Hansen to přesně udělal v The Architecture of Concurrent Programs , což vedlo Roy Maddux a Harlan Mills k prohlášení:

Druhá část knihy je opravdu pozoruhodná. Zde je viditelný celý operační systém, přičemž každý řádek programu je otevřený kontrole. Neexistuje žádná skrytá záhada a po prostudování takto rozsáhlých příkladů má čtenář pocit, že by podobné úkoly zvládl a že by mohl libovolně změnit systém. Nikdy předtím jsme neviděli operační systém zobrazený tak podrobně a způsobem, který by bylo možné upravit.

Souběžné programování

Brinch Hansen a Hoare vyvinuli koncept monitoru. Brinch Hansen publikoval první notaci monitoru, převzal třídní koncept Simula 67 a vynalezl mechanismus řazení do fronty. Hoare upřesnil pravidla obnovení procesu. Brinch Hansen vytvořil první implementaci monitorů v Concurrent Pascal. Do roku 1990 bylo vytvořeno více než tucet dalších monitorovacích jazyků: Simone, Modula , CSP/k, CCNPascal, PLY, Pascal Plus, Mesa, SB-Mod, Concurrent Euclid , Pascalc, Concurrent C, Emerald, Real-time Euclid , Pascal-FC, Turing Plus , Predula.

Concurrent Pascal byl první souběžný programovací jazyk: první jazyk vyvinutý speciálně pro souběžné programování, a co je důležitější, první jazyk, který ukázal, že je možné začlenit zabezpečená zařízení na vysoké úrovni pro souběžnost, kde systém může zaručit přístup k procesům disjunktní pouze sady proměnných a neruší se navzájem v závislosti na čase. Hoare to popsal jako „vynikající příklad toho nejlepšího z akademického výzkumu v této oblasti“.

Zdrojový a přenosný kód pro Concurrent Pascal a operační systém Solo byl distribuován nejméně 75 společnostem a 100 univerzitám v 21 zemích, což vedlo k jeho širokému přijetí, portování a adaptaci v průmyslu i akademické sféře. Greg Andrews poznamenal, že souběžný Pascal a monitory „velmi ovlivnily většinu následných souběžných jazykových návrhů“.

Architektura souběžných programů Brinche Hansena byla první knihou o souběžném programování a nakonec vyšla ve třech jazycích (angličtina, japonština a němčina). Více než tucet let po zveřejnění PJ Plauger poznamenal:

Jistě, za posledních dvanáct let došlo k vylepšení. Máme lepší synchronizační algoritmy a oblíbenější (ne -li nutně lepší) jazyky s řízením souběžnosti. Lepší přehled o souběžném programování než v této knize ale nenajdete. Alespoň jsem žádnou nenašel.

V roce 2005 členové ACM zvolili architekturu souběžných programů za 25 nejlepších klasických knih, v průzkumu ji zařadili na 18. místo a objevili se na 8% hlasovacích lístků. Nyní je k dispozici v digitální knihovně ACM .

Distribuované výpočty a vzdálené volání procedur

Volání vzdálených procedur používaných v moderních operačních systémech sleduje jejich kořeny zpět do multiprogramovacího systému RC 4000, který pro synchronizaci procesů používal komunikační protokol požadavek-odpověď.

Ve svém příspěvku z roku 1978 o distribuovaných procesech Brinch Hansen navrhl jazyk pro distribuované výpočty na základě externích požadavků skládajících se z volání procedur mezi procesy. To se později v kontextu operačního systému stalo známým jako volání vzdálené procedury.

Později Brinch Hansen vyvinul dva jazyky rozšiřující Hoareovo CSP paradigma předávání zpráv o paralelní rekurzi a ukázal, jak je efektivně implementovat.

Vyznamenání a ocenění

Programovací jazyky

Citáty

  • Psaní je přísný test jednoduchosti: Není možné psát přesvědčivě o myšlenkách, kterým nelze porozumět
  • Programování je umění psát eseje v křišťálově čisté próze a učinit je spustitelnými

Publikace

Knihy
  • Principy operačního systému (1973, ISBN  0-13-637843-9 )
  • Architektura souběžných programů (1977, ISBN  0-13-044628-9 )
  • Programování osobního počítače (1983, ISBN  0-13-730267-3 )
  • Brinch Hansen o kompilátorech Pascal (1985, ISBN  0-13-083098-4 )
  • Studie ve výpočetní vědě: Paralelní programovací paradigmata (1995, ISBN  0-13-439324-4 )
  • Hledání jednoduchosti: Eseje v paralelním programování (1996, ISBN  0-81-867566-7 )
  • Programování pro každého v Javě (1999, ISBN  0-387-98683-9 )
  • Klasické operační systémy: Od dávkového zpracování po distribuované systémy (editor, 2001, ISBN  0-387-95113-X )
  • Původ souběžného programování: Od semaforů po vzdálená volání procedur (editor, 2002, ISBN  0-387-95401-5 )
  • Programmer's Story: The Life of a Computer Pioneer (2004, dostupné na http://brinch-hansen.net/ )
Vybrané papíry

Viz také

Reference

externí odkazy