Edsger Wybe Dijkstra Seminar „Geschichte der Informatik“, WS 2001/02 Biographie Biographie: 1930-1950 11.05.1930: geboren in Rotterdam (NL) 1942: Gymnasium Erasminium 1944: Trennung von Familie 1945: Heimkehr; Wunsch, Jura zu studieren 1948: Physik-Studium an der Uni Leiden (NL) 3 Biographie: 1951-1956 1951: Candidaats Examen 1951: Programmier-Kurs in Cambridge (GB) auf EDSAC 1952: Teilzeit-Job am Mathematical Centre in Amsterdam (NL) 1956: Doctoraal Examen, Theoretische Physik 4 Biographie: 1956-1960 1956: Vollzeitstelle am MCA 1956: Shortest Path – Implementierung auf der ARMAC 1957: Hochzeit mit M.C. Debets 1959: PhD für Real-Time Interrupt Handler (Uni Amsterdam) 1960: ALGOL60 – Implementierung auf der ARMAC 5 Biographie: 1961-1965 1961: Semaphoren 1962: Mathematik-Professor an der techn. Uni Eindhoven (NL) 1965: Dining Philosophers Problem, Bankers Algorithm 6 Biographie: 1966-1980 1968: „The Structure of the THEMultiprogramming System“ 1968: „GoTo Statement Considered Harmful“ 1972: „Notes on Structured Programming“ 1972: ACM Turing Award 1973: Research Fellow für Burroughs Corporation 7 Biographie: 1981-heute 1984: Informatikund MathematikProfessor an der Uni Texas (USA) Inzwischen emeritiert 8 Fachliche Leistungen Shortest Path: Problem 10 Shortest Path: Algorithmus V = Menge aller Knoten; E = Menge aller Kanten; S = {s}; // Menge von Knoten // Invariante: kürzeste Weglänge zu jedem // Knoten in S bekannt while ( t S ) { füge zu S den Knoten aus (V \ S) hinzu, der mit kleinstem Aufwand zu erreichen ist } 11 Shortest Path: Beispiel S d(1) d(2) d(3) d(t) {s} 10 30 100 {s,1} 10 60 30 100 {s,1,3} 10 50 30 90 {s,1,3,2} 10 50 30 60 {s,1,3,2,t} 10 50 30 60 12 Shortest Path: Dijkstra Greedy Greedy: s12t Kosten: 70 Dijkstra: s32t Kosten: 60 13 Semaphoren Problem: mehrere Prozesse greifen synchron auf gleiche Daten zu Semaphor = Signalmast (bei Zügen) P und V Operationen P = passeren V = vrijgeven mutual exclusion 14 Dining Philosophers Problem Deadlock Starvation Lack of Fairness 15 Banker‘s Algorithm (1) Zur Vermeidung von Deadlocks Jeder Kunde hat Kreditlimit, Kredite werden nach endlicher Zeit zurückgezahlt Kein Kreditlimit darf Bankvermögen übersteigen 16 Banker‘s Algorithm (2) Darlehen wird gewährt, wenn anschließend noch genug Geld, um theoretisch größtes Darlehen zu gewähren; sonst: warten Bei Rückzahlung werden Wartende zufrieden gestellt 17 Banker‘s Algorithm: Nachteile Kunde muss wissen, wieviel Geld er höchstens braucht ( Kreditlimit) Zu hohe Kreditlimits machen System unflexibel Lange Wartezeiten möglich 18 THE Multiprogramming System Betriebssystem auf X8 Aufteilung aller Aufgaben in sequentielle Prozesse auf verschiedenen Hierarchie-Stufen Korrektheit der Implementierung bewiesen Virtueller Speicher 19 Zitate Zitate People get attached to their sources of misery – that‘s what stabilizes many marriages. 21 Zitate Simplicity, Completeness, Correctness The freedom of meaning one thing and saying something different is not permitted. 22 Zitate If you need more than five lines to prove something, then you‘re on the wrong track. 23 Zitate I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself, „Dijkstra would not have liked this“, well that would be enough immortality for me. 24 Zitate 1. Never complete with colleagues. 2. 3. Try the most difficult thing you can do. Choose what is scientifically healthy and relevant. Don‘t compromise on scientific integrity. 25