Information Technology Reference
In-Depth Information
Dies war eine gültige Anweisung, die erfolgreich kom-
piliert und getestet wurde. Die Anweisung war syntaktisch
richtig, aber semantisch (inhaltlich) falsch. Der Programmie-
rer hatte aber die Absicht, eine Schleife zu programmieren
und nicht eine Zuweisung wie hier. Der Unterschied ist ein
Komma statt eines Punktes (Der Variablen DO 3 I wird 1,3
zugewiesen, statt die Schleife dreimal zu durchlaufen.)
Im 2. Irakkrieg 1991 verfehlte ein Lenklugkörper (Ra-
kete) des US-amerikanischen Flugabwehrraketensystems
Patriot eine anliegende SCUD-Rakete der Iraker. Es star-
ben 28 Soldaten durch die irakische Rakete. In der Zeitmes-
sung der Patriot-Software gab es einen Umrechnungsfehler
durch fehlerhafte Gleitkommaberechnungen. Lief das System
durch, vergrößerte sich der Fehler immer mehr (wurde das
System nach einer Umsetzung neu gestartet, so begann der
Fehler bei 0). Die Berechnung des Zeitpunkts des Zusam-
menstoßes der Raketen, der zum Abschuss der SCUD geführt
hätte, war daher fehlerhaft, sodass der Lenklugkörper die
SCUD verfehlte.
Am 31.01.2009 erklärte Google alle Websites als iniziert
und somit für nicht erreichbar und am 15. Mai waren die
Dienste wie Google Suche, der Webmailer Google-Mail,
Google Maps, das Videoportal YouTube, Google Adsense und
Analytics schon wieder für ca. 1 Stunde tot. Die Ursache war
Folgende: Google will Anwender vor verseuchten Internetsei-
ten warnen, indem es einen Filter von der Seite „stopbadware.
org“ lädt. Nun hatte ein Google-Mitarbeiter ein Semikolon
zu viel in die Liste geschrieben. Die einzelnen Badware &
Malware-Seiten werden mit Semikola voneinander getrennt.
Das einzelne, alleinstehende und einsame Semikolon sagte
der Software nun „nimm alle Seiten“, worauf hin alle Inter-
netseiten zu verseucht erklärt wurden. Am 15.05.2009 war
ferner ein Problem in einem der Google-Systeme dafür ver-
antwortlich, dass fast der gesamte Internetverkehr über Asien
umgeleitet wurde. Dadurch verlangsamte sich die Verbindung
dramatisch. Es entstand ein Internetstau auf der Datenauto-
bahn.
Im Jahre 2038 könnte es zu größeren Softwareausfällen
kommen. Dieses Problem bezieht sich auf EDV-Systeme, die
den POSIX-Zeitstandard benutzen und „time_t“ als vorzei-
chenbehaftete 32-Bit-Ganzzahl deinieren. POSIX zählt die
seit dem 1. Januar 1970 abgelaufene Zeit in Sekunden (Unix-
zeit). Am 19. Januar 2038 um 03:14:08 Uhr UTC wird die
Anzahl der vergangenen Sekunden die Kapazität einer vor-
zeichenbehafteten 32-Bit-Ganzzahl (maximal 2.147.483.647)
überschreiten. Das signiikanteste Bit (MSB) wird laut Kon-
vention dazu verwendet, positive und negative Zahlen zu un-
terscheiden (Vorzeichen im Zweierkomplement), sodass die
Zählung bei einer Überschreitung des Wertes 2.147.483.647
(binär 01111111111111111111111111111111) in den negativen
Bereich springt (z. B. -2.147.483.648 binär 100000000000
00000000000000000000). Das führt bei einer ungenügend
implementierten Konvertierung von Unixtime zu Datum
und Uhrzeit ungewollt zu einem Wert, der vor Beginn der
POSIX-Epoche (1. Januar 1970) liegt. Dieses Problem wird
in der Softwareentwicklung als Zählerüberlauf bezeichnet.
Ohne Gegenmaßnahmen könnten die wirtschaftlichen Aus-
wirkungen dramatisch sein, zumal im Banken- und Versi-
cherungsumfeld Unix-Systeme neben Mainframes zur Stan-
dardausstattung gehören. Neben den Unix-Servern arbeiten
viele Embedded Systeme mit Unix-artigen Betriebssystemen,
deren Einsatzzeit oft ein Vielfaches von Desktop- und Ser-
versystemen beträgt (z. B. Router und elektronische Mess-
geräte).
2.2
Höhere Programmiersprachen
2.2.1
Die ersten Hochsprachen
In den Jahren 1955 und 1956 wurden an der Purdue University
Konzepte einer algebraischen Sprache für den dortigen Data-
tron Computer entwickelt. Zu der Gruppe gehörten A. Perlis
und J.W. Smith , die im Sommer 1956 an das Carnegie Institute
of Technology gewechselt waren. Dort implementierten sie das
Konzept auf einer IBM 650 . Im Oktober 1956 war die Imple-
mentierung fertig und das System erhielt den Namen Internal
Translator (IT) . Der Internal Translator wird von vielen als
der erste wirklich einsatzfähige Compiler der Welt angesehen.
Der IT wurde später auf weitere Rechnertypen portiert. Die
Sprache IT war sehr einfach. Sie enthielt die üblichen mathe-
matischen Operatoren, eine IF-Anweisung, einen Selektions-
Mechanismus und einen Schleifen-Mechanismus. Jede Anwei-
sung war mit einer eindeutigen Adressennummer versehen,
deren Wert 626 nicht überschreiten durfte. Eine IF-Anweisung
k: G I3 IF ( Y1 + Y2) = 9
bedeutete, dass, falls die Addition von Y1 und Y2 den Wert 9
ergibt, als Nächstes die Anweisung mit dem aktuellen Wert
der Variablen I3 ausgeführt wird und anderenfalls die An-
weisung k + 1 als nächstes ausgeführt wird. Der Schleifen-
Mechanismus hatte die Form
k: j, v1, v2, v3, v4.
Die Schleife begann bei Anweisung k und endete mit An-
weisung j. V1 war die Schleifenvariable mit dem Startwert v2
und dem Endwert v4. Die Schrittweite war durch v3 gegeben.
Bei der Firma UNIVAC begann im Jahre 1955 die Ent-
wicklung der Sprache AT-3 durch eine Gruppe unter der Füh-
rung von Charles Katz . Im April des Jahres 1957 wurde die
erste Sprachbeschreibung veröffentlicht, in der die Sprache
in MATH-MATIC umbenannt wurde. Die Sprache wurde vor
allem auf dem UNIVAC-I-Rechner verwendet. Da dieser
Rechner über keine Gleitkommaarithmetik verfügte, mussten
 
 
Search WWH ::




Custom Search