Informatik

3.415094339646 (2067)
Geschrieben von daneel 07/03/2009 @ 03:07

Tags : informatik, wirtschaft, computer, high-tech

Neueste Nachrichten
Master-Fernstudiengang Medizinische Informatik - Informationsdienst Wissenschaft (Pressemitteilung)
Die ersten Teilnehmer des an der Beuth Hochschule für Technik Berlin (zuvor Technische Fachhochschule Berlin) im Wintersemester 2008/2009 neu aufgelegten Master-Fernstudiengangs Medizinische Informatik haben das erste von fünf Semestern erfolgreich...
Informatiker stellen ideale Wohnung für Alte vor - STERN.DE
Fernseher für Schwerhörige oder Lampen, die an einen Arzttermin erinnern - Oldenburger Informatiker wollen an diesem Donnerstag die ideale Wohnung der Zukunft für alte Menschen präsentieren. Die technische Unterstützung werde helfen, die Probleme des...
Siegerehrung sächsischer Informatik-Asse in Leipzig: Mädchen holen ... - bildungsklick.de
Einst eine Domäne der Jungen nehmen am sächsischen Informatikwettbewerb immer mehr Mädchen erfolgreich teil. 20 Prozent von insgesamt 36 Preisträgern sind Schülerrinnen. Jennifer Richter aus der Klasse 9 der Albert-Schweitzer-Schule in Dresden gehört...
Erdkundekursus am KvG gewinnt Hauptpreis bei Geo-Informatik-Wettbewerb - Ahlener Zeitung
Die Schüler des Erdkunde/Informatik-Kurses des Mettinger KvG-Gymnasiums haben mit ihrer Internetpräsentation beim ESRI-Wettbewerb ein Sommercamp in Berchtesgaden gewonnen. Oliver Langemeyer -ola- Mettingen. Mit Wasser kennen sich die jungen Leute des...
prisma-informatik: Seminarkatalog 2/2009 für MS Dynamics NAV 2009 ... - Firmenpresse (Pressemitteilung)
Die prisma informatik GmbH hat jetzt ihren Seminarkalender für das zweite Halbjahr 2009 vorgestellt (www.prisma-informatik.de/downloads/Seminarkalender09-2.pdf). Die Seminare des Microsoft Gold-Partners vermitteln Profi-Wissen für Microsoft Dynamics...
Kooperationsvertrag unterschrieben - Informationsdienst Wissenschaft (Pressemitteilung)
Medizinisch orientierte Biotechnologie und Medizintechnik sowie Medizinische Informatik sind Schwerpunkte in Forschung und Entwicklung sowie Lehre. Die Hochschule ist - beispielsweise im Spitzencluster "Zellbasierte & Molekulare Medizin (biorn)" - eng...
EANS-PVR: P&I Personal & Informatik AG / Veröffentlichung gemäß ... - FOCUS Online
Mai 2009 die Schwelle von drei Prozent der Stimmrechte an der P&I Personal & Informatik AG, Kreuzberger Ring 56, 65205 Wiesbaden, Deutschland, unterschritten und hält nunmehr einen Stimmrechtsanteil von 1,37 Prozent (dies entspricht 106.010...
260.000 Euro Förderung – Neues Forschungsprojekt an der Fakultät ... - openPR.de (Pressemitteilung)
260.000 Euro Fördermittel des Bundes fließen ab Anfang Juni in ein neues Projekt der Fakultät Informatik an der Hochschule Augsburg. „‚Triokulus' - effiziente Bildverarbeitung für 3D-Trackingsysteme“ heißt das Vorhaben von Professor Gundolf Kiefer,...
ETH-Informatik-Studenten warnen vor E-Banking per WLAN - Klein Report
Weil die Gefahren des kabellosen Internet-Verkehrs (Wireless Local Area Networks, WLAN) stark unterschätzt würden, warnen zwei ETH-Studenten vom Departement für Informationstechnologie und Elektrotechnik (D-ITET) davor, den privaten Zahlungsverkehr...
Selbst Informatiker streiten sich beim Datenschutz für die ... - Computer Zeitung
von Armin Barnitzke Im Datenschutz-Streit um die Gesundheitskarte mischt sich nun auch die Gesellschaft für Informatik (GI) ein. Diese hält den IT-Einsatz im Gesundheitswesen zwar für unverzichtbar, fordert aber eine unabhängige Sicherheitsuntersuchung...

Informatik

Alan-Turing-Gedenkstatue im Sackville Park in Manchester

Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere der automatischen Verarbeitung mit Hilfe von Rechenanlagen. Historisch hat sich die Informatik als Wissenschaft aus der Mathematik entwickelt, während die Entwicklung der ersten Rechenanlagen ihre Ursprünge in der Elektrotechnik und Nachrichtentechnik hat. Dennoch stellen Computer nur ein Werkzeug und Medium der Informatik dar, um die theoretischen Konzepte praktisch umzusetzen. Der niederländische Informatiker Edsger Wybe Dijkstra formulierte „In der Informatik geht es genauso wenig um Computer wie in der Astronomie um Teleskope“ („Computer Science is no more about computers than astronomy is about telescopes“).

Die Bezeichnung „Informatik“ ist aus dem Wort Information abgeleitet, andere Quellen sehen es als Kofferwort aus Information und Mathematik oder Information und Automatik an. In Deutschland tauchte das Wort 1957 erstmals auf. Karl Steinbuch, damals Mitarbeiter der Standard Elektrik Gruppe, gebrauchte es in einer Veröffentlichung über eine Datenverarbeitungsanlage für das Versandhaus Quelle.

Nach einem internationalen Kolloquium in Dresden am 26. Februar 1968 setzte sich „Informatik“ als Bezeichnung für die Wissenschaft nach französischem und russischem Vorbild auch im deutschen Sprachraum durch. Im Wintersemester 1969/70 begann die Universität Karlsruhe als erste deutsche Hochschule mit der Ausbildung von Diplom-Informatikern. Wenige Jahre darauf gründeten sich die ersten Fakultäten für Informatik, nachdem bereits seit 1962 an der Purdue University ein Department of Computer Science bestand. Der in Kontinentaleuropa geprägte Begriff Informatik deckt unter anderem die Felder ab, die im Englischen computer science und information systems heißen. Im Englischen gibt es jedoch auch den seltener verwendeten Begriff informatics, der allgemeiner gefasst ist als computer science und eher dem russischen Информатика („Informatika“) entspricht.

Die Informatik hat in praktisch allen Bereichen des modernen Lebens Einzug gehalten. Offensichtlich wird dies durch den enormen Einfluss des Internets verstärkt. Die vielfältige, insbesondere weltweite, Vernetzung revolutionierte die Telekommunikation und die Informationsverarbeitung in den Unternehmen, die Logistik, die Medien aber auch praktisch alle privaten Haushalte. Weniger offensichtlich, aber allgegenwärtig ist die Informatik in Haushaltsgeräten wie Videorekordern oder Spülmaschinen, in denen eingebettete Systeme die mehr oder weniger intelligente Steuerung übernehmen.

Computer können große Datenmengen in kurzer Zeit verwalten, sichern, austauschen und verarbeiten. Um dieses zu ermöglichen, ist die Interaktion komplexer Hardware- und Softwaresysteme nötig, die auch das wesentliche Forschungsgebiet der Informatik darstellen. Als Beispiel mag die Wikipedia selbst dienen, in der 50.000 Anwender und Millionen von Besuchern täglich tausende Artikel suchen, lesen und bearbeiten.

Die Stärken von Computersystemen liegen darin, schematische Berechnungen auf großen Datenmengen mit hoher Geschwindigkeit und Genauigkeit ausführen zu können. Im Gegensatz dazu basieren viele scheinbar alltägliche Intelligenzleistungen des Menschen jedoch auf kognitiven Leistungen, die bis heute von Computern nur recht schlicht erbracht werden können. Als Beispiel sei hier das Erkennen von Gesichtern oder das Fällen von Entscheidungen bei unsicherer Wissensbasis genannt. Derartige Prozesse werden von der Künstlichen Intelligenz untersucht. In einzelnen Teildisziplinen konnten dabei bereits beachtliche Ergebnisse erzielt werden. Von einer umfassenden Nachahmung menschlicher Intelligenz kann dabei jedoch noch nicht gesprochen werden.

Als formale Grundlagenwissenschaft hat die Informatik, ähnlich wie die Mathematik, grundlegende Bedeutung für viele andere Wissenschaftsbereiche. Fasst man die Mathematik als Wissenschaft des „formal denkbaren“ auf, so konzentriert sich die Informatik auf das „formal realisierbare“, also was der maschinellen Verarbeitung zugänglich ist. Ihre Fragestellungen, zur Berechenbarkeit etc., reichen bis in die Philosophie hinein.

Die Informatik unterteilt sich selbst in die wesentlichen Teilgebiete der Theoretischen Informatik, der Praktischen Informatik und der Technischen Informatik. Neben diesen Hauptsäulen gibt es noch die Bereiche Didaktik der Informatik, Künstliche Intelligenz sowie Informatik und Gesellschaft, die als interdisziplinäre Disziplinen z. T. eigenständig sind.

Die Anwendungen der Informatik in den verschiedenen Bereichen des täglichen Lebens sowie in anderen Fachgebieten, wie beispielsweise der Wirtschaftsinformatik, Geoinformatik, Medizininformatik, werden unter dem Begriff der Angewandten Informatik geführt.

Im Wesentlichen kann dabei die Theoretische Informatik als Grundlage für die weiteren Teilgebiete betrachtet werden. Sie liefert fundamentale Erkenntnisse für die Entscheidbarkeit von Problemen, für die Einordnung ihrer Komplexität und für die Modellierung von Automaten und Formalen Sprachen.

Auf dieser Grundlage bauen die Praktische Informatik und die Technische Informatik auf. Sie beschäftigen sich mit zentralen Problemen der Informationsverarbeitung und bieten pragmatisch anwendbare Lösungen. Hierbei sind diese beiden Teilgebiete eng ineinander verzahnt und unterscheiden sich nur durch das Maß der Nähe zur Mikroelektronik. Aus Sicht der Informatik ist die Elektronik jedoch mehr ein Hilfsmittel und nicht Teil der Kernforschung in der Informatik. In der Praktischen Informatik versucht man weitgehend von der Elektronik unabhängige Lösungen zu erarbeiten.

Die Resultate finden schließlich Verwendung in der Angewandten Informatik. Diesem Bereich sind Hardware- und Software-Realisierungen zuzurechnen und damit ein Großteil des kommerziellen IT-Marktes. In den interdisziplinären Fächern wird darüber hinaus untersucht, wie die Informationstechnik Probleme in anderen Wissenschaftsgebieten lösen kann. Als Beispiel mag hier die Entwicklung von Geodatenbanken für die Geographie dienen, aber auch die Wirtschafts- oder Bioinformatik.

Die Theoretische Informatik beschäftigt sich mit der Theorie formaler Sprachen bzw. Automatentheorie, Berechenbarkeits- und Komplexitätstheorie, Graphentheorie, Kryptologie, Logik (u. a. Aussagenlogik und Prädikatenlogik), formaler Semantik und bietet Grundlagen für den Bau von Compilern von Programmiersprachen und die mathematische Formalisierung von Problemstellungen. Sie ist somit das formale Rückgrat der Informatik.

Automaten sind in der Informatik „gedachte Maschinen“, die sich nach bestimmten Regeln, dem Programm, verhalten. Ein endlicher Automat hat eine endliche Menge von inneren Zuständen. Er liest ein „Eingabewort“ zeichenweise ein und führt bei jedem Zeichen, gemäß seinem Programm einen Zustandsübergang durch. Zusätzlich kann er bei jedem Zustandsübergang ein „Ausgabesymbol“ ausgeben. Ein endlicher Automat hat eine Menge von Zuständen, darunter einen besonders gekennzeichneten Startzustand und eine Menge von gekennzeichneten (akzeptierenden) Endzuständen. Erreicht der Automat nach einer Folge von Zustandsübergängen einen Endzustand, so bedeutet dies, dass das gelesene Wort in der Sprache vorhanden ist, der Automat akzeptiert es also. Die Menge aller von einem Automaten akzeptierter Wörter bezeichnet man als die akzeptierte Sprache.

Um kompliziertere Sprachen akzeptieren zu können, sind andere Automatenmodelle notwendig, die insbesondere über einen Speicher verfügen müssen. Die Menge aller Wörter, die aus einer Folge von Buchstaben a gefolgt von einer gleichgroßen Anzahl von Buchstaben b bestehen, kurz anbn, kann durch einen Kellerautomaten akzeptiert werden, der einen Stapelspeicher zur Verfügung hat und sich somit merken kann, wie oft der Buchstabe a gelesen wurde und wie oft der Buchstabe b deshalb folgen muss.

Der Linguist Noam Chomsky ordnete die formalen Sprachen in eine Hierarchie ein, die zwischen regulären, kontextfreien, kontextsensitiven und rekursiv aufzählbaren Sprachen unterscheidet. Erstere werden mit endlichen Automaten, zweitere von Kellerautomaten, kontextsensitive von linear beschränkten Turingmaschinen und letztere von universellen Turingmaschinen erkannt.

Im Rahmen der Berechenbarkeitstheorie untersucht die theoretische Informatik, welche Probleme mit welchen Maschinen lösbar sind. Ein Rechnermodell oder eine Programmiersprache heißt turing-vollständig, wenn damit eine universelle Turingmaschine simuliert werden kann. Alle heute eingesetzten Computer und die meisten Programmiersprachen sind turing-vollständig, das heißt man kann damit dieselben Aufgaben lösen. Auch alternative Berechnungsmodelle wie der Lambda-Kalkül, WHILE-Programme, μ-rekursive Funktionen, Registermaschinen stellen sich als turing-vollständig heraus. Die Church’sche These schließt daraus, dass alle intuitiv berechenbaren Funktionen auch mit Turingmaschinen berechnet werden können, dass also die Turingmaschinen unseren alltäglichen Begriff der Berechenbarkeit adäquat wiedergeben. Diese These ist formal nicht beweisbar, wird jedoch allgemein akzeptiert.

Bei der Berechenbarkeit wird untersucht, welches Maschinenmodell zur Berechnung einer Funktion verwendet werden kann. So kann die Ackermannfunktion zum Beispiel nicht durch die Klasse der LOOP-Programme, aber durch die mächtigere Klasse der WHILE-Programme berechnet werden. Das Finden eines größten gemeinsamen Teilers zweier ganzer Zahlen ist LOOP-berechenbar. Den Begriff der Entscheidbarkeit kann man veranschaulichen als die Frage, ob ein bestimmtes Problem algorithmisch lösbar ist. Ein entscheidbares Problem ist zum Beispiel die Eigenschaft eines Texts, ein syntaktisch korrektes Programm zu sein. Ein nicht-entscheidbares Problem ist zum Beispiel die Frage, ob ein gegebenes Programm mit gegebenen Eingabeparametern jemals zu einem Ergebnis kommt, was als Halteproblem bezeichnet wird.

Die Komplexitätstheorie befasst sich mit dem Ressourcenbedarf von algorithmisch behandelbaren Problemen auf verschiedenen mathematisch definierten formalen Rechnermodellen, sowie der Güte der sie lösenden Algorithmen. Insbesondere werden die Ressourcen „Laufzeit“ und „Speicherplatz“ untersucht und ihr Bedarf wird üblicherweise in der Landau-Notation dargestellt. In erster Linie werden die Laufzeit und der Speicherplatzbedarf in Abhängigkeit von der Länge der Eingabe notiert. Algorithmen, die sich höchstens durch einen konstanten Faktor in ihrer Laufzeit bzw. ihrem Speicherbedarf unterscheiden, werden durch die Landau-Notation der gleichen Klasse, d.h. einer Menge von Problemen mit äquivalenter vom Algorithmus für die Lösung benötigter Laufzeit, zugeordnet.

Ein Algorithmus, dessen Laufzeit von der Eingabelänge unabhängig ist, arbeitet „in konstanter Zeit“, man schreibt O(1). Beispielsweise wird das Programm „gib das erste Element einer Liste zurück“ in konstanter Zeit arbeiten. Das Programm „prüfe, ob ein bestimmtes Element in einer unsortierten Liste enthalten ist“ braucht „lineare Zeit“, also O(n), denn die Eingabeliste muss schlimmstenfalls genau einmal komplett gelesen werden.

Die Komplexitätstheorie liefert bisher fast nur obere Schranken für den Ressourcenbedarf von Problemen, denn Methoden für exakte untere Schranken sind kaum entwickelt und nur von wenigen Problemen bekannt (so zum Beispiel für die Aufgabe, eine Liste von Werten mit Hilfe einer gegebenen Ordnungsrelation durch Vergleiche zu sortieren, die untere Schranke Ω(nlog(n))). Dennoch gibt es Methoden besonders schwierige Probleme als solche zu klassifizieren, wobei die Theorie der NP-Vollständigkeit eine zentrale Rolle spielt. Demnach ist ein Problem besonders schwierig, wenn man durch dessen Lösung auch automatisch die meisten anderen natürlichen Probleme lösen kann, ohne dafür wesentlich mehr Ressourcen zu verwenden.

Die größte offene Frage in der Komplexitätstheorie ist ohne Zweifel die Frage, ob P gleich NP ist. Das Problem ist eines der Millennium-Probleme, die vom Clay Mathematics Institute mit einer Million US Dollar ausgeschrieben sind. Die meisten Komplexitätstheoretiker glauben, dass P nicht gleich NP ist, was zur Folge hätte, dass NP-vollständige Probleme nicht effizient gelöst werden können. Ein NP-vollständiges Problem ist zum Beispiel das Finden von Beweisen: Wenn P=NP ist, so wird man in Zukunft vielleicht mit Computern Mathematik betreiben und Sätze beweisen können. Ist P aber ungleich NP, so bedeutet das informell ausgedrückt, dass echte Kreativität sehr viel schwerer ist als deterministisches Durchprobieren.

Die Praktische Informatik beschäftigt sich mit der Lösung von konkreten Problemen der Informatik und insbesondere der Entwicklung von Computerprogrammen in der Softwaretechnik. Sie liefert die grundlegenden Konzepte zur Lösung von Standardaufgaben, wie die Speicherung und Verwaltung der Informationen mittels Datenstrukturen. Einen wichtigen Stellenwert haben dabei die Algorithmen, die Musterlösungen für häufige oder schwierige Aufgaben bereitstellen. Beispiele dafür sind die Sortieralgorithmen und die schnelle Fourier-Transformation.

Eines der zentralen Themen der Informatik ist die Softwaretechnik, die ebenfalls in den Bereich der praktischen Informatik fällt. Sie beschäftigt sich mit der systematischen Erstellung von Software. Dabei werden die Ergebnisse aller anderen Bereiche, wie Algorithmen und Programmiersprachen, eingesetzt. Zusätzlich werden aber auch Konzepte und Lösungsvorschläge für große Softwareprojekte entwickelt, die einen wiederholbaren Prozess von der Idee bis zur fertigen Software erlauben sollen. Dabei ist die eigentliche Programmierarbeit, die so genannte Implementierung, nur noch ein kleiner Teil des Gesamtprozesses.

Die Praktische Informatik stellt insbesondere auch die Werkzeuge zur Softwareentwicklung bereit. So werden Compiler für die Programmiersprachen wie Visual Basic, Java, Delphi oder C++ entwickelt. Compiler sind selbst Computerprogramme, die eine Computersprache in eine andere übersetzen. Sie erlauben es also einem Programmierer in einer für Menschen leichter verständlichen Sprache zu arbeiten. Der Compiler übersetzt das Programm später in den Maschinencode, der sehr „natürlichen“ Sprache des Computers. Insbesondere auf diesem Gebiet hat die Zusammenarbeit zwischen Praktischer und Theoretischer Informatik zu bahnbrechenden Verbesserungen geführt. Nur durch die Grundlage der formalen Sprachen ist die effiziente Erstellung von modernen Computersprachen möglich. Übersetzer werden auch an vielen anderen Stellen in der Informatik verwendet. Zum Beispiel beim Übersetzen von HTML-Code in ein gut lesbares Dokument.

Neben diesen Grundlagen wendet sich die Praktische Informatik auch speziellen Lösungen für bestimmte Aufgaben zu. Hier sind insbesondere die Betriebssysteme und zunehmend die Datenbanktechnologie zu nennen. Sie verwalten die Betriebsmittel eines Computers und garantieren die zuverlässige Speicherung aller Informationen. Auf Grund der essentiellen Bedeutung dieser hochkomplexen Softwaresysteme, sind zahlreiche Algorithmen für den Einsatz in Betriebssystemen und Datenbanken entwickelt worden. Ein Beispiel hierfür ist der B-Baum, der in Datenbanken und Dateisystemen das schnelle Suchen in großen Datenbeständen erlaubt.

Die Technische Informatik befasst sich mit den hardwareseitigen Grundlagen der Informatik wie etwa der Mikroprozessortechnik, Rechnerarchitekturen und verteilten Systemen. Damit stellt sie ein Bindeglied zur Elektrotechnik dar.

Die Rechnerarchitektur ist die Wissenschaft, die Konzepte für den Bau von Computern erforscht. Hier wird das Zusammenspiel von Mikroprozessor, Arbeitsspeicher sowie Controller und Peripherie definiert und verbessert. Das Forschungsgebiet orientiert sich dabei sowohl an den Anforderungen der Software als auch an den Möglichkeiten, die sich über die Weiterentwicklung von Integrierten Schaltkreisen ergeben.

Ein weiteres wichtiges Gebiet ist die Rechnerkommunikation. Diese ermöglicht den elektronischen Datenaustausch zwischen Computern und stellt damit die technische Grundlage des Internets dar. Neben der Entwicklung von Routern, Switches oder einer Firewall, gehört auch die Entwicklung der Softwarekomponenten, die zum Betrieb dieser Geräte nötig ist, zur Rechnerkommunikation. Insbesondere gehört die Definition und Standardisierung der Netzwerkprotokolle, wie TCP, HTTP oder SOAP zur Rechnerkommunikation. Die Protokolle sind dabei die Sprachen, in denen Computer miteinander „reden“.

Während die Rechnerkommunikation die Kommunikation auf Protokollebene regelt, stellt die Wissenschaft der Verteilten Systeme, den Zusammenschluss von Computern im Großen dar. Hier regeln Prozesse die Zusammenarbeit von einzelnen Systemen in einem Verbund (Cluster). Schlagworte in diesem Zusammenhang sind beispielsweise Grid-Computing und Middleware.

Didaktik der Informatik stellt einen Bezug zwischen der Fachwissenschaft und der Lebenswelt her. Sie macht die von der Fachwissenschaft gewonnenen Erkenntnisse für die Schule, Hochschule und Unternehmen oder allgemein für Ausbildung, Weiterbildung und Fortbildung bzw. das lebenslange Lernen von Kindern und Erwachsenen verfügbar.

Die Wirtschaftsinformatik (englisch (business) information systems, auch management information systems) ist eine „Schnittstellen-Disziplin“ zwischen der Informatik und den Wirtschaftswissenschaften, besonders der Betriebswirtschaftslehre. Sie hat sich durch ihre Schnittstellen zu einer eigenständigen Wissenschaft entwickelt. Ein Schwerpunkt der Wirtschaftsinformatik liegt auf der Abbildung von Geschäftsprozessen und der Buchhaltung in relationalen Datenbanksystemen und ERP-Systemen wie SAP. Im Wesentlichen beschäftigt sich der Wirtschaftsinformatiker mit der Erstellung von Kommunikations- und Informationssystemen.

In der Computerlinguistik wird untersucht, wie natürliche Sprache mit dem Computer verarbeitet werden kann. Sie ist ein Teilbereich der Künstlichen Intelligenz, aber auch gleichzeitig Schnittstelle zwischen Angewandter Linguistik und Angewandter Informatik. Verwandt dazu ist auch der Begriff der Kognitionswissenschaft, die einen eigenen interdisziplinären Wissenschaftszweig darstellt, der u. a. Linguistik, Informatik, Philosophie, Psychologie und Neurologie verbindet. Anwendungsgebiete der Computerlinguistik sind die Spracherkennung und -synthese, automatische Übersetzung in andere Sprachen und Informationsextraktion aus Texten.

Die Bioinformatik (englisch bioinformatics, auch computational biology) befasst sich mit den informatischen Grundlagen und Anwendungen der Speicherung, Organisation und Analyse von biologischen Daten. Die ersten reinen Bioinformatikanwendungen wurden für die DNA-Sequenzanalyse entwickelt. Dabei geht es primär um das schnelle Auffinden von Mustern in langen DNA-Sequenzen und die Lösung des Problems, wie man zwei oder mehr ähnliche Sequenzen so übereinander legt und gegeneinander ausrichtet, dass man eine möglichst optimale Übereinstimmung erzielt (sequence alignment). Mit der Aufklärung und weitreichenden Funktionsanalyse verschiedener vollständiger Genome (z. B. des Fadenwurms Caenorhabditis elegans) verlagert sich der Schwerpunkt bioinformatischer Arbeit auf Fragestellungen der Proteomik, wie z. B. dem Problem der Proteinfaltung und Strukturvorhersage, also der Frage nach der Sekundär- oder Tertiärstruktur bei gegebener Aminosäuresequenz.

Die Chemoinformatik (engl. chemoinformatics, cheminformatics oder chemiinformatics) bezeichnet einen Wissenschaftszweig, der das Gebiet der Chemie mit Methoden der Informatik verbindet und umgekehrt. Sie beschäftigt sich mit der Suche im chemischen Raum welcher aus virtuellen (in silico) oder realen Molekülen besteht. Die Größe des chemischen Raumes wird auf etwa 1062 Moleküle geschätzt und ist weit größer als die Menge der bisher real synthetisierten Moleküle. Somit lassen sich unter Umständen Millionen von Molekülen mit Hilfe solcher Computer-Methoden in silico testen, ohne diese explizit mittels Methoden der Kombinatorischen Chemie oder Synthese im Labor erzeugen zu müssen.

Die Geoinformatik (englisch geoinformatics) ist die Lehre des Wesen und der Funktion der Geoinformation und ihrer Bereitstellung in Form von Geodaten und mit den darauf aufbauenden Anwendungen auseinander. Sie bildet die wissenschaftliche Grundlage für Geoinformationssysteme (GIS). Allen Anwendungen der Geoinformatik gemeinsam ist der Raumbezug und fallweise dessen Abbildung in kartesische räumliche oder planare Darstellungen.

Die Medieninformatik hat die Schnittstelle zwischen Mensch und Maschine als Schwerpunkt und befasst sich mit der Verbindung von Informatik, Psychologie, Arbeitswissenschaft, Medientechnik, Mediengestaltung und Didaktik.

Weitere Schnittstellen der Informatik zu anderen Disziplinen gibt es als Umweltinformatik, Computervisualistik, in der medizinischen Informatik und der Rechtsinformatik. Die Zusammenarbeit mit der Mathematik oder der Elektrotechnik wird aufgrund der Verwandtschaft nicht als interdisziplinär bezeichnet.

Die Künstliche Intelligenz (KI) ist ein großes Teilgebiet der Informatik mit starken Einflüssen aus Logik, Linguistik, Neurophysiologie und Kognitionspsychologie. Dabei unterscheidet sich die KI in der Methodik zum Teil erheblich von der klassischen Informatik. Statt eine vollständige Lösungsbeschreibung vorzugeben, wird in der Künstlichen Intelligenz die Lösungsfindung dem Computer selbst überlassen. Ihre Verfahren finden Anwendung in Expertensystemen, in der Sensorik und Robotik.

Im Verständnis des Begriffs „Künstliche Intelligenz“ spiegelt sich oft die aus der Aufklärung stammende Vorstellung vom Menschen als Maschine wider, dessen Nachahmung sich die so genannte „starke KI“ zum Ziel setzt: eine Intelligenz zu erschaffen, die wie der Mensch nachdenken und Probleme lösen kann und die sich durch eine Form von Bewusstsein beziehungsweise Selbstbewusstsein sowie Emotionen auszeichnet.

Die Umsetzung dieses Ansatzes erfolgte durch Expertensysteme, die im Wesentlichen die Erfassung, Verwaltung und Anwendung einer Vielzahl von Regeln zu einem bestimmten Gegenstand (daher „Experten“) leisten.

Im Gegensatz zur starken KI geht es der „schwachen KI“ darum, konkrete Anwendungsprobleme zu meistern. Insbesondere sind dabei solche Anwendungen von Interesse, zu deren Lösung nach allgemeinem Verständnis eine Form von „Intelligenz“ notwendig scheint. Letztlich geht es der schwachen KI somit um die Simulation intelligenten Verhaltens mit Mitteln der Mathematik und der Informatik; es geht ihr nicht um Schaffung von Bewusstsein oder um ein tieferes Verständnis der Intelligenz. Ein Beispiel aus der schwachen KI ist die Fuzzy-Logik.

Neuronale Netze gehören ebenfalls in diese Kategorie – seit Anfang der 80er Jahre analysiert man unter diesem Begriff die Informationsarchitektur des (menschlichen oder tierischen) Gehirns. Die Modellierung in Form künstlicher neuronaler Netze illustriert, wie aus einer sehr einfachen Grundstruktur eine komplexe Mustererkennung geleistet werden kann. Gleichzeitig wird deutlich, dass diese Art von Lernen nicht auf der Herleitung von logisch oder sprachlich formulierbaren Regeln beruht – und somit etwa auch die besonderen Fähigkeiten des menschlichen Gehirns innerhalb des Tierreichs nicht auf einen regel- oder sprachbasierten „Intelligenz“-Begriff reduzierbar sind. Die Auswirkungen dieser Einsichten auf die KI-Forschung, aber auch auf Lerntheorie, Didaktik und andere Gebiete werden noch diskutiert.

Während die starke KI an ihrer philosophischen Fragestellung bis heute scheiterte, sind auf der Seite der schwachen KI Fortschritte erzielt worden.

Die Wurzeln der Informatik liegen in der Mathematik, der Physik und der Elektrotechnik (hier vor allem der Nachrichtentechnik). Als Grundlagenwissenschaft beschäftigt sich die Informatik in Form der theoretischen Informatik mit der Untersuchung und Klassifizierung von Problemen bezüglich ihrer Berechenbarkeit. Als Ingenieurwissenschaft konzipiert die Informatik mathematische Maschinen, mit denen Daten übertragen, gespeichert und durch Algorithmen automatisch verarbeitet werden können. Damit ermöglicht die Informatik insbesondere die maschinelle Simulation realer Prozesse. Als „Hilfswissenschaft anderer Fachgebiete“ bildet die Informatik deren Gegenstände in abstrakte Strukturen ab und deren Prozesse in Algorithmen.

Als Überbegriff rund um die Informationsverarbeitung sowie die entsprechenden Berufe hat sich die Informationstechnik (IT) etabliert.

Als erste Vorläufer der Informatik jenseits der Mathematik, also als Vorläufer der angewandten Informatik, können die Bestrebungen angesehen werden, zwei Arten von Maschinen zu entwickeln: Solche, mit deren Hilfe mathematische Berechnungen ausgeführt oder vereinfacht werden können („Rechenmaschinen“), und solche, mit denen logische Schlüsse gezogen und Argumente überprüft werden können („Logische Maschinen“). Als einfache Rechengeräte leisten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruiert Blaise Pascal eine mechanische Rechenmaschine, die Additionen inklusive Überträgen durchführen kann. Nur wenig später stellt Gottfried Wilhelm Leibniz eine Rechenmaschine vor, die alle vier Grundrechenarten beherrscht. Diese Maschinen basieren auf ineinandergreifenden Zahnrädern. Einen Schritt in Richtung größerer Flexibilität geht ab 1838 Charles Babbage, der eine Steuerung der Rechenoperationen mittels Lochkarten anstrebt. Erst Herman Hollerith ist aufgrund der technischen Fortschritte ab 1886 in der Lage, diese Idee gewinnbringend umzusetzen. Seine auf Lochkarten basierenden Zählmaschinen kommen unter anderem bei der Auswertung einer Volkszählung in den USA zum Einsatz.

Die Geschichte der logischen Maschinen wird oft bis ins 13. Jahrhundert zurückverfolgt und auf Ramon Llull zurückgeführt. Auch wenn seine rechenscheibenähnlichen Konstruktionen, bei denen mehrere gegeneinander drehbare Scheiben unterschiedliche Begriffskombinationen darstellen konnten, mechanisch noch nicht sehr komplex waren, war er wohl derjenige, der die Idee einer logischen Maschine bekannt gemacht hat. Von diesem sehr frühen Vorläufer abgesehen verläuft die Geschichte logischer Maschinen eher sogar zeitversetzt zu jener der Rechenmaschinen: Auf 1777 datiert ein rechenschieberähnliches Gerät des dritten Earl Stanhope, dem zugeschrieben wird, die Gültigkeit von Syllogismen (im aristotelischen Sinn) zu prüfen. Eine richtige „Maschine“ ist erstmals in der Gestalt des „Logischen Pianos“ von Jevons für das späte 19. Jahrhundert überliefert. Nur wenig später wird die Mechanik durch elektromechanische und elektrische Schaltungen abgelöst. Ihren Höhepunkt erleben die logischen Maschinen in den 1940er und 1950er Jahren, zum Beispiel mit den Maschinen des englischen Herstellers Ferranti. Mit der Entwicklung universeller digitaler Computer nimmt – im Gegensatz zu den Rechenmaschinen – die Geschichte selbstständiger logischen Maschinen ein jähes Ende, indem die von ihnen bearbeiteten und gelösten Aufgaben zunehmend in Software auf genau jenen Computern realisiert werden, zu deren hardwaremäßigen Vorläufern sie zu zählen sind.

Eine der ersten größeren Rechenmaschinen ist die von Konrad Zuse erstellte, noch immer rein mechanisch arbeitende Z1 von 1937. Vier Jahre später realisiert Zuse seine Idee mittels elektrischer Relais: Die Z3 von 1941 verfügt als erster Computer bereits über eine Trennung von Befehls- und Datenspeicher und ein Ein-/Ausgabepult. Etwas später werden in England die Bemühungen zum Bau von Rechenmaschinen zum Knacken von deutschen Geheimbotschaften unter maßgeblicher Leitung von Alan Turing mit großem Erfolg vorangetrieben. Parallel entwickelte Howard Aiken mit Mark I (1944) den ersten Computer der USA, wo die weitere Entwicklung maßgeblich vorangetrieben wurde. Einer der Hauptakteure ist hier John von Neumann, nach dem die bis heute bedeutende Von-Neumann-Architektur benannt ist. 1946 erfolgt die Entwicklung des Röhrenrechners ENIAC, 1949 wird der EDSAC gebaut. Ab 1948 steigt IBM in die Entwicklung von Computern ein und steigt innerhalb von zehn Jahren zum Marktführer auf. Mit der Entwicklung der Transistortechnik und der Mikroprozessortechnik werden Computer von dieser Zeit an immer leistungsfähiger und preisgünstiger. Im Jahre 1982 öffnet die Firma Commodore schließlich mit dem C64 den Massenmarkt speziell für Heimanwender aber auch weit darüber hinaus.

Bereits Leibniz hatte sich mit binären Zahlendarstellungen beschäftigt. Gemeinsam mit der Booleschen Algebra, die zuerst 1847 von George Boole ausgearbeitet wurde, bilden sie die wichtigsten mathematischen Grundlagen späterer Rechensysteme. 1936 veröffentlicht Alan Turing seine epochemachende Arbeit On Computable Numbers with an application to the Entscheidungsproblem, in welcher die nach ihm benannte Turingmaschine vorgestellt wird, ein mathematisches Maschinenmodell, das bis heute für die Theoretische Informatik von größter Bedeutung ist. Bereits einige Jahre zuvor hatte Kurt Gödel das Entscheidungsproblem gemäß dem Hilbertprogramm negativ beantwortet, und dieses Ergebnis bestätigte Turing nun unter Verwendung seines Maschinenmodells. Dem Begriff der Berechenbarkeit liegen bis heute universelle Modelle wie die Turing- oder Registermaschine zu Grunde, und auch die Komplexitätstheorie, die sich ab den 1960er Jahren zu entwickeln begann, greift bis in die Gegenwart auf Varianten dieser Modelle zurück.

1956 beschreibt Noam Chomsky eine Hierarchie formaler Grammatiken, mit denen formale Sprachen und jeweils spezielle Maschinenmodelle korrespondieren. Diese Formalisierungen erlangen für die Entwicklung höherer Programmiersprachen große Bedeutung. Wichtige Meilensteine sind die Entwicklung von FORTRAN (erste höhere Programmiersprache, 1957), LISP (funktional, 1959), COBOL (Programmiersprache für kaufmännische Anwendungen, 1959), ALGOL (strukturiert/imperativ; 1960/1968), Smalltalk (objektorientiert, 1971), Prolog (logisch, 1972) und SQL (Relationale Datenbanken, 1976). Einige dieser Sprachen stehen für typische Programmierparadigmen ihrer jeweiligen Zeit. Weitere über lange Zeit in der Praxis eingesetzte Programmiersprachen sind BASIC (seit 1960), C (seit 1970), Pascal (seit 1971), C++ (objektorientiert, generisch, um 1990), Java (objektorientiert, seit 1995) und C# (objektorientiert, um 2000). Sprachen und Paradigmenwechsel wurden von der Informatik-Forschung intensiv begleitet oder vorangetrieben.

Indessen schreibt nahezu jeder wichtige Teilbereich der Informatik seine eigene Geschichte, die im Einzelnen zu verfolgen den Rahmen dieses Abschnitts sprengen würde. Wie in anderen Wissenschaften auch, schreitet die Informatik mit zunehmender Nähe zur Gegenwart in Richtung einer immer größeren Spezialisierung fort.

Mit der zunehmenden Verbreitung des Computers entstehen auch gesellschaftliche Probleme, die in der Öffentlichkeit oft kontrovers und sehr emotional diskutiert werden. 2006 war in Deutschland Jahr der Informatik. Ziel des Informatikjahres war es, das Bewusstsein für die zahlreichen Möglichkeiten der Informatik zu schärfen und die Bedeutung der Informatik als Faktor für die wirtschaftliche Entwicklung Deutschlands zu veranschaulichen. Mit den Themen Mobilität, Sicherheit, Gesundheit, Wohnen, Sport, Kommunikation, Kultur und Entertainment sollte beispielhaft gezeigt werden, wo und wie sehr die Informatik im Alltag präsent ist.

Eines dieser Themen ist der Schutz der Privatsphäre des Computerbenutzers, der Datenschutz. Durch die Vernetzung ist es nicht nur Benutzern möglich, schnell beliebige Informationen im Internet abzufragen. Umgekehrt wird auch das Ausspähen von persönlichen Informationen durch Behörden, Unternehmen und Kriminellen ermöglicht. Ziel ist es zum einen Verhaltensweisen von Kunden bei Onlinekäufen zu sammeln, aber auch den persönlichen E-Mail-Verkehr abzuhören, wie es amerikanische Geheimdienste tun, oder Zugangsdaten zu Banken und Kreditkarten zu stehlen.

Hier hat ein gegenseitiges Aufrüsten stattgefunden, auf der Anwenderseite werden persönliche Daten über Verschlüsselung gegen unbefugten Zugriff gesichert, während auf der anderen Seite mittels Cookies, Spyware oder Phishing versucht wird, die Schutzmechanismen auszuhebeln.

Unternehmen suchen gezielt über Datenschürfung (data mining) nach typischen Verhaltensweisen von Kunden. Die so gewonnenen Informationen werden dann auf das individuelle Profil einzelner Kunden angewandt. Dies dient entweder zum Anbieten von mehr oder weniger „maßgeschneiderter Werbung“ (Spam), aber auch zum Selektieren von geeigneten und weniger geeigneten Kunden. Beim Abschluss einer Versicherung versuchen Unternehmen mittlerweile gezielt Kunden mit geringem Risiko durch bessere Konditionen an sich zu binden. Kunden aus Risikogruppen erhalten schlechtere Konditionen oder werden ausgeschlossen.

Ein besonderes Interesse am Zugriff zu persönlichen Daten haben Strafverfolgungsbehörden bei der Bekämpfung von Terrorismus und organisierter Kriminalität. So beschäftigt das Federal Bureau of Investigation (FBI) und die National Security Agency (NSA) Spezialisten zum systematischen Auswerten des Datenverkehrs im Internet. Hier wird eine spezielle Software (Carnivore) eingesetzt, um E-Mails nach bestimmten Stichworten zu durchsuchen. Durch den Einsatz der so genannten „starken Kryptographie“, wie sie das Tool PGP Privatpersonen zur Verfügung stellt, ist jedoch der Wert dieser Software in Frage gestellt. Derartig verschlüsselte E-Mails sind auch von den Experten der NSA nicht mehr zu entschlüsseln. Aus diesem Grunde gibt es Bestrebungen, derartige Verschlüsselungsverfahren zu verbieten. Ein Verbot wäre jedoch kaum wirksam, da eine geschickt verschlüsselte Botschaft mittels Steganographie nicht als solche zu erkennen ist. Das heißt, dass ein solches Verbot den Einsatz starker Kryptographie durch Kriminelle nicht verhindern kann. Betroffen von einem solchen Verbot wären also lediglich rechtschaffene Bürger, die sich selbst gegen kriminelles Ausspähen schützen wollen.

Ein Softwarepatent ist ein Patent auf eine Methode zur Programmierung oder ein Verfahren zur Verwendung eines Computers. Eine allgemein akzeptierte genaue Definition des Begriffs hat sich bisher noch nicht etabliert. Befürworter von Softwarepatenten sind etwa Unternehmen, die ihre Produkte gegen Nachahmung schützen wollen. Sie argumentieren, der Sinn von Softwarepatenten sei (wie bei „normalen“ Patenten auch), die Entwicklungskosten der Produkte in einer kurzen „Monopolphase“ wieder hereinzuholen. Gegner führen an, Algorithmen und Softwaretechnologien seien – anders als technische Erfindungen – ähnlich wie mathematische Erkenntnisse als Wissen einzuordnen und deshalb prinzipiell nicht schützbar. Außerdem seien die Produktzyklen im Computerbereich ungleich kürzer als in anderen Branchen, deswegen bedeute ein Softwarepatent einen unfair langen Stillstand des Wettbewerbes und werde vorwiegend zur Monopolisierung von Märkten verwendet.

Seit Beginn des Computerzeitalters gibt es Organisationen und Vereinigungen, die sich für Datenschutz, Informationsfreiheit und freie Software einsetzen. Am bekanntesten sind das GNU-Projekt und die Free Software Foundation, die von Richard Stallman ins Leben gerufen wurden. Stallman entwickelte Lizenzen für freie Software und freie Dokumentation, unter welchen viele Projekte, wie auch die Wikipedia, entwickelt werden. In Deutschland genießt vor allem der Chaos Computer Club hohe Bekanntheit.

Die Gesellschaft für Informatik (GI) ist die größte Fachvertretung im deutschsprachigen Raum. International bedeutend sind vor allem die beiden großen amerikanischen Vereinigungen Association for Computing Machinery (ACM) und das Institute of Electrical and Electronics Engineers (IEEE).

Es gibt Kritiker, darunter Informatiker wie Joseph Weizenbaum, die zu einem sorgsameren Umgang mit moderner Technik und dem Computer mahnen. Weizenbaum schrieb in den 1960ern das Computerprogramm ELIZA, mit dem er die Verarbeitung natürlicher Sprache durch einen Computer demonstrieren wollte; ELIZA wurde als Meilenstein der „künstlichen Intelligenz“ gefeiert und sollte menschliche Psychologen bald ablösen. Weizenbaum war entsetzt über die Wirkung seines relativ einfachen Programms, das nie zum Ersetzen eines Therapeuten konzipiert gewesen war, und wurde durch dieses Schlüsselerlebnis zum Computer- und Medienkritiker.

Die weite Verwendung von Computern führt in der heutigen Zeit zu einer breiten öffentlichen wie wissenschaftlichen Diskussion über die Wirkungen auf die Sozialisation und das Lernverhalten, insbesondere von Kindern und Jugendlichen. Es herrscht weitgehender Konsens, dass es Effekte gibt, allerdings sind Untersuchungen methodisch schwierig oder kommen zu widersprüchlichen Ergebnissen.

Zum Seitenanfang



Leistung (Informatik)

Das Wort Leistung (engl. performance /pə'fɔ:məns/) wird in der Informatik verwendet, um das Vermögen eines Datenverarbeitungssystems zu beschreiben, Aufgaben allgemein (Funktionalität) oder auf bestimmte Weise (schnell, gleichzeitig, ununterbrochen usw.) auszuführen.

Leistung kennzeichnet die Menge der von einem Datenverarbeitungs(DV)-System ausführbaren Tätigkeiten, ähnlich zum Beispiel dem Leistungskatalog eines Dienstleistungsunternehmens. Ein DV-System gilt in diesem Zusammenhang als sehr leistungsfähig wenn es einer großen Anzahl komplexer Funktionen fähig ist; es gilt als weniger leistungsfähig wenn es über einen nur kleinen Funktionsumfang verfügt.

Eine zweite Bedeutung von Leistung bezieht sich auf den Aspekt, wie beständig das DV-System seine Funktionen bereitstellt, etwa wie lange es im Mittel ohne Unterbrechung (Störung) arbeitet und wie verlässlich seine Ergebnisse - beispielsweise Rechenergebnisse, Ergebnisse einer Datenbank-Recherche – inhaltlich richtig sind. Dies sind Zuverlässigkeitseigenschaften.

Schließlich wird unter Leistung verstanden, wie schnell ein DV-System arbeitet. Zum Beispiel bedeutet „wie schnell“ die Frage, wie lange das DV-System zur Erledigung eines Bearbeitungsauftrages braucht. Ein solcher Auftrag kann etwa die Online-Reaktion auf einen Mausklick sein oder aber auch die Abwicklung eines großen Hintergrundauftrages. Dies ist die Auftragserledigungszeit. „Wie schnell“ kann aber auch die Frage sein, wie viele Aufträge das DV-System pro Zeiteinheit erledigen kann. Dies ist der Auftragsdurchsatz. Die Bedeutung von Leistung im Sinne von „wie schnell“ ist in der Informatik die am meisten verwendete und wird durch die Bezeichnung DV-Leistung (engl. computer performance) präzisiert. Eine Kennzahl hierfür ist die so genannte Response ratio.

Messung ist die experimentelle Bestimmung von DV-Leistungswerten mit dem real aufgebauten DV-System. Hierbei ist zu unterscheiden, ob der dem System zugeführte Auftragsstrom von realen Benutzern erzeugt wird (reale Last) oder durch einen Benutzersimulator (simulative Last).

Dies ist eine Vorgehensweise, bei der die Zahlenwerte von DV-Leistungsgrößen mittels mathematisch-analytischer Verfahren oder mittels Simulationsverfahren bestimmt werden. Bei den analytischen Verfahren werden das DV-System und seine Benutzer durch ein mathematisches Modell dargestellt und die DV-Leistungswerte rein rechnerisch ermittelt. Bei den Simulationsverfahren werden sowohl das DV-System wie auch seine Benutzer simuliert und aus diesem simulierten Geschehen die Zahlenwerte der DV-Leistungsgrößen bestimmt. Sowohl bei den analytischen Verfahren wie auch bei den Simulationsverfahren sind die Ergebnisse im Allgemeinen nur Näherungs- bzw. Schätzwerte. Sie haben im Gegensatz zu Werten aus Messungen mit einem realen DV-System den Charakter einer Vorhersage bzw. Vorausberechnung (engl. prediction methods).

Leistungswerte (egal ob mittels Messung oder mittels Vorhersagemethoden ermittelt) sind Zahlenwerte physikalischer Größen, die zwar wichtig und interessant sind, die aber für sich allein gesehen noch keine Aussage zu der wichtigen Frage machen, ob das DV-System die (Leistungs-)Bedürfnisse seiner Benutzerschaft erfüllt. Diese Bedürfnisse müssen also zahlenmäßig definiert werden.

Sodann muss ein Vergleich dieser (geforderten) Werte mit den vom DV-System erbrachten Leistungswerten durchgeführt werden. Das Ergebnis dieses Vergleichs ist die Aussage, ob das DV-System ausreichend ist um die Benutzerbedürfnisse zu befriedigen oder nicht. Dies ist die Bewertung. Damit kommt man zu dem von den Benutzern letztendlich benötigten Ergebnis „nicht ausreichend“, „ausreichend“, „übererfüllt“ usw. Die Skala einer solchen Endaussage könnte auch detaillierter gewählt werden.

Gegenstand der meisten Leistungsbetrachtungen sind DV-Systeme wie etwa ein single-user-System (PC früherer Bauart), multiuser-System (Rechner oder Server mit multi-user/multi-tasking-Betriebssystem), kleinere Rechnerverbundsysteme (mehrere im Verbund arbeitende Rechner), client-server-Systeme oder auch große Rechnernetze (z. B. ein local area network, LAN). Die Benutzerschaft besteht aus den „vielen Standard-Anwendern“ sowie weiteren (meist nur gelegentlich aktiven) Benutzern wie Administratoren, Systemverwaltern usw. Die DV-Leistung eines solchen Systems beschreibt man mit Leistungsgrößen wie Antwortzeitverteilung, mittlere Antwortzeit, Durchsatzrate u. Ä.. Zweckmäßigerweise detailliert man diese Größen noch nach den verschiedenen Auftragsarten die in dem von der gesamten Benutzerschaft erzeugten Auftragsstrom vorkommen. Der (egal ob durch Messung bestimmte oder auch mittels einer prediction-Methode vorhergesagte) Wertesatz einer solchen Menge von DV-Leistungsgrößen ist dann die DV-Leistung des Systems, System-Leistung genannt.

Gegenstand von Leistungsbetrachtungen muss nicht ausschließlich ein ganzes DV-System sein. Vielmehr kann die Leistung von auch nur einer Komponente von Interesse sein, z. B. die des Prozessors, des Hauptspeichers, des Plattenspeichers, des Datenleitungsnetzwerks eines LANs oder die eines Servers im LAN. Die Benutzerschaft einer solchen Komponente ist dann die sie umgebende Geräteschaft, z. B. die maschinenbefehlserzeugende Umgebung des Prozessors, die speicherzugriffserzeugende Umgebung eines RAID-Plattensystems oder die für das Leitungsnetzwerk Datentransportaufträge erzeugende Menge von Knoten in einem Rechnernetz. Die DV-Leistung von Komponenten beschreibt man dann – ebenso wie bei Systemleistungsbetrachtungen – mit Leistungsgrößen wie Verteilung der Auftragserledigungszeit, Durchsatzraten von Aufträgen, mittlere Antwortzeit usw. Gegebenenfalls werden solche Größen noch nach Auftragsarten differenziert. Der Satz einer solchen Menge von Leistungsgrößen ist dann die DV-Leistung der betrachteten Komponente. Zur Beurteilung ob die Komponente eine zufriedenstellende Leistung hat, ist – wie bei der Systemleistung – eine Bewertung vorzunehmen die die ermittelten Leistungswerte den von Benutzerschaft (also der maschinellen Umgebung der Komponente) geforderten Werten der gewählten Leistungsgrößen gegenüberstellt.

Es wurde immer wieder der Versuch unternommen aus den Leistungswerten der Komponenten eines DV-Systems seine Systemleistung zu berechnen. Die Erfahrung zeigt, dass die Zusammenhänge im Allgemeinen so komplex sind, dass dies nicht gelingt. Verlässliche Systemleistungswerte erhält man nur aus Messungen oder (mit Einschränkungen) aus prediction methods.

Bei einer Ermittlung von DV-Leistungswerten (sowohl im Falle einer Messung wie auch beim Einsatz von analytischen Verfahren oder von Simulationsverfahren) steht einem betrachteten DV-System eine betrachtete Benutzerschaft gegenüber. Die ermittelten Leistungswerte gelten für die aktuelle Paarung Messobjekt-Benutzerschaft. Dies ist die aktuelle DV-Leistung. Sie ändert sich wenn man die Benutzerschaft ändert. Sie ist also keine feststehende Leistungsaussage über das Messobjekt. Um einen Vergleich mit dem Auto zu wagen, könnte man sagen, dass die aktuelle DV-Leistung der vom Motor in einer definierten Fahrsituation abgegebenen mechanischen Leistung entspricht.

Sehr oft wird aber gewünscht, den maximal möglichen Leistungswert des Messobjektes zu erfahren. Um den obigen Vergleich nochmals zu wagen, könnte man sagen, dass diese maximale DV-Leistung der dem Motor möglichen maximalen mechanischen Leistung, welche in den Fahrzeugpapieren eingetragen ist, entspricht. Dass ein solcher Maximalwert der DV-Leistung existiert, ist meist nicht sichergestellt. Die naive Vorstellung ist, den Laststrom schrittweise zu steigern „bis eine gewisse Grenze erreicht ist“. Aber wie ist diese Grenze definierbar? Es könnte z. B. je ein Maximalwert der mittleren Antwortzeit für bestimmte Auftragsarten festgelegt werden und gleichzeitig ein Mindestwert für den Durchsatz. Aber ob diese Werte für alle möglichen Benutzerschaften des Messobjektes gültig/sinnvoll sind, ist die Frage. Zu definieren, was die Maximalleistung des betrachteten Messobjektes ist, gelingt im Allgemeinen nur mit großen Einschränkungen. Man muss sich also im Klaren darüber sein, dass die so oft gewünschte Angabe einer Maximalleistung wegen grundsätzlicher Probleme nicht oder nur sehr eingeschränkt möglich ist. Der mathematische Hintergrund für dieses Problem ist, dass die DV-Leistung kein Skalar, sondern ein Werte-Tupel ist. Für ein solches existiert – im Gegensatz zum Skalar – im Prinzip kein Maximalwert.

Den Messversuch zur Bestimmung von DV-Leistungswerten eines betrachteten DV-Systems nennt man Benchmark oder auch Lasttest. Ein Benchmark hat als erstes die gewünschten Leistungsgrößen zu definieren, dann die Benutzerschaft und schließlich die von dieser verlangten funktionalen Fähigkeiten des Messobjektes „DV-System“. In weiterer Detaillierung beschreibt der Benchmark das Mengengerüst des von den Benutzern erzeugten Laststromes, die von der System- und Anwendungssoftware des DV-Systems zu erbringenden Funktionen, die zur Datenspeicherung benötigten Kapazitäten usw. Weiterhin hat der Benchmark die von der Benutzerschaft verlangten DV-Leistungswerte (Benutzerbedürfnissse) anzugeben und festzulegen wie die Leistungsbewertung zu erfolgen hat.

Der Benchmark muss eine Messsoftware zur Verfügung stellen, die das Auftragsgeschehen genau protokolliert und nach Beendigung des Versuchs die Auswertung (Ermittlung der DV-Leistungsgrößen) vornimmt. Er kann so gestaltet sein, dass reale Benutzer den Laststrom erzeugen (reale Last). Der Benchmark kann aber auch so vorgehen, dass der Laststrom durch einen Simulator, welcher die gesamte Benutzerschaft detailliert simuliert, erzeugt wird (simulative Last). In diesem Falle muss der Benchmark (zusätzlich) den Benutzersimulator zur Verfügung stellen. Von dessen Qualitäten hängt es ab, ob der erzeugte Laststrom den Vorgaben entspricht. Es muss für jeden einzelnen Messversuch eine Kontrolle stattfinden, ob dies der Fall war. Wenn nein, dann ist das Benchmarkergebnis wertlos.

Im Laufe der Zeit ist eine enorme Menge von (Computer-) Benchmarks entwickelt und beschrieben worden, sowohl auf der wissenschaftlichen Ebene, wie auch von der Industrie und der Wirtschaft. Diese Benchmarks haben fast alle unterschiedliche Prinzipien und DV-Leistungsgrößen, sodass Messergebnisse im Allgemeinen nicht vergleichbar sind. Viele dieser Benchmarks hatten eine nur kurze Aktualität und sind wieder verschwunden. Viele weitere sind zwar noch bekannt, sind aber nur lückenhaft dokumentiert, sodass sie nicht mehr eingesetzt werden können. Viele Benchmarks unterliegen Lizenzbestimmungen und sind also kostenpflichtig. Nur wenige Benchmarks sind im Sinne von „open source“ frei verfügbar und ausreichend dokumentiert.

In sich vollständige Vorschläge zur Benchmark-Methodik und zu DV-Leistungsgrößen machen die Normen DIN 66273 und ISO 14756. Die ISO-Norm hat die Prinzipien von DIN 66273 übernommen und erweitert. Messungen, die nach DIN 66273 durchgeführt worden sind, sind auch konform zu ISO 14756. Die ISO-Norm erweitert das Anwendungsfeld über die Messung und Bewertung der DV-Leistung hinaus auf die Messung der (Laufzeit-) Effizienz von System- und/oder Anwendungssoftware. Die DIN-Norm normt die Benchmark-Methodik, verzichtet wegen der Kurzlebigkeit von Benchmarks aber darauf, konkrete Benchmarks zu definieren. Die ISO-Norm enthält darüber hinaus jedoch noch Beispiele vollständiger Benchmarks.

Zum Seitenanfang



Angewandte Informatik

Die Angewandte Informatik ist das Teilgebiet der Informatik, welches Kenntnisse aus der Informatik anwendet, um Rechenanlagen, Software-Produkte und Verfahren für andere Wissenschaften oder Anwendungsgebiete herzustellen. Dies betrifft sowohl klassische Wissenschaften wie Physik, Chemie, Elektrotechnik und Medizin, als auch moderne interdisziplinäre Wissenschaften wie Wirtschaftsinformatik, Medieninformatik, Geoinformatik, Humanities Computing, Umweltinformatik oder Medizinische Informatik und deren Teilgebiete wie z. B. E-Commerce oder Computertomographie. Der Begriff Angewandte Informatik wird oft als Oberbegriff für alle interdisziplinären Wissenschaften mit Informatikanteil verwendet.

Die Angewandte Informatik setzt Kenntnisse der Theoretischen Informatik, Technischen Informatik und Praktischen Informatik voraus. Eine Unterscheidung ist für den Bereich der Programmiersprachen notwendig. Die Angewandte Informatik untersucht die Eignung der Programmiersprachen und entwickelt Beschreibungs- und Auszeichnungssprachen für einen bestimmten Anwendungsfall oder ein abgegrenztes Einsatzgebiet. Im Unterschied dazu beschäftigt sich die Praktische Informatik mit Programmierparadigmen und Compilerbau und die Theoretische Informatik mit deren mathematischen Grundlagen.

Die Erzeugung von Bildern aus gespeicherten Beschreibungen oder aus Eingabekommandos des Benutzers mit dem Computer wird als Computergrafik verstanden. Zwei weitere Bereiche, die digitale Signal- und Bildverarbeitung, die unvollkommene Bilder durch Beseitigung von Unreinheiten, Kontrastverstärkung und Färbung verbessert und die Mustererkennung, welche Bilder, die nur aus einer strukturlosen Folge von Punkten vorliegen, daraufhin analysiert was sie darstellen, werden im Allgemeinen nicht zur Computergrafik gezählt. Diese drei Bereiche werden unter dem Begriff grafische Datenverarbeitung zusammengefasst.

In vielen technischen Computeranwendungen werden Computermodelle des zu untersuchenden Gegenstandes oder Prozesses aufgebaut und anschließend anstatt der Wirklichkeit untersucht. Dieses Verfahren wird als Simulation bezeichnet. Die Problematik bei den Modellen besteht darin, dass Modelle Abstraktionen sind, da sie unwichtige Teile der wirklichen Einrichtung weglassen. An ihnen lassen sich nur bestimmte Eigenschaften der wirklichen Einrichtung studieren. Das kann dazu führen, dass die Modelle fehlerhaft sind, wenn in der Wirklichkeit Ereignisse auftreten, die im Modell nicht berücksichtigt wurden.

Die Erfassung und Aktualisierung von großen Datenmengen wird unter dem Begriff Datenverarbeitung verstanden. In diesem Anwendungsbereich wird der Computer hauptsächlich dazu gebraucht, Eingabedaten zu verarbeiten und Ausgabedaten zu erzeugen. Die Hauptprobleme in der Datenverarbeitung liegen bei der Organisation und dem Umfang der zu verwaltenden Datenmengen. Die Strukturierung großer Datenmengen, in die neue Daten hinzugefügt werden können ohne die Struktur zu zerstören, und das Finden von vorhandenen Daten stehen im Mittelpunkt, außerdem ist die Ein- und Ausgabe von vorrangiger Bedeutung.

Zum Seitenanfang



Prozess (Informatik)

Der Prozess in der Informatik ist ein ablaufendes Programm.

Zum Ablauf ist das Speicherabbild des ausführbaren Programms (Code), Speicher für die Daten, weitere vom Betriebssystem bereitgestellte Betriebsmittel (Ressourcen) und ein Prozessor notwendig. Ein Prozess nutzt diese Ressourcen exklusiv. Notwendige Betriebsmittel zusammen mit Verwaltungsinformationen definieren den Prozesskontext.

Aus der Definition folgt: Es kann mehrere Prozesse zu einem Programm geben, die je nach Anwendung auch gleichzeitig oder nebenläufig ablaufen. Im einfachen Fall werden mehrere Prozesse von einem Prozessor abgearbeitet, allgemein werden mehreren Prozessoren mehrere Prozesse zugeordnet. Die Verwendung mehrerer Prozessoren muss von der verwendeten Hard- und Software inklusive Betriebssystem unterstützt sein.

Ein Prozessor kann immer nur einen Prozess gleichzeitig verarbeiten. Bei den ersten Computern wurden daher Programme immer nacheinander als ganzes verarbeitet, es konnte immer nur ein Programm zur gleichen Zeit (exklusiv) ablaufen. Auch Benutzer konnten einen Computer nicht gleichzeitig verwenden. Daher wurde die Möglichkeit geschaffen, Prozesse nur teilweise auszuführen, zu unterbrechen, und später wieder aufzusetzen und fortzuführen, was im Prozessmodell beschrieben wird.

Ein Betriebssystem benutzt eine bestimmte Strategie um Zeitabschnitte des Prozessors den Prozessen zuzuordnen, die ablaufen wollen. Dabei ändert das Betriebssystem eigenständig den Zustand eines jeden Prozesse zwischen WARTEND und LAUFEND hin und her, bis alle abgearbeitet ist; pro Zeiteinheit ist immer nur ein Prozess im Zustand LAUFEND.

Andere Prozesse können ebenfalls einen Prozess unterbrechen. Er ist dann im Zustand UNTERBROCHEN und wird vom Betriebssystem auch nicht mehr zeitweise in den Zustand LAUFEND versetzt. Erst wenn ein anderer Prozess den Prozess wieder aufsetzt und in den Zustand WARTEND bringt, ist das wieder der Fall.

Betriebssysteme benutzen unterschiedliche Strategien, ihren Prozessen Zeitabschnitte eines Prozessors zuzuordnen, siehe Scheduling und Dispatcher. Weit verbreitet ist das Zeitscheibenverfahren fester Länge verbunden mit einer priorisierten Warteschlange (Vorrangwarteschlange) als Ringpuffer (Round-Robin).

Threads (auch „leichtgewichtige Prozesse“ genannt) haben zwar eigene Stapelspeicher, besitzen jedoch im Gegensatz zu Prozessen keine eigenen Betriebsmittel wie Speicher oder geöffnete Dateien. Sie laufen als Teil eines Prozesses und verwenden dessen Betriebsmittel.

Unter Unix wird ein neuer Prozess mittels des Systemaufrufs fork (Gabelung) erzeugt. Dabei wird ein zweiter identischer Prozess gestartet, während der erzeugende Prozess (auch Elternprozess genannt) weiterläuft. Alle Daten des ersten Prozesses, beispielsweise auch geöffnete Dateien, werden für den zweiten Prozess kopiert und stehen für diesen nun getrennt zur Verfügung. Jeder Prozess hat seinen eigenen Speicher. Der zweite Prozess ist ein vollwertiger Prozess ohne Einschränkung. Beide Prozesse können dann eigenständig weiterlaufen.

Der Aufruf von fork() überschreibt den Rückgabewert des Parent-Prozesses mit der PID des Child-Prozesses, während der ChildProzess den Rückgabewert 0 erhält.

Unter Windows heißen Prozesse Tasks. In neuen Windows-Versionen ist es üblich, mit mehreren Aktivitätsträgern (Threads) zu arbeiten. Der sogenannte „Task-Manager“ (seit Windows 2000) zeigt bei entsprechender Aktivierung der Anzeigespalte die Anzahl der zugehörigen Aktivitätsträger zu jedem Prozess.

Die Art der Prozesserzeugung hängt nun davon ab, in welchem Subsystem von Windows der Prozess erzeugt wird. Wird ein Prozess aus einem Unix-Executable erzeugt, wird das Posix-Subsystem (Posix.exe) gestartet und ein Prozess mit Hilfe von fork.exe erzeugt.

Es läuft immer genau ein Thread im Windows-Subsystem, alle anderen Subsysteme müssen „manuell“ gestartet werden um Ressourcen zu sparen.

Ein Prozess wird automatisch beendet, wenn sein letzter Thread beendet ist.

Prozesse können auf verschiedene Weise beendet werden. Wird ein Programm erfolgreich aufgerufen, so werden dessen Instruktionen nacheinander abgearbeitet.

Am Ende, nachdem alle Anweisungen ausgeführt wurden, wird das Programm normalerweise durch einen exit() Aufruf terminiert.

Der Benutzer kann einen Prozess vorzeitig durch einen Befehl beenden. In Linux geschieht dies durch den kill Befehl. Des weiteren kann ein Prozess auch beendet werden, falls seine Zeitscheibe abgelaufen ist.

Das Betriebssystem kann ebenfalls einen Prozess vorzeitig beenden, wenn zum Beispiel kein freier Speicher mehr verfügbar ist, oder wenn ein unerwarteter Fehler in der Hardware oder im Betriebssystem aufgetaucht ist.

Zum Seitenanfang



Source : Wikipedia