Edsger Wybe Dijkstra

Werbung
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:
s12t
Kosten: 70
Dijkstra:
s32t
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
Herunterladen